mirror of
				https://gitlab.com/libvirt/libvirt.git
				synced 2025-11-04 12:24:23 +03:00 
			
		
		
		
	Compare commits
	
		
			11 Commits
		
	
	
		
			v8.0.0
			...
			v4.7-maint
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					f5ace9c05d | ||
| 
						 | 
					5441f05a42 | ||
| 
						 | 
					6da721ea37 | ||
| 
						 | 
					3352c8af26 | ||
| 
						 | 
					030fdf5725 | ||
| 
						 | 
					54005b84b0 | ||
| 
						 | 
					dfd22fc50f | ||
| 
						 | 
					c811c618c1 | ||
| 
						 | 
					b15a3c9f9b | ||
| 
						 | 
					d606ac1130 | ||
| 
						 | 
					33998cdd47 | 
@@ -1,5 +1,7 @@
 | 
			
		||||
-I@abs_top_builddir@
 | 
			
		||||
-I@abs_top_srcdir@
 | 
			
		||||
-I@abs_top_builddir@/gnulib/lib
 | 
			
		||||
-I@abs_top_srcdir@/gnulib/lib
 | 
			
		||||
-I@abs_top_builddir@/include
 | 
			
		||||
-I@abs_top_srcdir@/include
 | 
			
		||||
-I@abs_top_builddir@/src
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								.ctags
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								.ctags
									
									
									
									
									
								
							@@ -3,4 +3,3 @@
 | 
			
		||||
--exclude=*.html
 | 
			
		||||
--exclude=*.html.in
 | 
			
		||||
--langmap=c:+.h.in
 | 
			
		||||
--c-kinds=+p
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
../.ctags
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
# EditorConfig is a file format and collection of text editor plugins
 | 
			
		||||
# for maintaining consistent coding styles between different editors
 | 
			
		||||
# and IDEs. Most popular editors support this either natively or via
 | 
			
		||||
# plugin.
 | 
			
		||||
#
 | 
			
		||||
# Check https://editorconfig.org for details.
 | 
			
		||||
 | 
			
		||||
root = true
 | 
			
		||||
 | 
			
		||||
[*]
 | 
			
		||||
end_of_line = lf
 | 
			
		||||
insert_final_newline = true
 | 
			
		||||
charset = utf-8
 | 
			
		||||
 | 
			
		||||
[*.c]
 | 
			
		||||
indent_style = space
 | 
			
		||||
indent_size = 4
 | 
			
		||||
 | 
			
		||||
[*.{rng,xml}]
 | 
			
		||||
indent_style = space
 | 
			
		||||
indent_size = 2
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/lockdown.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										52
									
								
								.github/workflows/lockdown.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,52 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
# Configuration for Repo Lockdown - https://github.com/dessant/repo-lockdown
 | 
			
		||||
 | 
			
		||||
name: 'Repo Lockdown'
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  issues:
 | 
			
		||||
    types: opened
 | 
			
		||||
  pull_request_target:
 | 
			
		||||
    types: opened
 | 
			
		||||
 | 
			
		||||
permissions:
 | 
			
		||||
  pull-requests: write
 | 
			
		||||
  issues: write
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  action:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: dessant/repo-lockdown@v2
 | 
			
		||||
        with:
 | 
			
		||||
          issue-comment: |
 | 
			
		||||
            Thank you for your interest in the libvirt project.
 | 
			
		||||
 | 
			
		||||
            Since this repository is a read-only mirror of the project's master
 | 
			
		||||
            repostory hosted on GitLab, issues opened here are not processed.
 | 
			
		||||
 | 
			
		||||
            We kindly request that new issues are reported to
 | 
			
		||||
 | 
			
		||||
              https://gitlab.com/libvirt/libvirt/-/issues/new
 | 
			
		||||
 | 
			
		||||
            Thank you for your time and understanding.
 | 
			
		||||
          lock-issue: true
 | 
			
		||||
          close-issue: true
 | 
			
		||||
          pr-comment: |
 | 
			
		||||
            Thank you for your interest in the libvirt project.
 | 
			
		||||
 | 
			
		||||
            Since this repository is a read-only mirror of the project's master
 | 
			
		||||
            repostory hosted on GitLab, merge requests opened here are not
 | 
			
		||||
            processed.
 | 
			
		||||
 | 
			
		||||
            We kindly request that contributors fork the project at
 | 
			
		||||
 | 
			
		||||
              https://gitlab.com/libvirt/libvirt/
 | 
			
		||||
 | 
			
		||||
            push changes to the fork, and then open a new merge request at
 | 
			
		||||
 | 
			
		||||
              https://gitlab.com/libvirt/libvirt/-/merge_requests/new
 | 
			
		||||
 | 
			
		||||
            Thank you for your time and understanding.
 | 
			
		||||
          lock-pr: true
 | 
			
		||||
          close-pr: true
 | 
			
		||||
							
								
								
									
										229
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										229
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,26 +1,215 @@
 | 
			
		||||
# vim related ignores
 | 
			
		||||
*.swp
 | 
			
		||||
.lvimrc
 | 
			
		||||
 | 
			
		||||
# emacs related ignores
 | 
			
		||||
*#*#
 | 
			
		||||
*.#*#
 | 
			
		||||
.#*
 | 
			
		||||
*~
 | 
			
		||||
 | 
			
		||||
# git related ignores
 | 
			
		||||
*.rej
 | 
			
		||||
*.[187]
 | 
			
		||||
*.[187].in
 | 
			
		||||
*.a
 | 
			
		||||
*.cov
 | 
			
		||||
*.exe
 | 
			
		||||
*.exe.manifest
 | 
			
		||||
*.gcda
 | 
			
		||||
*.gcno
 | 
			
		||||
*.gcov
 | 
			
		||||
*.html
 | 
			
		||||
*.i
 | 
			
		||||
*.init
 | 
			
		||||
*.la
 | 
			
		||||
*.lo
 | 
			
		||||
*.loT
 | 
			
		||||
*.o
 | 
			
		||||
*.orig
 | 
			
		||||
*.pem
 | 
			
		||||
*.pyc
 | 
			
		||||
*.rej
 | 
			
		||||
*.s
 | 
			
		||||
*.service
 | 
			
		||||
*.socket
 | 
			
		||||
*.swp
 | 
			
		||||
*~
 | 
			
		||||
.#*
 | 
			
		||||
.color_coded
 | 
			
		||||
.deps
 | 
			
		||||
.dirstamp
 | 
			
		||||
.gdb_history
 | 
			
		||||
.git
 | 
			
		||||
.git-module-status
 | 
			
		||||
 | 
			
		||||
# python related ignores
 | 
			
		||||
__pycache__/
 | 
			
		||||
 | 
			
		||||
# libvirt related ignores
 | 
			
		||||
.libs
 | 
			
		||||
.lvimrc
 | 
			
		||||
.memdump
 | 
			
		||||
.sc-start-sc_*
 | 
			
		||||
.ycm_extra_conf.py
 | 
			
		||||
/AUTHORS
 | 
			
		||||
/ChangeLog
 | 
			
		||||
/GNUmakefile
 | 
			
		||||
/INSTALL
 | 
			
		||||
/NEWS
 | 
			
		||||
/aclocal.m4
 | 
			
		||||
/autom4te.cache
 | 
			
		||||
/build-aux/*
 | 
			
		||||
/build/
 | 
			
		||||
/ci/scratch/
 | 
			
		||||
/confdefs.h
 | 
			
		||||
/config.cache
 | 
			
		||||
/config.guess
 | 
			
		||||
/config.h
 | 
			
		||||
/config.h.in
 | 
			
		||||
/config.log
 | 
			
		||||
/config.rpath
 | 
			
		||||
/config.status
 | 
			
		||||
/config.sub
 | 
			
		||||
/configure
 | 
			
		||||
/configure.lineno
 | 
			
		||||
/conftest.*
 | 
			
		||||
/docs/aclperms.htmlinc
 | 
			
		||||
/docs/apibuild.py.stamp
 | 
			
		||||
/docs/devhelp/libvirt.devhelp
 | 
			
		||||
/docs/hvsupport.html.in
 | 
			
		||||
/docs/libvirt-admin-*.xml
 | 
			
		||||
/docs/libvirt-api.xml
 | 
			
		||||
/docs/libvirt-lxc-*.xml
 | 
			
		||||
/docs/libvirt-qemu-*.xml
 | 
			
		||||
/docs/libvirt-refs.xml
 | 
			
		||||
/docs/news.html.in
 | 
			
		||||
/docs/search.php
 | 
			
		||||
/docs/todo.html.in
 | 
			
		||||
/examples/admin/client_close
 | 
			
		||||
/examples/admin/client_info
 | 
			
		||||
/examples/admin/client_limits
 | 
			
		||||
/examples/admin/list_clients
 | 
			
		||||
/examples/admin/list_servers
 | 
			
		||||
/examples/admin/logging
 | 
			
		||||
/examples/admin/threadpool_params
 | 
			
		||||
/examples/object-events/event-test
 | 
			
		||||
/examples/dominfo/info1
 | 
			
		||||
/examples/domsuspend/suspend
 | 
			
		||||
/examples/dommigrate/dommigrate
 | 
			
		||||
/examples/domtop/domtop
 | 
			
		||||
/examples/hellolibvirt/hellolibvirt
 | 
			
		||||
/examples/openauth/openauth
 | 
			
		||||
/examples/rename/rename
 | 
			
		||||
/gnulib/lib/*
 | 
			
		||||
/gnulib/m4/*
 | 
			
		||||
/gnulib/tests/*
 | 
			
		||||
/include/libvirt/libvirt-common.h
 | 
			
		||||
/libtool
 | 
			
		||||
/libvirt-*.tar.xz
 | 
			
		||||
/libvirt-[0-9]*
 | 
			
		||||
/libvirt*.pc
 | 
			
		||||
/libvirt.spec
 | 
			
		||||
/ltconfig
 | 
			
		||||
/ltmain.sh
 | 
			
		||||
/m4/*
 | 
			
		||||
/maint.mk
 | 
			
		||||
/mingw-libvirt.spec
 | 
			
		||||
/mkinstalldirs
 | 
			
		||||
/po/*gmo
 | 
			
		||||
/po/*po
 | 
			
		||||
!/po/*.mini.po
 | 
			
		||||
/po/*pot
 | 
			
		||||
/proxy/
 | 
			
		||||
/python/
 | 
			
		||||
/run
 | 
			
		||||
/sc_*
 | 
			
		||||
/src/.*.stamp
 | 
			
		||||
/src/*.pc
 | 
			
		||||
/src/access/org.libvirt.api.policy
 | 
			
		||||
/src/access/viraccessapicheck.c
 | 
			
		||||
/src/access/viraccessapicheck.h
 | 
			
		||||
/src/access/viraccessapichecklxc.c
 | 
			
		||||
/src/access/viraccessapichecklxc.h
 | 
			
		||||
/src/access/viraccessapicheckqemu.c
 | 
			
		||||
/src/access/viraccessapicheckqemu.h
 | 
			
		||||
/src/admin/admin_client.h
 | 
			
		||||
/src/admin/admin_protocol.[ch]
 | 
			
		||||
/src/admin/admin_server_dispatch_stubs.h
 | 
			
		||||
/src/esx/*.generated.*
 | 
			
		||||
/src/hyperv/*.generated.*
 | 
			
		||||
/src/libvirt*.def
 | 
			
		||||
/src/libvirt.syms
 | 
			
		||||
/src/libvirt_access.syms
 | 
			
		||||
/src/libvirt_access.xml
 | 
			
		||||
/src/libvirt_access_lxc.syms
 | 
			
		||||
/src/libvirt_access_lxc.xml
 | 
			
		||||
/src/libvirt_access_qemu.syms
 | 
			
		||||
/src/libvirt_access_qemu.xml
 | 
			
		||||
/src/libvirt_admin.syms
 | 
			
		||||
/src/libvirt_*.stp
 | 
			
		||||
/src/libvirt_*helper
 | 
			
		||||
/src/libvirt_*probes.h
 | 
			
		||||
/src/libvirt_lxc
 | 
			
		||||
/src/libvirtd
 | 
			
		||||
/src/libvirtd*.logrotate
 | 
			
		||||
/src/locking/libxl-lockd.conf
 | 
			
		||||
/src/locking/libxl-sanlock.conf
 | 
			
		||||
/src/locking/lock_daemon_dispatch_stubs.h
 | 
			
		||||
/src/locking/lock_protocol.[ch]
 | 
			
		||||
/src/locking/qemu-lockd.conf
 | 
			
		||||
/src/locking/qemu-sanlock.conf
 | 
			
		||||
/src/locking/test_libvirt_sanlock.aug
 | 
			
		||||
/src/logging/log_daemon_dispatch_stubs.h
 | 
			
		||||
/src/logging/log_protocol.[ch]
 | 
			
		||||
/src/lxc/lxc_controller_dispatch.h
 | 
			
		||||
/src/lxc/lxc_monitor_dispatch.h
 | 
			
		||||
/src/lxc/lxc_monitor_protocol.c
 | 
			
		||||
/src/lxc/lxc_monitor_protocol.h
 | 
			
		||||
/src/lxc/lxc_protocol.[ch]
 | 
			
		||||
/src/lxc/test_libvirtd_lxc.aug
 | 
			
		||||
/src/qemu/test_libvirtd_qemu.aug
 | 
			
		||||
/src/remote/*_client_bodies.h
 | 
			
		||||
/src/remote/*_protocol.[ch]
 | 
			
		||||
/src/remote/*_stubs.h
 | 
			
		||||
/src/rpc/virkeepaliveprotocol.[ch]
 | 
			
		||||
/src/rpc/virnetprotocol.[ch]
 | 
			
		||||
/src/test_libvirt*.aug
 | 
			
		||||
/src/test_virtlockd.aug
 | 
			
		||||
/src/test_virtlogd.aug
 | 
			
		||||
/src/util/virkeycodetable*.h
 | 
			
		||||
/src/util/virkeynametable*.h
 | 
			
		||||
/src/virt-aa-helper
 | 
			
		||||
/src/virtlockd
 | 
			
		||||
/src/virtlogd
 | 
			
		||||
/src/virt-guest-shutdown.target
 | 
			
		||||
/tests/*.log
 | 
			
		||||
/tests/*.pid
 | 
			
		||||
/tests/*.trs
 | 
			
		||||
/tests/*test
 | 
			
		||||
/tests/commandhelper
 | 
			
		||||
/tests/qemucapsprobe
 | 
			
		||||
!/tests/virsh-self-test
 | 
			
		||||
!/tests/virt-aa-helper-test
 | 
			
		||||
!/tests/virt-admin-self-test
 | 
			
		||||
/tests/objectlocking
 | 
			
		||||
/tests/objectlocking-files.txt
 | 
			
		||||
/tests/objectlocking.cm[ix]
 | 
			
		||||
/tests/reconnect
 | 
			
		||||
/tests/ssh
 | 
			
		||||
/tests/test_file_access.txt
 | 
			
		||||
/tests/test_conf
 | 
			
		||||
/tools/libvirt-guests.sh
 | 
			
		||||
/tools/virt-login-shell
 | 
			
		||||
/tools/virsh
 | 
			
		||||
/tools/virsh-*-edit.c
 | 
			
		||||
/tools/virt-admin
 | 
			
		||||
/tools/virt-*-validate
 | 
			
		||||
/tools/virt-sanlock-cleanup
 | 
			
		||||
/tools/wireshark/src/plugin.c
 | 
			
		||||
/tools/wireshark/src/libvirt
 | 
			
		||||
/update.log
 | 
			
		||||
GPATH
 | 
			
		||||
GRTAGS
 | 
			
		||||
GTAGS
 | 
			
		||||
Makefile
 | 
			
		||||
Makefile.in
 | 
			
		||||
TAGS
 | 
			
		||||
coverage
 | 
			
		||||
cscope.files
 | 
			
		||||
cscope.in.out
 | 
			
		||||
cscope.out
 | 
			
		||||
cscope.po.out
 | 
			
		||||
results.log
 | 
			
		||||
stamp-h
 | 
			
		||||
stamp-h.in
 | 
			
		||||
stamp-h1
 | 
			
		||||
tags
 | 
			
		||||
 | 
			
		||||
# clangd related ignores
 | 
			
		||||
.clangd
 | 
			
		||||
compile_commands.json
 | 
			
		||||
!/build-aux/*.pl
 | 
			
		||||
!/gnulib/lib/Makefile.am
 | 
			
		||||
!/gnulib/tests/Makefile.am
 | 
			
		||||
!/m4/virt-*.m4
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										129
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							@@ -1,129 +0,0 @@
 | 
			
		||||
variables:
 | 
			
		||||
  GIT_DEPTH: 100
 | 
			
		||||
 | 
			
		||||
stages:
 | 
			
		||||
  - containers
 | 
			
		||||
  - builds
 | 
			
		||||
  - sanity_checks
 | 
			
		||||
 | 
			
		||||
.script_variables: &script_variables |
 | 
			
		||||
  export CCACHE_BASEDIR="$(pwd)"
 | 
			
		||||
  export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
 | 
			
		||||
  export CCACHE_MAXSIZE="500M"
 | 
			
		||||
  export PATH="$CCACHE_WRAPPERSDIR:$PATH"
 | 
			
		||||
  export VIR_TEST_VERBOSE="1"
 | 
			
		||||
  export VIR_TEST_DEBUG="1"
 | 
			
		||||
 | 
			
		||||
include: '/ci/gitlab.yml'
 | 
			
		||||
 | 
			
		||||
.native_build_job:
 | 
			
		||||
  extends: .gitlab_native_build_job
 | 
			
		||||
  cache:
 | 
			
		||||
    paths:
 | 
			
		||||
      - ccache/
 | 
			
		||||
    key: "$CI_JOB_NAME"
 | 
			
		||||
  before_script:
 | 
			
		||||
    - *script_variables
 | 
			
		||||
    - cat /packages.txt
 | 
			
		||||
  script:
 | 
			
		||||
    - meson setup build --werror $MESON_ARGS || (cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
    - meson dist -C build --no-tests
 | 
			
		||||
    - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip";
 | 
			
		||||
      then
 | 
			
		||||
        rpmbuild --nodeps -ta build/meson-dist/libvirt-*.tar.xz;
 | 
			
		||||
      else
 | 
			
		||||
        meson compile -C build;
 | 
			
		||||
        meson test -C build --no-suite syntax-check --print-errorlogs;
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
.cross_build_job:
 | 
			
		||||
  extends: .gitlab_cross_build_job
 | 
			
		||||
  cache:
 | 
			
		||||
    paths:
 | 
			
		||||
      - ccache/
 | 
			
		||||
    key: "$CI_JOB_NAME"
 | 
			
		||||
  before_script:
 | 
			
		||||
    - *script_variables
 | 
			
		||||
    - cat /packages.txt
 | 
			
		||||
  script:
 | 
			
		||||
    - meson setup build --werror $MESON_OPTS || (cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
    - meson compile -C build
 | 
			
		||||
    - if test "$CROSS" = "i686" ; then meson test -C build --no-suite syntax-check --print-errorlogs ; fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# This artifact published by this job is downloaded by libvirt.org to
 | 
			
		||||
# be deployed to the web root:
 | 
			
		||||
#    https://gitlab.com/libvirt/libvirt/-/jobs/artifacts/master/download?job=website
 | 
			
		||||
website:
 | 
			
		||||
  stage: builds
 | 
			
		||||
  image: $CI_REGISTRY_IMAGE/ci-centos-8:latest
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-centos-8-container
 | 
			
		||||
  before_script:
 | 
			
		||||
    - *script_variables
 | 
			
		||||
  script:
 | 
			
		||||
    - meson setup build --werror --prefix=$(pwd)/vroot || (cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
    - ninja -C build install-web
 | 
			
		||||
    - mv vroot/share/doc/libvirt/html/ website
 | 
			
		||||
  artifacts:
 | 
			
		||||
    expose_as: 'Website'
 | 
			
		||||
    name: 'website'
 | 
			
		||||
    when: on_success
 | 
			
		||||
    expire_in: 30 days
 | 
			
		||||
    paths:
 | 
			
		||||
      - website
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
codestyle:
 | 
			
		||||
  stage: sanity_checks
 | 
			
		||||
  image: $CI_REGISTRY_IMAGE/ci-opensuse-leap-152:latest
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-opensuse-leap-152-container
 | 
			
		||||
  before_script:
 | 
			
		||||
    - *script_variables
 | 
			
		||||
  script:
 | 
			
		||||
    - meson setup build --werror || (cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
    - ninja -C build libvirt-pot-dep
 | 
			
		||||
    - meson test -C build --suite syntax-check --no-rebuild --print-errorlogs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# This artifact published by this job is downloaded to push to Weblate
 | 
			
		||||
# for translation usage:
 | 
			
		||||
#    https://gitlab.com/libvirt/libvirt/-/jobs/artifacts/master/download?job=potfile
 | 
			
		||||
potfile:
 | 
			
		||||
  stage: builds
 | 
			
		||||
  image: $CI_REGISTRY_IMAGE/ci-centos-8:latest
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-centos-8-container
 | 
			
		||||
  rules:
 | 
			
		||||
    - if: "$CI_COMMIT_BRANCH == 'master'"
 | 
			
		||||
  before_script:
 | 
			
		||||
    - *script_variables
 | 
			
		||||
  script:
 | 
			
		||||
    - meson setup build --werror || (cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
    - ninja -C build libvirt-pot-dep
 | 
			
		||||
    - ninja -C build libvirt-pot
 | 
			
		||||
    - cp po/libvirt.pot libvirt.pot
 | 
			
		||||
  artifacts:
 | 
			
		||||
    expose_as: 'Potfile'
 | 
			
		||||
    name: 'potfile'
 | 
			
		||||
    when: on_success
 | 
			
		||||
    expire_in: 30 days
 | 
			
		||||
    paths:
 | 
			
		||||
      - libvirt.pot
 | 
			
		||||
 | 
			
		||||
# Coverity job that is run only by schedules
 | 
			
		||||
coverity:
 | 
			
		||||
  image: $CI_REGISTRY_IMAGE/ci-centos-8:latest
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-centos-8-container
 | 
			
		||||
  stage: builds
 | 
			
		||||
  script:
 | 
			
		||||
    - curl https://scan.coverity.com/download/linux64 --form project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN -o /tmp/cov-analysis-linux64.tgz
 | 
			
		||||
    - tar xfz /tmp/cov-analysis-linux64.tgz
 | 
			
		||||
    - meson setup build --werror || (cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
    - cov-analysis-linux64-*/bin/cov-build --dir cov-int meson compile -C build
 | 
			
		||||
    - tar cfz cov-int.tar.gz cov-int
 | 
			
		||||
    - curl https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME --form token=$COVERITY_SCAN_TOKEN --form email=$GITLAB_USER_EMAIL --form file=@cov-int.tar.gz --form version="$(git describe --tags)" --form description="$(git describe --tags) / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID"
 | 
			
		||||
  rules:
 | 
			
		||||
    - if: "$CI_PIPELINE_SOURCE == 'schedule' && $COVERITY_SCAN_PROJECT_NAME && $COVERITY_SCAN_TOKEN"
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
<!-- See https://libvirt.org/bugs.html#quality for guidance -->
 | 
			
		||||
 | 
			
		||||
## Software environment
 | 
			
		||||
 - Operating system:
 | 
			
		||||
 - Architecture:
 | 
			
		||||
 - kernel version:
 | 
			
		||||
 - libvirt version:
 | 
			
		||||
 - Hypervisor and version:
 | 
			
		||||
 | 
			
		||||
## Description of problem
 | 
			
		||||
 | 
			
		||||
## Steps to reproduce
 | 
			
		||||
1.
 | 
			
		||||
2.
 | 
			
		||||
3.
 | 
			
		||||
 | 
			
		||||
## Additional information
 | 
			
		||||
<!-- Attach XML configs, logs, stack traces, etc. Compress the files if necessary -->
 | 
			
		||||
<!-- See https://libvirt.org/kbase/debuglogs.html on how to configure logging -->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!-- The line below ensures that proper tags are added to the issue. -- >
 | 
			
		||||
/label ~bug
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
This is the upstream libvirt issue tracker.
 | 
			
		||||
 | 
			
		||||
Please note that libvirt, like most open source projects, relies on
 | 
			
		||||
contributors who have motivation, skills and available time to work on
 | 
			
		||||
implementing particular features.
 | 
			
		||||
 | 
			
		||||
Feature requests can be helpful for determining demand and interest, but
 | 
			
		||||
they are not a guarantee that a contributor will volunteer to implement
 | 
			
		||||
it. We welcome and encourage even draft patches to implement a feature
 | 
			
		||||
be sent to the mailing list where it can be discussed and developed
 | 
			
		||||
further by the community.
 | 
			
		||||
 | 
			
		||||
Thank you for your interest in helping us to make libvirt better!
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
## Goal
 | 
			
		||||
<!-- Describe the final result you want to achieve. Avoid design specifics. -->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Technical details
 | 
			
		||||
<!-- Describe technical details, design specifics, suggestions, versions, etc. -->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Additional information
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!-- The line below ensures that proper tags are added to the issue. -- >
 | 
			
		||||
/label ~enhancement
 | 
			
		||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,6 @@
 | 
			
		||||
[submodule "gnulib"]
 | 
			
		||||
	path = .gnulib
 | 
			
		||||
	url = https://git.savannah.gnu.org/git/gnulib.git/
 | 
			
		||||
[submodule "keycodemapdb"]
 | 
			
		||||
	path = src/keycodemapdb
 | 
			
		||||
	url = https://gitlab.com/keycodemap/keycodemapdb.git
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
[gitpublishprofile "default"]
 | 
			
		||||
base = master
 | 
			
		||||
to = libvir-list@redhat.com
 | 
			
		||||
prefix = libvirt PATCH
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								.gnulib
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								.gnulib
									
									
									
									
									
										Submodule
									
								
							 Submodule .gnulib added at 68df637b5f
									
								
							
							
								
								
									
										5
									
								
								.mailmap
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								.mailmap
									
									
									
									
									
								
							@@ -43,11 +43,6 @@
 | 
			
		||||
<nshirokovskiy@virtuozzo.com> <nshirokovskiy@parallels.com>
 | 
			
		||||
<jyang@redhat.com> <osier@yunify.com>
 | 
			
		||||
<kkoukiou@redhat.com> <k.koukiou@googlemail.com>
 | 
			
		||||
<intrigeri@boum.org> <intrigeri+libvirt@boum.org>
 | 
			
		||||
<fidencio@redhat.com> <fabiano@fidencio.org>
 | 
			
		||||
<shi_lei@massclouds.com> <shilei.massclouds@gmx.com>
 | 
			
		||||
<adrian.brzezinski@eo.pl> <redhat@adrb.pl>
 | 
			
		||||
<matt@datto.com> <mcoleman@datto.com>
 | 
			
		||||
 | 
			
		||||
# Name consolidation:
 | 
			
		||||
# Preferred author spelling <preferred email>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										111
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,111 @@
 | 
			
		||||
sudo: required
 | 
			
		||||
language: generic
 | 
			
		||||
 | 
			
		||||
branches:
 | 
			
		||||
  except:
 | 
			
		||||
    - /^.*-maint$/
 | 
			
		||||
 | 
			
		||||
matrix:
 | 
			
		||||
  include:
 | 
			
		||||
    - services:
 | 
			
		||||
        - docker
 | 
			
		||||
      env:
 | 
			
		||||
        - IMAGE="ubuntu-18"
 | 
			
		||||
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=systemd"
 | 
			
		||||
        - DOCKER_CMD="$LINUX_CMD"
 | 
			
		||||
    - services:
 | 
			
		||||
        - docker
 | 
			
		||||
      env:
 | 
			
		||||
        - IMAGE="centos-7"
 | 
			
		||||
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=upstart"
 | 
			
		||||
        - DOCKER_CMD="$LINUX_CMD"
 | 
			
		||||
    - services:
 | 
			
		||||
        - docker
 | 
			
		||||
      env:
 | 
			
		||||
        - IMAGE="fedora-rawhide"
 | 
			
		||||
        - MINGW="mingw32"
 | 
			
		||||
        - DOCKER_CMD="$MINGW_CMD"
 | 
			
		||||
    - services:
 | 
			
		||||
        - docker
 | 
			
		||||
      env:
 | 
			
		||||
        - IMAGE="fedora-rawhide"
 | 
			
		||||
        - MINGW="mingw64"
 | 
			
		||||
        - DOCKER_CMD="$MINGW_CMD"
 | 
			
		||||
    - compiler: clang
 | 
			
		||||
      language: c
 | 
			
		||||
      os: osx
 | 
			
		||||
      env:
 | 
			
		||||
        - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH"
 | 
			
		||||
      script:
 | 
			
		||||
        /bin/sh -xc "$MACOS_CMD"
 | 
			
		||||
 | 
			
		||||
script:
 | 
			
		||||
  - docker run
 | 
			
		||||
      -v $(pwd):/build
 | 
			
		||||
      -w /build
 | 
			
		||||
      -e VIR_TEST_DEBUG="$VIR_TEST_DEBUG"
 | 
			
		||||
      -e MINGW="$MINGW"
 | 
			
		||||
      -e DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS"
 | 
			
		||||
      "libvirt/buildenv-$IMAGE"
 | 
			
		||||
      /bin/sh -xc "$DOCKER_CMD"
 | 
			
		||||
 | 
			
		||||
git:
 | 
			
		||||
  submodules: true
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  global:
 | 
			
		||||
    - VIR_TEST_DEBUG=1
 | 
			
		||||
    - LINUX_CMD="
 | 
			
		||||
        ./autogen.sh &&
 | 
			
		||||
        make -j3 syntax-check &&
 | 
			
		||||
        make -j3 distcheck DISTCHECK_CONFIGURE_FLAGS=\"\$DISTCHECK_CONFIGURE_FLAGS\" ||
 | 
			
		||||
        (
 | 
			
		||||
          echo '=== LOG FILE(S) START ===';
 | 
			
		||||
          find -name test-suite.log | xargs cat;
 | 
			
		||||
          echo '=== LOG FILE(S) END ===';
 | 
			
		||||
          exit 1
 | 
			
		||||
        )
 | 
			
		||||
      "
 | 
			
		||||
    - MINGW_CMD="
 | 
			
		||||
        NOCONFIGURE=1 ./autogen.sh &&
 | 
			
		||||
        \$MINGW-configure &&
 | 
			
		||||
        make -j3 ||
 | 
			
		||||
        (
 | 
			
		||||
          echo '=== LOG FILE(S) START ===';
 | 
			
		||||
          find -name test-suite.log | xargs cat;
 | 
			
		||||
          echo '=== LOG FILE(S) END ===';
 | 
			
		||||
          exit 1
 | 
			
		||||
        )
 | 
			
		||||
      "
 | 
			
		||||
    # We can't run 'distcheck' or 'syntax-check' because they fail on
 | 
			
		||||
    # macOS, but doing 'install' and 'dist' gives us some useful coverage
 | 
			
		||||
    - MACOS_CMD="
 | 
			
		||||
        brew update &&
 | 
			
		||||
        brew install ccache rpcgen xz yajl &&
 | 
			
		||||
        ./autogen.sh --prefix=\$(pwd)/install-root &&
 | 
			
		||||
        make -j3 &&
 | 
			
		||||
        make -j3 install &&
 | 
			
		||||
        make -j3 dist ||
 | 
			
		||||
        (
 | 
			
		||||
          echo '=== LOG FILE(S) START ===';
 | 
			
		||||
          find -name test-suite.log | xargs cat;
 | 
			
		||||
          echo '=== LOG FILE(S) END ===';
 | 
			
		||||
          exit 1
 | 
			
		||||
        )
 | 
			
		||||
      "
 | 
			
		||||
 | 
			
		||||
notifications:
 | 
			
		||||
  irc:
 | 
			
		||||
    # The channel name "irc.oftc.net#virt" is encrypted against libvirt/libvirt
 | 
			
		||||
    # to prevent IRC notifications from github forks. This was created using:
 | 
			
		||||
    # $ travis encrypt -r "libvirt/libvirt" "irc.oftc.net#virt"
 | 
			
		||||
    channels:
 | 
			
		||||
      - secure: "hUPdkLxX7nh75+clpnk4U0XLExLfV9DFKSvQSAUtf5JtDNMslj7AeOCf2wcbkNsEhkiF557odTAnov1s5m1w/yaa56zbjFAh5agzqRKya3QjqsrvlBKw/WuN+l82iMNLLeebTgCPAXrbAbGWH8YmYssp/7+eMsnKaVh84EQQNbMCHlLg6ovE26Fs18mZ6J5RC3OPa1vbv+xkdCHvGg/Oyp4K8bpU7RYyimA56jdxI/OfdTH9HxntHYSzykR7hDbyzZhdIlAUyRKReQVjcV5+R8fdDL/1imyGA/88KTztMeKXpZ5Rf+Ss3vYLZb6qsLLegCZ4AU/q0vvbWxjpZGJZoeyrVpfBTZdYGIzmLTMl9GYXXa/gDwFlbvRDiPDG4TIy6GlMUROinj7KRKEHu1fWRYu012ife5OjidxcwrTnz21vYaCv3AKWPpMPxwIzQPkY1hex9uLLX6z+TrAxxDLF+7UzRT9w2RLFBkLYlj2aDVrLAVb/ynRsxDz5CGzC61FSQVft2e308SkGjdn8YxvguCuXv+N70Fu1cvFyh5XYeHb4fbBRo0Ctzaec78leHlQvRGWKJxXDXRkE2lvvBc7YbBNSAYh7Fs8Y+zY7l7rMxvXdrt3nuaNQhe74V3yhxPDAld66qmAn9TYMmaZW2f5/KKKILLbCa0t2MxiAc6L2OI8="
 | 
			
		||||
    on_success: change
 | 
			
		||||
    on_failure: always
 | 
			
		||||
  email:
 | 
			
		||||
    # The list name 'libvirt-ci@redhat.com" is encrypted against libvirt/libvirt
 | 
			
		||||
    # to prevent IRC notifications from github forks. This was created using:
 | 
			
		||||
    # $ travis encrypt -r "libvirt/libvirt" "libvirt-ci@redhat.com"
 | 
			
		||||
    recipients:
 | 
			
		||||
      - secure: "QcU9eP96P0RlDNzVRZl/4sxyydPStGzECrpgJhr2IPB/7pHk23yaBrmUsq9S830tB+jwLGma1IscNB8uf7Sf7WY+cYIpfR8v030OffWnaipo/Gcs0dpnlfURWHjOFQI3RJzGEihsqvbwUFOwsM+3IDyO3qdWaiT6cN2Tj9ROlwYCySSX5YWzLyX7arBZ4lp8ESs7ohQaEwp2cegnMP2oGPJJe4SebvlCDjHZbjkU5aEradwUWnRQDJZWTKknpNLArVFxN2/ixp6f/MGY4DmkHoDweio6mHIPN5zTs5Jt32aiX6wDBa+bBa4v8TCRqzhYkQ63ZZhNV8bY5Uf9ufTdyvt96yIANyakd85b1QpMdAX76IyJi1l0/Uub6DTQZAcq3vK7iPjGeTVSpyoXrqTfGy4JxMjqDoocpWvv8ALX1wrYI/HfN2R2Aepw9jModTimOsebYhJ1yMhSt8qnh5AQNftGKL2JBKoA1LWdU2YJ5fO1bGjKNiVEkGFQTPYFWrYCUY5JcT+s5WCzNeMNm8s9na8liYhGl3WtS3rPr5M8bof+BMsBhG2hQ0loduc94x2GkvyhQZUgRbqrwNR+y4hn+rWFC3hBzzyiAULs43vY/PJ+eBdKEf3VAc0MkhQ8GgXGSA61fR6aXYonroI/WnBVItwDmUnnMfSziZXxk09GLl4="
 | 
			
		||||
@@ -1,6 +1,8 @@
 | 
			
		||||
flags = [
 | 
			
		||||
  '-I@abs_top_builddir@',
 | 
			
		||||
  '-I@abs_top_srcdir@',
 | 
			
		||||
  '-I@abs_top_builddir@/gnulib/lib',
 | 
			
		||||
  '-I@abs_top_srcdir@/gnulib/lib',
 | 
			
		||||
  '-I@abs_top_builddir@/include',
 | 
			
		||||
  '-I@abs_top_srcdir@/include',
 | 
			
		||||
  '-I@abs_top_builddir@/src',
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										101
									
								
								AUTHORS.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								AUTHORS.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
			
		||||
   libvirt Authors
 | 
			
		||||
   ===============
 | 
			
		||||
 | 
			
		||||
The libvirt project was initiated by:
 | 
			
		||||
 | 
			
		||||
Daniel Veillard <veillard@redhat.com> or <daniel@veillard.com>
 | 
			
		||||
 | 
			
		||||
The primary maintainers and people with commit access rights:
 | 
			
		||||
 | 
			
		||||
Alex Jia <ajia@redhat.com>
 | 
			
		||||
Andrea Bolognani <abologna@redhat.com>
 | 
			
		||||
Cédric Bosdonnat <cbosdonnat@suse.com>
 | 
			
		||||
Christian Ehrhardt <christian.ehrhardt@canonical.com>
 | 
			
		||||
Christophe Fergeau <cfergeau@redhat.com>
 | 
			
		||||
Claudio Bley <claudio.bley@gmail.com>
 | 
			
		||||
Cole Robinson <crobinso@redhat.com>
 | 
			
		||||
Daniel P. Berrangé <berrange@redhat.com>
 | 
			
		||||
Daniel Veillard <veillard@redhat.com>
 | 
			
		||||
Doug Goldstein <cardoe@gentoo.org>
 | 
			
		||||
Eric Blake <eblake@redhat.com>
 | 
			
		||||
Erik Skultety <eskultet@redhat.com>
 | 
			
		||||
Gao Feng <gaofeng@cn.fujitsu.com>
 | 
			
		||||
Guido Günther <agx@sigxcpu.org>
 | 
			
		||||
Ján Tomko <jtomko@redhat.com>
 | 
			
		||||
Jim Fehlig <jfehlig@suse.com>
 | 
			
		||||
Jiří Denemark <jdenemar@redhat.com>
 | 
			
		||||
John Ferlan <jferlan@redhat.com>
 | 
			
		||||
Katerina Koukiou <kkoukiou@redhat.com>
 | 
			
		||||
Laine Stump <laine@redhat.com>
 | 
			
		||||
Mark McLoughlin <markmc@redhat.com>
 | 
			
		||||
Martin Kletzander <mkletzan@redhat.com>
 | 
			
		||||
Matthias Bolte <matthias.bolte@googlemail.com>
 | 
			
		||||
Maxim Nestratov <mnestratov@virtuozzo.com>
 | 
			
		||||
Michal Prívozník <mprivozn@redhat.com>
 | 
			
		||||
Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
 | 
			
		||||
Pavel Hrdina <phrdina@redhat.com>
 | 
			
		||||
Peter Krempa <pkrempa@redhat.com>
 | 
			
		||||
Richard W.M. Jones <rjones@redhat.com>
 | 
			
		||||
Roman Bogorodskiy <bogorodskiy@gmail.com>
 | 
			
		||||
Stefan Berger <stefanb@us.ibm.com>
 | 
			
		||||
Wen Congyang <wency@cn.fujitsu.com>
 | 
			
		||||
 | 
			
		||||
Previous maintainers:
 | 
			
		||||
 | 
			
		||||
Anthony Liguori <aliguori@us.ibm.com>
 | 
			
		||||
Atsushi SAKAI <sakaia@jp.fujitsu.com>
 | 
			
		||||
Chris Lalancette <clalance@redhat.com>
 | 
			
		||||
Dan Smith <danms@us.ibm.com>
 | 
			
		||||
Dave Allan <dallan@redhat.com>
 | 
			
		||||
Dave Leskovec <dlesko@linux.vnet.ibm.com>
 | 
			
		||||
Dmitry Guryanov <dguryanov@parallels.com>
 | 
			
		||||
Guannan Ren <gren@redhat.com>
 | 
			
		||||
Jim Meyering <meyering@redhat.com>
 | 
			
		||||
John Levon <john.levon@sun.com>
 | 
			
		||||
Justin Clift <jclift@redhat.com>
 | 
			
		||||
Karel Zak <kzak@redhat.com>
 | 
			
		||||
Osier Yang <jyang@redhat.com>
 | 
			
		||||
 | 
			
		||||
Patches have also been contributed by:
 | 
			
		||||
 | 
			
		||||
Abel Míguez Rodríguez <amiguezr@pdi.ucm.es>
 | 
			
		||||
Amit Shah <amit.shah@redhat.com>
 | 
			
		||||
Andrew Puch <apuch@redhat.com>
 | 
			
		||||
Anton Protopopov <aspsk2@gmail.com>
 | 
			
		||||
Ben Guthro <ben.guthro@gmail.com>
 | 
			
		||||
Daniel Hokka Zakrisson <daniel@hozac.com>
 | 
			
		||||
Dan Wendlandt <dan@nicira.com>
 | 
			
		||||
David Lively <dlively@virtualiron.com>
 | 
			
		||||
David Lutterkort <dlutter@redhat.com>
 | 
			
		||||
Evgeniy Sokolov <evg@openvz.org>
 | 
			
		||||
Hugh Brock <hbrock@redhat.com>
 | 
			
		||||
Itamar Heim <iheim@redhat.com>
 | 
			
		||||
James Morris <jmorris@namei.org>
 | 
			
		||||
Javier Fontan <jfontan@gmail.com>
 | 
			
		||||
Jeremy Katz <katzj@redhat.com>
 | 
			
		||||
Kaitlin Rupert <kaitlin@linux.vnet.ibm.com>
 | 
			
		||||
Kazuki Mizushima <mizushima.kazuk@jp.fujitsu.com>
 | 
			
		||||
Mads Chr. Olesen <shiyee@shiyee.dk>
 | 
			
		||||
Mark Johnson <johnson.nh@gmail.com>
 | 
			
		||||
Markus Armbruster <armbru@redhat.com>
 | 
			
		||||
Masayuki Sunou <fj1826dm@aa.jp.fujitsu.com>
 | 
			
		||||
Matthias Witte <witte@netzquadrat.de>
 | 
			
		||||
Michel Ponceau <michel.ponceau@bull.net>
 | 
			
		||||
Nobuhiro Itou <fj0873gn@aa.jp.fujitsu.com>
 | 
			
		||||
Pete Vetere <pvetere@redhat.com>
 | 
			
		||||
Philippe Berthault <philippe.berthault@Bull.net>
 | 
			
		||||
Saori Fukuta <fukuta.saori@jp.fujitsu.com>
 | 
			
		||||
Shigeki Sakamoto <fj0588di@aa.jp.fujitsu.com>
 | 
			
		||||
Shuveb Hussain <shuveb@binarykarma.com>
 | 
			
		||||
Stefan de Konink <dekonink@kinkrsoftware.nl>
 | 
			
		||||
Takahashi Tomohiro <takatom@jp.fujitsu.com>
 | 
			
		||||
Tatsuro Enokura <fj7716hz@aa.jp.fujitsu.com>
 | 
			
		||||
 | 
			
		||||
#contributorslist#
 | 
			
		||||
 | 
			
		||||
The libvirt logo was designed by Diana Fong
 | 
			
		||||
 | 
			
		||||
-- End
 | 
			
		||||
;; Local Variables:
 | 
			
		||||
;; coding: utf-8
 | 
			
		||||
;; End:
 | 
			
		||||
							
								
								
									
										100
									
								
								AUTHORS.rst.in
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								AUTHORS.rst.in
									
									
									
									
									
								
							@@ -1,100 +0,0 @@
 | 
			
		||||
===============
 | 
			
		||||
libvirt Authors
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
The libvirt project was initiated by:
 | 
			
		||||
 | 
			
		||||
* Daniel Veillard <veillard@redhat.com> or <daniel@veillard.com>
 | 
			
		||||
 | 
			
		||||
The primary maintainers and people with commit access rights:
 | 
			
		||||
 | 
			
		||||
* Andrea Bolognani <abologna@redhat.com>
 | 
			
		||||
* Cédric Bosdonnat <cbosdonnat@suse.com>
 | 
			
		||||
* Christian Ehrhardt <christian.ehrhardt@canonical.com>
 | 
			
		||||
* Christophe Fergeau <cfergeau@redhat.com>
 | 
			
		||||
* Cole Robinson <crobinso@redhat.com>
 | 
			
		||||
* Daniel P. Berrangé <berrange@redhat.com>
 | 
			
		||||
* Daniel Veillard <veillard@redhat.com>
 | 
			
		||||
* Eric Blake <eblake@redhat.com>
 | 
			
		||||
* Erik Skultety <eskultet@redhat.com>
 | 
			
		||||
* Fabiano Fidêncio <fidencio@redhat.com>
 | 
			
		||||
* Guido Günther <agx@sigxcpu.org>
 | 
			
		||||
* Ján Tomko <jtomko@redhat.com>
 | 
			
		||||
* Jim Fehlig <jfehlig@suse.com>
 | 
			
		||||
* Jiří Denemark <jdenemar@redhat.com>
 | 
			
		||||
* Laine Stump <laine@redhat.com>
 | 
			
		||||
* Martin Kletzander <mkletzan@redhat.com>
 | 
			
		||||
* Michal Prívozník <mprivozn@redhat.com>
 | 
			
		||||
* Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
 | 
			
		||||
* Pavel Hrdina <phrdina@redhat.com>
 | 
			
		||||
* Peter Krempa <pkrempa@redhat.com>
 | 
			
		||||
* Pino Toscano <ptoscano@redhat.com>
 | 
			
		||||
* Richard W.M. Jones <rjones@redhat.com>
 | 
			
		||||
* Roman Bogorodskiy <bogorodskiy@gmail.com>
 | 
			
		||||
* Tim Wiederhake <twiederh@redhat.com>
 | 
			
		||||
 | 
			
		||||
Previous maintainers:
 | 
			
		||||
 | 
			
		||||
* Alex Jia <ajia@redhat.com>
 | 
			
		||||
* Anthony Liguori <aliguori@us.ibm.com>
 | 
			
		||||
* Atsushi SAKAI <sakaia@jp.fujitsu.com>
 | 
			
		||||
* Chris Lalancette <clalance@redhat.com>
 | 
			
		||||
* Claudio Bley <claudio.bley@gmail.com>
 | 
			
		||||
* Dan Smith <danms@us.ibm.com>
 | 
			
		||||
* Dave Allan <dallan@redhat.com>
 | 
			
		||||
* Dave Leskovec <dlesko@linux.vnet.ibm.com>
 | 
			
		||||
* Dmitry Guryanov <dguryanov@parallels.com>
 | 
			
		||||
* Doug Goldstein <cardoe@gentoo.org>
 | 
			
		||||
* Gao Feng <gaofeng@cn.fujitsu.com>
 | 
			
		||||
* Guannan Ren <gren@redhat.com>
 | 
			
		||||
* Jim Meyering <meyering@redhat.com>
 | 
			
		||||
* John Ferlan <jferlan@redhat.com>
 | 
			
		||||
* John Levon <john.levon@sun.com>
 | 
			
		||||
* Justin Clift <jclift@redhat.com>
 | 
			
		||||
* Karel Zak <kzak@redhat.com>
 | 
			
		||||
* Katerina Koukiou <kkoukiou@redhat.com>
 | 
			
		||||
* Mark McLoughlin <markmc@redhat.com>
 | 
			
		||||
* Matthias Bolte <matthias.bolte@googlemail.com>
 | 
			
		||||
* Maxim Nestratov <mnestratov@virtuozzo.com>
 | 
			
		||||
* Osier Yang <jyang@redhat.com>
 | 
			
		||||
* Stefan Berger <stefanb@us.ibm.com>
 | 
			
		||||
* Wen Congyang <wency@cn.fujitsu.com>
 | 
			
		||||
 | 
			
		||||
Patches have also been contributed by:
 | 
			
		||||
 | 
			
		||||
* Abel Míguez Rodríguez <amiguezr@pdi.ucm.es>
 | 
			
		||||
* Amit Shah <amit.shah@redhat.com>
 | 
			
		||||
* Andrew Puch <apuch@redhat.com>
 | 
			
		||||
* Anton Protopopov <aspsk2@gmail.com>
 | 
			
		||||
* Ben Guthro <ben.guthro@gmail.com>
 | 
			
		||||
* Daniel Hokka Zakrisson <daniel@hozac.com>
 | 
			
		||||
* Dan Wendlandt <dan@nicira.com>
 | 
			
		||||
* David Lively <dlively@virtualiron.com>
 | 
			
		||||
* David Lutterkort <dlutter@redhat.com>
 | 
			
		||||
* Evgeniy Sokolov <evg@openvz.org>
 | 
			
		||||
* Hugh Brock <hbrock@redhat.com>
 | 
			
		||||
* Itamar Heim <iheim@redhat.com>
 | 
			
		||||
* James Morris <jmorris@namei.org>
 | 
			
		||||
* Javier Fontan <jfontan@gmail.com>
 | 
			
		||||
* Jeremy Katz <katzj@redhat.com>
 | 
			
		||||
* Kaitlin Rupert <kaitlin@linux.vnet.ibm.com>
 | 
			
		||||
* Kazuki Mizushima <mizushima.kazuk@jp.fujitsu.com>
 | 
			
		||||
* Mads Chr. Olesen <shiyee@shiyee.dk>
 | 
			
		||||
* Mark Johnson <johnson.nh@gmail.com>
 | 
			
		||||
* Markus Armbruster <armbru@redhat.com>
 | 
			
		||||
* Masayuki Sunou <fj1826dm@aa.jp.fujitsu.com>
 | 
			
		||||
* Matthias Witte <witte@netzquadrat.de>
 | 
			
		||||
* Michel Ponceau <michel.ponceau@bull.net>
 | 
			
		||||
* Nobuhiro Itou <fj0873gn@aa.jp.fujitsu.com>
 | 
			
		||||
* Pete Vetere <pvetere@redhat.com>
 | 
			
		||||
* Philippe Berthault <philippe.berthault@Bull.net>
 | 
			
		||||
* Saori Fukuta <fukuta.saori@jp.fujitsu.com>
 | 
			
		||||
* Shigeki Sakamoto <fj0588di@aa.jp.fujitsu.com>
 | 
			
		||||
* Shuveb Hussain <shuveb@binarykarma.com>
 | 
			
		||||
* Stefan de Konink <dekonink@kinkrsoftware.nl>
 | 
			
		||||
* Takahashi Tomohiro <takatom@jp.fujitsu.com>
 | 
			
		||||
* Tatsuro Enokura <fj7716hz@aa.jp.fujitsu.com>
 | 
			
		||||
 | 
			
		||||
@contributorslist@
 | 
			
		||||
 | 
			
		||||
The libvirt logo was designed by Diana Fong
 | 
			
		||||
@@ -1,45 +0,0 @@
 | 
			
		||||
=======================
 | 
			
		||||
Contributing to libvirt
 | 
			
		||||
=======================
 | 
			
		||||
 | 
			
		||||
Full, up to date information on how to contribute to libvirt can be
 | 
			
		||||
found on the libvirt website:
 | 
			
		||||
 | 
			
		||||
https://libvirt.org/contribute.html
 | 
			
		||||
 | 
			
		||||
To build the same document locally, from the top level directory of
 | 
			
		||||
your git clone run:
 | 
			
		||||
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
   $ meson build
 | 
			
		||||
   $ ninja -C build
 | 
			
		||||
 | 
			
		||||
You'll find the freshly-built document in ``docs/contribute.html``.
 | 
			
		||||
 | 
			
		||||
If ``meson setup`` fails because of missing dependencies, you can set
 | 
			
		||||
up your system by calling
 | 
			
		||||
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
   $ sudo dnf builddep libvirt
 | 
			
		||||
 | 
			
		||||
if you're on a RHEL-based distribution or
 | 
			
		||||
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
   $ sudo apt-get build-dep libvirt
 | 
			
		||||
 | 
			
		||||
if you're on a Debian-based one.
 | 
			
		||||
 | 
			
		||||
Note that, for the RHEL-based case, if you're on a machine where you
 | 
			
		||||
haven't done any C development before, you will probably also need
 | 
			
		||||
to run
 | 
			
		||||
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
   $ sudo dnf install gcc make ninja-build rpm-build
 | 
			
		||||
 | 
			
		||||
You might still be missing some dependencies if your distribution is
 | 
			
		||||
shipping an old libvirt version, but that will get you much closer to
 | 
			
		||||
where you need to be to build successfully from source.
 | 
			
		||||
							
								
								
									
										16699
									
								
								ChangeLog-old
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16699
									
								
								ChangeLog-old
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										125
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
## Process this file with automake to produce Makefile.in
 | 
			
		||||
 | 
			
		||||
## Copyright (C) 2005-2013 Red Hat, Inc.
 | 
			
		||||
##
 | 
			
		||||
## This library is free software; you can redistribute it and/or
 | 
			
		||||
## modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
## License as published by the Free Software Foundation; either
 | 
			
		||||
## version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
##
 | 
			
		||||
## This library is distributed in the hope that it will be useful,
 | 
			
		||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
## Lesser General Public License for more details.
 | 
			
		||||
##
 | 
			
		||||
## You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
## License along with this library.  If not, see
 | 
			
		||||
## <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
LCOV = lcov
 | 
			
		||||
GENHTML = genhtml
 | 
			
		||||
 | 
			
		||||
SUBDIRS = . gnulib/lib include/libvirt src tools docs gnulib/tests \
 | 
			
		||||
  tests po examples
 | 
			
		||||
 | 
			
		||||
XZ_OPT ?= -v -T0
 | 
			
		||||
export XZ_OPT
 | 
			
		||||
 | 
			
		||||
ACLOCAL_AMFLAGS = -I m4
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = \
 | 
			
		||||
  config-post.h \
 | 
			
		||||
  ChangeLog-old \
 | 
			
		||||
  libvirt.spec libvirt.spec.in \
 | 
			
		||||
  mingw-libvirt.spec.in \
 | 
			
		||||
  libvirt.pc.in \
 | 
			
		||||
  libvirt-qemu.pc.in \
 | 
			
		||||
  libvirt-lxc.pc.in \
 | 
			
		||||
  libvirt-admin.pc.in \
 | 
			
		||||
  Makefile.nonreentrant \
 | 
			
		||||
  autogen.sh \
 | 
			
		||||
  cfg.mk \
 | 
			
		||||
  run.in \
 | 
			
		||||
  README.md \
 | 
			
		||||
  AUTHORS.in
 | 
			
		||||
 | 
			
		||||
pkgconfigdir = $(libdir)/pkgconfig
 | 
			
		||||
pkgconfig_DATA = libvirt.pc libvirt-qemu.pc libvirt-lxc.pc libvirt-admin.pc
 | 
			
		||||
 | 
			
		||||
NEWS: \
 | 
			
		||||
	  $(srcdir)/docs/news.xml \
 | 
			
		||||
	  $(srcdir)/docs/news-ascii.xsl \
 | 
			
		||||
	  $(srcdir)/docs/reformat-news.py
 | 
			
		||||
	$(AM_V_GEN) \
 | 
			
		||||
	if [ -x $(XSLTPROC) ]; then \
 | 
			
		||||
	  $(XSLTPROC) --nonet \
 | 
			
		||||
	    $(srcdir)/docs/news-ascii.xsl \
 | 
			
		||||
	    $(srcdir)/docs/news.xml \
 | 
			
		||||
	  >$@-tmp \
 | 
			
		||||
	    || { rm -f $@-tmp; exit 1; }; \
 | 
			
		||||
	  $(PYTHON) $(srcdir)/docs/reformat-news.py $@-tmp >$@ \
 | 
			
		||||
	    || { rm -f $@-tmp; exit 1; }; \
 | 
			
		||||
	  rm -f $@-tmp; \
 | 
			
		||||
	fi
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
	$(srcdir)/docs/news.xml \
 | 
			
		||||
	$(srcdir)/docs/news-ascii.xsl \
 | 
			
		||||
	$(srcdir)/docs/reformat-news.py
 | 
			
		||||
 | 
			
		||||
rpm: clean
 | 
			
		||||
	@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.xz)
 | 
			
		||||
 | 
			
		||||
srpm: clean
 | 
			
		||||
	@(unset CDPATH ; $(MAKE) dist && rpmbuild -ts $(distdir).tar.xz)
 | 
			
		||||
 | 
			
		||||
check-local: all tests
 | 
			
		||||
 | 
			
		||||
check-access:
 | 
			
		||||
	@($(MAKE) $(AM_MAKEFLAGS) -C tests check-access)
 | 
			
		||||
 | 
			
		||||
cov: clean-cov
 | 
			
		||||
	$(MKDIR_P) $(top_builddir)/coverage
 | 
			
		||||
	$(LCOV) -c -o $(top_builddir)/coverage/libvirt.info.tmp \
 | 
			
		||||
	  -d $(top_builddir)/src \
 | 
			
		||||
	  -d $(top_builddir)/tests
 | 
			
		||||
	$(LCOV) -r $(top_builddir)/coverage/libvirt.info.tmp \
 | 
			
		||||
	  -o $(top_builddir)/coverage/libvirt.info
 | 
			
		||||
	rm $(top_builddir)/coverage/libvirt.info.tmp
 | 
			
		||||
	$(GENHTML) --show-details -t "libvirt" -o $(top_builddir)/coverage \
 | 
			
		||||
	  --legend $(top_builddir)/coverage/libvirt.info
 | 
			
		||||
 | 
			
		||||
clean-cov:
 | 
			
		||||
	rm -rf $(top_builddir)/coverage
 | 
			
		||||
 | 
			
		||||
MAINTAINERCLEANFILES = .git-module-status
 | 
			
		||||
 | 
			
		||||
dist-hook: gen-ChangeLog gen-AUTHORS
 | 
			
		||||
 | 
			
		||||
# Generate the ChangeLog file (with all entries since the switch to git)
 | 
			
		||||
# and insert it into the directory we're about to use to create a tarball.
 | 
			
		||||
gen_start_date = 2009-07-04
 | 
			
		||||
.PHONY: gen-ChangeLog
 | 
			
		||||
gen-ChangeLog:
 | 
			
		||||
	$(AM_V_GEN)if test -d .git; then \
 | 
			
		||||
	  $(top_srcdir)/build-aux/gitlog-to-changelog \
 | 
			
		||||
	    --since=$(gen_start_date) > $(distdir)/cl-t; \
 | 
			
		||||
	  rm -f $(distdir)/ChangeLog; \
 | 
			
		||||
	  mv $(distdir)/cl-t $(distdir)/ChangeLog; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
.PHONY: gen-AUTHORS
 | 
			
		||||
gen-AUTHORS:
 | 
			
		||||
	$(AM_V_GEN)\
 | 
			
		||||
	if test -d $(srcdir)/.git; then \
 | 
			
		||||
	  ( \
 | 
			
		||||
	    cd $(srcdir) && \
 | 
			
		||||
	    git log --pretty=format:'%aN <%aE>' | sort -u \
 | 
			
		||||
	  ) > all.list && \
 | 
			
		||||
	  sort -u $(srcdir)/AUTHORS.in > maint.list && \
 | 
			
		||||
	  comm -23 all.list maint.list > contrib.list && \
 | 
			
		||||
	  contrib="`cat contrib.list`" && \
 | 
			
		||||
	  perl -p -e "s/#contributorslist#// and print '$$contrib'" \
 | 
			
		||||
	    < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \
 | 
			
		||||
	  mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS && \
 | 
			
		||||
	  rm -f all.list maint.list contrib.list; \
 | 
			
		||||
	fi
 | 
			
		||||
							
								
								
									
										58
									
								
								README-hacking
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								README-hacking
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
-*- outline -*-
 | 
			
		||||
 | 
			
		||||
These notes intend to help people working on the checked-out sources.
 | 
			
		||||
These requirements do not apply when building from a distribution tarball.
 | 
			
		||||
See also docs/hacking.html (after building libvirt using the information
 | 
			
		||||
included in this file) for more detailed contribution guidelines.
 | 
			
		||||
 | 
			
		||||
* Requirements
 | 
			
		||||
 | 
			
		||||
We've opted to keep only the highest-level sources in the GIT repository.
 | 
			
		||||
This eases our maintenance burden, (fewer merges etc.), but imposes more
 | 
			
		||||
requirements on anyone wishing to build from the just-checked-out sources.
 | 
			
		||||
Note the requirements to build the released archive are much less and
 | 
			
		||||
are just the requirements of the standard ./configure && make procedure.
 | 
			
		||||
Specific development tools and versions will be checked for and listed by
 | 
			
		||||
the bootstrap script.
 | 
			
		||||
 | 
			
		||||
Valgrind <http://valgrind.org/> is also highly recommended, if
 | 
			
		||||
Valgrind supports your architecture.
 | 
			
		||||
 | 
			
		||||
While building from a just-cloned source tree may require installing a
 | 
			
		||||
few prerequisites, later, a plain `git pull && make' should be sufficient.
 | 
			
		||||
 | 
			
		||||
* First GIT checkout
 | 
			
		||||
 | 
			
		||||
You can get a copy of the source repository like this:
 | 
			
		||||
 | 
			
		||||
        $ git clone https://libvirt.org/git/libvirt.git
 | 
			
		||||
        $ cd libvirt
 | 
			
		||||
 | 
			
		||||
As an optional step, if you already have a copy of the gnulib git
 | 
			
		||||
repository on your hard drive, then you can use it as a reference to
 | 
			
		||||
reduce download time and disk space requirements:
 | 
			
		||||
 | 
			
		||||
        $ export GNULIB_SRCDIR=/path/to/gnulib
 | 
			
		||||
 | 
			
		||||
The next step is to get all required pieces from gnulib,
 | 
			
		||||
to run autoreconf, and to invoke ./configure:
 | 
			
		||||
 | 
			
		||||
        $ ./autogen.sh
 | 
			
		||||
 | 
			
		||||
And there you are!  Just
 | 
			
		||||
 | 
			
		||||
        $ make
 | 
			
		||||
        $ make check
 | 
			
		||||
 | 
			
		||||
At this point, there should be no difference between your local copy,
 | 
			
		||||
and the GIT master copy:
 | 
			
		||||
 | 
			
		||||
        $ git diff
 | 
			
		||||
 | 
			
		||||
should output no difference.
 | 
			
		||||
 | 
			
		||||
Enjoy!
 | 
			
		||||
 | 
			
		||||
Local Variables:
 | 
			
		||||
indent-tabs-mode: nil
 | 
			
		||||
End:
 | 
			
		||||
							
								
								
									
										83
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
			
		||||
[](https://travis-ci.org/libvirt/libvirt)
 | 
			
		||||
 [](https://bestpractices.coreinfrastructure.org/projects/355)
 | 
			
		||||
 | 
			
		||||
Libvirt API for virtualization
 | 
			
		||||
==============================
 | 
			
		||||
 | 
			
		||||
Libvirt provides a portable, long term stable C API for managing the
 | 
			
		||||
virtualization technologies provided by many operating systems. It
 | 
			
		||||
includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware
 | 
			
		||||
vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER
 | 
			
		||||
Hypervisor.
 | 
			
		||||
 | 
			
		||||
For some of these hypervisors, it provides a stateful management
 | 
			
		||||
daemon which runs on the virtualization host allowing access to the
 | 
			
		||||
API both by non-privileged local users and remote users.
 | 
			
		||||
 | 
			
		||||
Layered packages provide bindings of the libvirt C API into other
 | 
			
		||||
languages including Python, Perl, PHP, Go, Java, OCaml, as well as
 | 
			
		||||
mappings into object systems such as GObject, CIM and SNMP.
 | 
			
		||||
 | 
			
		||||
Further information about the libvirt project can be found on the
 | 
			
		||||
website:
 | 
			
		||||
 | 
			
		||||
[https://libvirt.org](https://libvirt.org)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
License
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
The libvirt C API is distributed under the terms of GNU Lesser General
 | 
			
		||||
Public License, version 2.1 (or later). Some parts of the code that are
 | 
			
		||||
not part of the C library may have the more restrictive GNU General
 | 
			
		||||
Public License, version 2.1 (or later). See the files `COPYING.LESSER`
 | 
			
		||||
and `COPYING` for full license terms & conditions.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Installation
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
Libvirt uses the GNU Autotools build system, so in general can be built
 | 
			
		||||
and installed with the usual commands. For example, to build in a manner
 | 
			
		||||
that is suitable for installing as root, use:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
 | 
			
		||||
$ make
 | 
			
		||||
$ sudo make install
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
While to build & install as an unprivileged user
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ ./configure --prefix=$HOME/usr
 | 
			
		||||
$ make
 | 
			
		||||
$ make install
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The libvirt code relies on a large number of 3rd party libraries. These will
 | 
			
		||||
be detected during execution of the `configure` script and a summary printed
 | 
			
		||||
which lists any missing (optional) dependencies.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Contributing
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
The libvirt project welcomes contributions in many ways. For most components
 | 
			
		||||
the best way to contribute is to send patches to the primary development
 | 
			
		||||
mailing list. Further guidance on this can be found on the website:
 | 
			
		||||
 | 
			
		||||
[https://libvirt.org/contribute.html](https://libvirt.org/contribute.html)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Contact
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
The libvirt project has two primary mailing lists:
 | 
			
		||||
 | 
			
		||||
  * libvirt-users@redhat.com (**for user discussions**)
 | 
			
		||||
  * libvir-list@redhat.com (**for development only**)
 | 
			
		||||
 | 
			
		||||
Further details on contacting the project are available on the website:
 | 
			
		||||
 | 
			
		||||
[https://libvirt.org/contact.html](https://libvirt.org/contact.html)
 | 
			
		||||
							
								
								
									
										72
									
								
								README.rst
									
									
									
									
									
								
							
							
						
						
									
										72
									
								
								README.rst
									
									
									
									
									
								
							@@ -1,72 +0,0 @@
 | 
			
		||||
.. image:: https://gitlab.com/libvirt/libvirt/badges/master/pipeline.svg
 | 
			
		||||
     :target: https://gitlab.com/libvirt/libvirt/pipelines
 | 
			
		||||
     :alt: GitLab CI Build Status
 | 
			
		||||
.. image:: https://bestpractices.coreinfrastructure.org/projects/355/badge
 | 
			
		||||
     :target: https://bestpractices.coreinfrastructure.org/projects/355
 | 
			
		||||
     :alt: CII Best Practices
 | 
			
		||||
.. image:: https://translate.fedoraproject.org/widgets/libvirt/-/libvirt/svg-badge.svg
 | 
			
		||||
     :target: https://translate.fedoraproject.org/engage/libvirt/
 | 
			
		||||
     :alt: Translation status
 | 
			
		||||
 | 
			
		||||
==============================
 | 
			
		||||
Libvirt API for virtualization
 | 
			
		||||
==============================
 | 
			
		||||
 | 
			
		||||
Libvirt provides a portable, long term stable C API for managing the
 | 
			
		||||
virtualization technologies provided by many operating systems. It
 | 
			
		||||
includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware
 | 
			
		||||
vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER
 | 
			
		||||
Hypervisor.
 | 
			
		||||
 | 
			
		||||
For some of these hypervisors, it provides a stateful management
 | 
			
		||||
daemon which runs on the virtualization host allowing access to the
 | 
			
		||||
API both by non-privileged local users and remote users.
 | 
			
		||||
 | 
			
		||||
Layered packages provide bindings of the libvirt C API into other
 | 
			
		||||
languages including Python, Perl, PHP, Go, Java, OCaml, as well as
 | 
			
		||||
mappings into object systems such as GObject, CIM and SNMP.
 | 
			
		||||
 | 
			
		||||
Further information about the libvirt project can be found on the
 | 
			
		||||
website:
 | 
			
		||||
 | 
			
		||||
https://libvirt.org
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
License
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
The libvirt C API is distributed under the terms of GNU Lesser General
 | 
			
		||||
Public License, version 2.1 (or later). Some parts of the code that are
 | 
			
		||||
not part of the C library may have the more restrictive GNU General
 | 
			
		||||
Public License, version 2.0 (or later). See the files ``COPYING.LESSER``
 | 
			
		||||
and ``COPYING`` for full license terms & conditions.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Installation
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
Instructions on building and installing libvirt can be found on the website:
 | 
			
		||||
 | 
			
		||||
https://libvirt.org/compiling.html
 | 
			
		||||
 | 
			
		||||
Contributing
 | 
			
		||||
============
 | 
			
		||||
 | 
			
		||||
The libvirt project welcomes contributions in many ways. For most components
 | 
			
		||||
the best way to contribute is to send patches to the primary development
 | 
			
		||||
mailing list. Further guidance on this can be found on the website:
 | 
			
		||||
 | 
			
		||||
https://libvirt.org/contribute.html
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Contact
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
The libvirt project has two primary mailing lists:
 | 
			
		||||
 | 
			
		||||
* libvirt-users@redhat.com (**for user discussions**)
 | 
			
		||||
* libvir-list@redhat.com (**for development only**)
 | 
			
		||||
 | 
			
		||||
Further details on contacting the project are available on the website:
 | 
			
		||||
 | 
			
		||||
https://libvirt.org/contact.html
 | 
			
		||||
							
								
								
									
										208
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										208
									
								
								autogen.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,208 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# Run this to generate all the initial makefiles, etc.
 | 
			
		||||
 | 
			
		||||
die()
 | 
			
		||||
{
 | 
			
		||||
    echo "error: $1" >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
starting_point=$(pwd)
 | 
			
		||||
 | 
			
		||||
srcdir=$(dirname "$0")
 | 
			
		||||
test "$srcdir" || srcdir=.
 | 
			
		||||
 | 
			
		||||
cd "$srcdir" || {
 | 
			
		||||
    die "Failed to cd into $srcdir"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
test -f src/libvirt.c || {
 | 
			
		||||
    die "$0 must live in the top-level libvirt directory"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dry_run=
 | 
			
		||||
no_git=
 | 
			
		||||
gnulib_srcdir=
 | 
			
		||||
extra_args=
 | 
			
		||||
while test "$#" -gt 0; do
 | 
			
		||||
    case "$1" in
 | 
			
		||||
    --dry-run)
 | 
			
		||||
        # This variable will serve both as an indicator of the fact that
 | 
			
		||||
        # a dry run has been requested, and to store the result of the
 | 
			
		||||
        # dry run. It will be ultimately used as return code for the
 | 
			
		||||
        # script: 0 means no action is necessary, 2 means that autogen.sh
 | 
			
		||||
        # needs to be executed, and 1 is reserved for failures
 | 
			
		||||
        dry_run=0
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    --no-git)
 | 
			
		||||
        no_git=" $1"
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    --gnulib-srcdir=*)
 | 
			
		||||
        gnulib_srcdir=" $1"
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    --gnulib-srcdir)
 | 
			
		||||
        gnulib_srcdir=" $1=$2"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    --system)
 | 
			
		||||
        prefix=/usr
 | 
			
		||||
        sysconfdir=/etc
 | 
			
		||||
        localstatedir=/var
 | 
			
		||||
        if test -d $prefix/lib64; then
 | 
			
		||||
            libdir=$prefix/lib64
 | 
			
		||||
        else
 | 
			
		||||
            libdir=$prefix/lib
 | 
			
		||||
        fi
 | 
			
		||||
        extra_args="--prefix=$prefix --localstatedir=$localstatedir"
 | 
			
		||||
        extra_args="$extra_args --sysconfdir=$sysconfdir --libdir=$libdir"
 | 
			
		||||
        shift
 | 
			
		||||
        ;;
 | 
			
		||||
    *)
 | 
			
		||||
        # All remaining arguments will be passed to configure verbatim
 | 
			
		||||
        break
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
no_git="$no_git$gnulib_srcdir"
 | 
			
		||||
 | 
			
		||||
gnulib_hash()
 | 
			
		||||
{
 | 
			
		||||
    local no_git=$1
 | 
			
		||||
 | 
			
		||||
    if test "$no_git"; then
 | 
			
		||||
        echo "no-git"
 | 
			
		||||
        return
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Compute the hash we'll use to determine whether rerunning bootstrap
 | 
			
		||||
    # is required. The first is just the SHA1 that selects a gnulib snapshot.
 | 
			
		||||
    # The second ensures that whenever we change the set of gnulib modules used
 | 
			
		||||
    # by this package, we rerun bootstrap to pull in the matching set of files.
 | 
			
		||||
    # The third ensures that whenever we change the set of local gnulib diffs,
 | 
			
		||||
    # we rerun bootstrap to pull in those diffs.
 | 
			
		||||
    git submodule status .gnulib | awk '{ print $1 }'
 | 
			
		||||
    git hash-object bootstrap.conf
 | 
			
		||||
    git ls-tree -d HEAD gnulib/local | awk '{ print $3 }'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Only look into git submodules if we're in a git checkout
 | 
			
		||||
if test -d .git || test -f .git; then
 | 
			
		||||
 | 
			
		||||
    # Check for dirty submodules
 | 
			
		||||
    if test -z "$CLEAN_SUBMODULE"; then
 | 
			
		||||
        for path in $(git submodule status | awk '{ print $2 }'); do
 | 
			
		||||
            case "$(git diff "$path")" in
 | 
			
		||||
                *-dirty*)
 | 
			
		||||
                    echo "error: $path is dirty, please investigate" >&2
 | 
			
		||||
                    echo "set CLEAN_SUBMODULE to discard submodule changes" >&2
 | 
			
		||||
                    exit 1
 | 
			
		||||
                    ;;
 | 
			
		||||
            esac
 | 
			
		||||
        done
 | 
			
		||||
    fi
 | 
			
		||||
    if test "$CLEAN_SUBMODULE" && test -z "$no_git"; then
 | 
			
		||||
        if test -z "$dry_run"; then
 | 
			
		||||
            echo "Cleaning up submodules..."
 | 
			
		||||
            git submodule foreach 'git clean -dfqx && git reset --hard' || {
 | 
			
		||||
                die "Cleaning up submodules failed"
 | 
			
		||||
            }
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Update all submodules. If any of the submodules has not been
 | 
			
		||||
    # initialized yet, it will be initialized now; moreover, any submodule
 | 
			
		||||
    # with uncommitted changes will be returned to the expected state
 | 
			
		||||
    echo "Updating submodules..."
 | 
			
		||||
    git submodule update --init || {
 | 
			
		||||
        die "Updating submodules failed"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    # The expected hash, eg. the one computed after the last
 | 
			
		||||
    # successful bootstrap run, is stored on disk
 | 
			
		||||
    state_file=.git-module-status
 | 
			
		||||
    expected_hash=$(cat "$state_file" 2>/dev/null)
 | 
			
		||||
    actual_hash=$(gnulib_hash "$no_git")
 | 
			
		||||
 | 
			
		||||
    if test "$actual_hash" = "$expected_hash" && test -f AUTHORS; then
 | 
			
		||||
        # The gnulib hash matches our expectations, and all the files
 | 
			
		||||
        # that can only be generated through bootstrap are present:
 | 
			
		||||
        # we just need to run autoreconf. Unless we're performing a
 | 
			
		||||
        # dry run, of course...
 | 
			
		||||
        if test -z "$dry_run"; then
 | 
			
		||||
            echo "Running autoreconf..."
 | 
			
		||||
            autoreconf -if || {
 | 
			
		||||
                die "autoreconf failed"
 | 
			
		||||
            }
 | 
			
		||||
        fi
 | 
			
		||||
    else
 | 
			
		||||
        # Whenever the gnulib submodule or any of the related bits
 | 
			
		||||
        # has been changed in some way (see gnulib_hash) we need to
 | 
			
		||||
        # run bootstrap again. If we're performing a dry run, we
 | 
			
		||||
        # change the return code instead to signal our caller
 | 
			
		||||
        if test "$dry_run"; then
 | 
			
		||||
            dry_run=2
 | 
			
		||||
        else
 | 
			
		||||
            echo "Running bootstrap..."
 | 
			
		||||
            ./bootstrap$no_git --bootstrap-sync || {
 | 
			
		||||
                die "bootstrap failed"
 | 
			
		||||
            }
 | 
			
		||||
            gnulib_hash >"$state_file"
 | 
			
		||||
        fi
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# When performing a dry run, we can stop here
 | 
			
		||||
test "$dry_run" && exit "$dry_run"
 | 
			
		||||
 | 
			
		||||
# If asked not to run configure, we can stop here
 | 
			
		||||
test "$NOCONFIGURE" && exit 0
 | 
			
		||||
 | 
			
		||||
cd "$starting_point" || {
 | 
			
		||||
    die "Failed to cd into $starting_point"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if test "$OBJ_DIR"; then
 | 
			
		||||
    mkdir -p "$OBJ_DIR" || {
 | 
			
		||||
        die "Failed to create $OBJ_DIR"
 | 
			
		||||
    }
 | 
			
		||||
    cd "$OBJ_DIR" || {
 | 
			
		||||
        die "Failed to cd into $OBJ_DIR"
 | 
			
		||||
    }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Make sure we can find GNU make and tell the user
 | 
			
		||||
# the right command to run
 | 
			
		||||
MAKE=
 | 
			
		||||
for cmd in make gmake; do
 | 
			
		||||
    if $cmd -v 2>&1 | grep -q "GNU Make"; then
 | 
			
		||||
        MAKE=$cmd
 | 
			
		||||
        break
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
test "$MAKE" || {
 | 
			
		||||
    die "GNU make is required to build libvirt"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if test -z "$*" && test -z "$extra_args" && test -f config.status; then
 | 
			
		||||
    echo "Running config.status..."
 | 
			
		||||
    ./config.status --recheck || {
 | 
			
		||||
        die "config.status failed"
 | 
			
		||||
    }
 | 
			
		||||
else
 | 
			
		||||
    if test -z "$*" && test -z "$extra_args"; then
 | 
			
		||||
        echo "I am going to run configure with no arguments - if you wish"
 | 
			
		||||
        echo "to pass any to it, please specify them on the $0 command line."
 | 
			
		||||
    else
 | 
			
		||||
        echo "Running configure with $extra_args $@"
 | 
			
		||||
    fi
 | 
			
		||||
    "$srcdir/configure" $extra_args "$@" || {
 | 
			
		||||
        die "configure failed"
 | 
			
		||||
    }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo
 | 
			
		||||
echo "Now type '$MAKE' to compile libvirt."
 | 
			
		||||
							
								
								
									
										199
									
								
								bootstrap.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								bootstrap.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,199 @@
 | 
			
		||||
# Bootstrap configuration.
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2010-2014 Red Hat, Inc.
 | 
			
		||||
 | 
			
		||||
# This library is free software; you can redistribute it and/or
 | 
			
		||||
# modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
# License as published by the Free Software Foundation; either
 | 
			
		||||
# version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
# You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
# License along with this library.  If not, see
 | 
			
		||||
# <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# gnulib modules used by this package.
 | 
			
		||||
gnulib_modules='
 | 
			
		||||
accept
 | 
			
		||||
areadlink
 | 
			
		||||
autobuild
 | 
			
		||||
base64
 | 
			
		||||
bind
 | 
			
		||||
bitrotate
 | 
			
		||||
byteswap
 | 
			
		||||
c-ctype
 | 
			
		||||
c-strcase
 | 
			
		||||
c-strcasestr
 | 
			
		||||
calloc-posix
 | 
			
		||||
canonicalize-lgpl
 | 
			
		||||
chown
 | 
			
		||||
clock-time
 | 
			
		||||
close
 | 
			
		||||
connect
 | 
			
		||||
configmake
 | 
			
		||||
count-leading-zeros
 | 
			
		||||
count-one-bits
 | 
			
		||||
dirname-lgpl
 | 
			
		||||
environ
 | 
			
		||||
execinfo
 | 
			
		||||
fclose
 | 
			
		||||
fcntl
 | 
			
		||||
fcntl-h
 | 
			
		||||
fdatasync
 | 
			
		||||
ffs
 | 
			
		||||
ffsl
 | 
			
		||||
fnmatch
 | 
			
		||||
fsync
 | 
			
		||||
func
 | 
			
		||||
getaddrinfo
 | 
			
		||||
getcwd-lgpl
 | 
			
		||||
gethostname
 | 
			
		||||
getopt-posix
 | 
			
		||||
getpass
 | 
			
		||||
getpeername
 | 
			
		||||
getsockname
 | 
			
		||||
gettimeofday
 | 
			
		||||
gitlog-to-changelog
 | 
			
		||||
gnumakefile
 | 
			
		||||
ignore-value
 | 
			
		||||
inet_pton
 | 
			
		||||
intprops
 | 
			
		||||
ioctl
 | 
			
		||||
isatty
 | 
			
		||||
largefile
 | 
			
		||||
ldexp
 | 
			
		||||
listen
 | 
			
		||||
localeconv
 | 
			
		||||
maintainer-makefile
 | 
			
		||||
manywarnings
 | 
			
		||||
mgetgroups
 | 
			
		||||
mkdtemp
 | 
			
		||||
mkostemp
 | 
			
		||||
mkostemps
 | 
			
		||||
mktempd
 | 
			
		||||
net_if
 | 
			
		||||
netdb
 | 
			
		||||
nonblocking
 | 
			
		||||
openpty
 | 
			
		||||
passfd
 | 
			
		||||
perror
 | 
			
		||||
physmem
 | 
			
		||||
pipe-posix
 | 
			
		||||
pipe2
 | 
			
		||||
poll
 | 
			
		||||
posix-shell
 | 
			
		||||
pthread
 | 
			
		||||
pthread_sigmask
 | 
			
		||||
recv
 | 
			
		||||
regex
 | 
			
		||||
sched
 | 
			
		||||
secure_getenv
 | 
			
		||||
send
 | 
			
		||||
setenv
 | 
			
		||||
setsockopt
 | 
			
		||||
sigaction
 | 
			
		||||
sigpipe
 | 
			
		||||
snprintf
 | 
			
		||||
socket
 | 
			
		||||
stat-time
 | 
			
		||||
stdarg
 | 
			
		||||
stpcpy
 | 
			
		||||
strchrnul
 | 
			
		||||
strdup-posix
 | 
			
		||||
strndup
 | 
			
		||||
strerror
 | 
			
		||||
strerror_r-posix
 | 
			
		||||
strptime
 | 
			
		||||
strsep
 | 
			
		||||
strtok_r
 | 
			
		||||
sys_stat
 | 
			
		||||
sys_wait
 | 
			
		||||
termios
 | 
			
		||||
time_r
 | 
			
		||||
timegm
 | 
			
		||||
ttyname_r
 | 
			
		||||
uname
 | 
			
		||||
unsetenv
 | 
			
		||||
useless-if-before-free
 | 
			
		||||
usleep
 | 
			
		||||
vasprintf
 | 
			
		||||
verify
 | 
			
		||||
vc-list-files
 | 
			
		||||
vsnprintf
 | 
			
		||||
waitpid
 | 
			
		||||
warnings
 | 
			
		||||
wcwidth
 | 
			
		||||
'
 | 
			
		||||
 | 
			
		||||
SKIP_PO=true
 | 
			
		||||
 | 
			
		||||
# Enable copy-mode for MSYS/MinGW. MSYS' ln doesn't work well in the way
 | 
			
		||||
# bootstrap uses it with relative paths.
 | 
			
		||||
if test -n "$MSYSTEM"; then
 | 
			
		||||
    copy=true
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Tell gnulib to:
 | 
			
		||||
#   require LGPLv2+
 | 
			
		||||
#   apply any local diffs in gnulib/local/ dir
 | 
			
		||||
#   put *.m4 files in m4/ dir
 | 
			
		||||
#   put *.[ch] files in new gnulib/lib/ dir
 | 
			
		||||
#   import gnulib tests in new gnulib/tests/ dir
 | 
			
		||||
gnulib_name=libgnu
 | 
			
		||||
m4_base=m4
 | 
			
		||||
source_base=gnulib/lib
 | 
			
		||||
tests_base=gnulib/tests
 | 
			
		||||
gnulib_tool_option_extras="\
 | 
			
		||||
 --lgpl=2\
 | 
			
		||||
 --with-tests\
 | 
			
		||||
 --makefile-name=gnulib.mk\
 | 
			
		||||
 --avoid=pt_chown\
 | 
			
		||||
 --avoid=lock-tests\
 | 
			
		||||
"
 | 
			
		||||
local_gl_dir=gnulib/local
 | 
			
		||||
 | 
			
		||||
# Build prerequisites
 | 
			
		||||
# Note that some of these programs are only required for 'make dist' to
 | 
			
		||||
# succeed from a fresh git checkout; not all of these programs are
 | 
			
		||||
# required to run 'make dist' on a tarball.
 | 
			
		||||
buildreq="\
 | 
			
		||||
autoconf   2.59
 | 
			
		||||
automake   1.9.6
 | 
			
		||||
git        1.5.5
 | 
			
		||||
gzip       -
 | 
			
		||||
libtool    -
 | 
			
		||||
patch      -
 | 
			
		||||
perl       5.5
 | 
			
		||||
pkg-config -
 | 
			
		||||
rpcgen     -
 | 
			
		||||
tar        -
 | 
			
		||||
xmllint	   -
 | 
			
		||||
xsltproc   -
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
# Automake requires that ChangeLog and AUTHORS exist.
 | 
			
		||||
touch AUTHORS ChangeLog || exit 1
 | 
			
		||||
 | 
			
		||||
# Override bootstrap's list - we don't use mdate-sh or texinfo.tex.
 | 
			
		||||
gnulib_extra_files="
 | 
			
		||||
        build-aux/install-sh
 | 
			
		||||
        build-aux/depcomp
 | 
			
		||||
        build-aux/config.guess
 | 
			
		||||
        build-aux/config.sub
 | 
			
		||||
        doc/INSTALL
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bootstrap_post_import_hook()
 | 
			
		||||
{
 | 
			
		||||
  # Change paths in gnulib/tests/gnulib.mk from "../../.." to "../..",
 | 
			
		||||
  # and make tests conditional by changing "TESTS" to "GNULIB_TESTS".
 | 
			
		||||
  m=gnulib/tests/gnulib.mk
 | 
			
		||||
  sed 's,\.\./\.\./\.\.,../..,g; s/^TESTS /GNULIB_TESTS /' $m > $m-t
 | 
			
		||||
  mv -f $m-t $m
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
# define variables
 | 
			
		||||
 | 
			
		||||
top_srcdir = @top_srcdir@
 | 
			
		||||
top_builddir = @top_builddir@
 | 
			
		||||
FLAKE8 = @flake8_path@
 | 
			
		||||
RUNUTF8 = @runutf8@
 | 
			
		||||
PYTHON = @PYTHON3@
 | 
			
		||||
GREP = @GREP@
 | 
			
		||||
SED = @SED@
 | 
			
		||||
 | 
			
		||||
# include syntax-check.mk file
 | 
			
		||||
include $(top_srcdir)/build-aux/syntax-check.mk
 | 
			
		||||
							
								
								
									
										71
									
								
								build-aux/augeas-gentest.pl
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										71
									
								
								build-aux/augeas-gentest.pl
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,71 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
#
 | 
			
		||||
# augeas-gentest.pl: Generate an augeas test file, from an
 | 
			
		||||
#                    example config file + test file template
 | 
			
		||||
#
 | 
			
		||||
# This library is free software; you can redistribute it and/or
 | 
			
		||||
# modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
# License as published by the Free Software Foundation; either
 | 
			
		||||
# version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# This library is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
# Lesser General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
# License along with this library.  If not, see
 | 
			
		||||
# <http://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#     Daniel P. Berrange <berrange@redhat.com>
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
 | 
			
		||||
die "syntax: $0 CONFIG TEMPLATE AUGTEST\n" unless @ARGV == 3;
 | 
			
		||||
 | 
			
		||||
my $config = shift @ARGV;
 | 
			
		||||
my $template = shift @ARGV;
 | 
			
		||||
my $augtest = shift @ARGV;
 | 
			
		||||
 | 
			
		||||
open AUGTEST, ">", $augtest or die "cannot create $augtest: $!";
 | 
			
		||||
 | 
			
		||||
$SIG{__DIE__} = sub {
 | 
			
		||||
    unlink $augtest;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
open CONFIG, "<", $config or die "cannot read $config: $!";
 | 
			
		||||
open TEMPLATE, "<", $template or die "cannot read $template: $!";
 | 
			
		||||
 | 
			
		||||
my $group = 0;
 | 
			
		||||
while (<TEMPLATE>) {
 | 
			
		||||
    if (/::CONFIG::/) {
 | 
			
		||||
        my $group = 0;
 | 
			
		||||
        print AUGTEST "  let conf = \"";
 | 
			
		||||
        while (<CONFIG>) {
 | 
			
		||||
            if (/^#\w/) {
 | 
			
		||||
                s/^#//;
 | 
			
		||||
                s/\"/\\\"/g;
 | 
			
		||||
                print AUGTEST $_;
 | 
			
		||||
                $group = /\[\s$/;
 | 
			
		||||
            } elsif ($group) {
 | 
			
		||||
                s/\"/\\\"/g;
 | 
			
		||||
                if (/#\s*\]/) {
 | 
			
		||||
                    $group = 0;
 | 
			
		||||
                }
 | 
			
		||||
                if (/^#/) {
 | 
			
		||||
                    s/^#//;
 | 
			
		||||
                    print AUGTEST $_;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        print AUGTEST "\"\n";
 | 
			
		||||
    } else {
 | 
			
		||||
        print AUGTEST $_;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
close TEMPLATE;
 | 
			
		||||
close CONFIG;
 | 
			
		||||
close AUGTEST or die "cannot save $augtest: $!";
 | 
			
		||||
@@ -16,6 +16,9 @@
 | 
			
		||||
# You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
# License along with this library.  If not, see
 | 
			
		||||
# <http://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#     Daniel P. Berrange <berrange@redhat.com>
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
@@ -24,6 +27,11 @@ my $ret = 0;
 | 
			
		||||
my $incomment = 0;
 | 
			
		||||
 | 
			
		||||
foreach my $file (@ARGV) {
 | 
			
		||||
    # Per-file variables for multiline Curly Bracket (cb_) check
 | 
			
		||||
    my $cb_linenum = 0;
 | 
			
		||||
    my $cb_code = "";
 | 
			
		||||
    my $cb_scolon = 0;
 | 
			
		||||
 | 
			
		||||
    open FILE, $file;
 | 
			
		||||
 | 
			
		||||
    while (defined (my $line = <FILE>)) {
 | 
			
		||||
@@ -37,6 +45,9 @@ foreach my $file (@ARGV) {
 | 
			
		||||
        # Kill any quoted strings
 | 
			
		||||
        $data =~ s,"(?:[^\\\"]|\\.)*","XXX",g;
 | 
			
		||||
 | 
			
		||||
        # Kill any C++ style comments
 | 
			
		||||
        $data =~ s,//.*$,//,;
 | 
			
		||||
 | 
			
		||||
        next if $data =~ /^#/;
 | 
			
		||||
 | 
			
		||||
        # Kill contents of multi-line comments
 | 
			
		||||
@@ -155,6 +166,37 @@ foreach my $file (@ARGV) {
 | 
			
		||||
            print "$file:$.: $line";
 | 
			
		||||
            $ret = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        # One line conditional statements with one line bodies should
 | 
			
		||||
        # not use curly brackets.
 | 
			
		||||
        if ($data =~ /^\s*(if|while|for)\b.*\{$/) {
 | 
			
		||||
            $cb_linenum = $.;
 | 
			
		||||
            $cb_code = $line;
 | 
			
		||||
            $cb_scolon = 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        # We need to check for exactly one semicolon inside the body,
 | 
			
		||||
        # because empty statements (e.g. with comment only) are
 | 
			
		||||
        # allowed
 | 
			
		||||
        if ($cb_linenum == $. - 1 && $data =~ /^[^;]*;[^;]*$/) {
 | 
			
		||||
            $cb_code .= $line;
 | 
			
		||||
            $cb_scolon = 1;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if ($data =~ /^\s*}\s*$/ &&
 | 
			
		||||
            $cb_linenum == $. - 2 &&
 | 
			
		||||
            $cb_scolon) {
 | 
			
		||||
 | 
			
		||||
            print "Curly brackets around single-line body:\n";
 | 
			
		||||
            print "$file:$cb_linenum-$.:\n$cb_code$line";
 | 
			
		||||
            $ret = 1;
 | 
			
		||||
 | 
			
		||||
            # There _should_ be no need to reset the values; but to
 | 
			
		||||
            # keep my inner peace...
 | 
			
		||||
            $cb_linenum = 0;
 | 
			
		||||
            $cb_scolon = 0;
 | 
			
		||||
            $cb_code = "";
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    close FILE;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,69 +0,0 @@
 | 
			
		||||
syntax_check_conf = configuration_data()
 | 
			
		||||
syntax_check_conf.set('top_srcdir', meson.source_root())
 | 
			
		||||
syntax_check_conf.set('top_builddir', meson.build_root())
 | 
			
		||||
 | 
			
		||||
flake8_path = ''
 | 
			
		||||
if flake8_prog.found()
 | 
			
		||||
  flake8_path = flake8_prog.path()
 | 
			
		||||
endif
 | 
			
		||||
syntax_check_conf.set('flake8_path', flake8_path)
 | 
			
		||||
syntax_check_conf.set('runutf8', ' '.join(runutf8))
 | 
			
		||||
syntax_check_conf.set('PYTHON3', python3_prog.path())
 | 
			
		||||
 | 
			
		||||
if host_machine.system() == 'freebsd' or host_machine.system() == 'darwin'
 | 
			
		||||
  make_prog = find_program('gmake')
 | 
			
		||||
  sed_prog = find_program('gsed')
 | 
			
		||||
else
 | 
			
		||||
  make_prog = find_program('make')
 | 
			
		||||
  sed_prog = find_program('sed')
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
if host_machine.system() == 'freebsd'
 | 
			
		||||
  grep_prog = find_program('grep')
 | 
			
		||||
  grep_cmd = run_command(grep_prog, '--version')
 | 
			
		||||
  if grep_cmd.stdout().startswith('grep (BSD grep')
 | 
			
		||||
    grep_prog = find_program('/usr/local/bin/grep', required: false)
 | 
			
		||||
    if not grep_prog.found()
 | 
			
		||||
      error('GNU grep not found')
 | 
			
		||||
    endif
 | 
			
		||||
  endif
 | 
			
		||||
elif host_machine.system() == 'darwin'
 | 
			
		||||
  grep_prog = find_program('ggrep')
 | 
			
		||||
else
 | 
			
		||||
  grep_prog = find_program('grep')
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
syntax_check_conf.set('GREP', grep_prog.path())
 | 
			
		||||
syntax_check_conf.set('SED', sed_prog.path())
 | 
			
		||||
 | 
			
		||||
configure_file(
 | 
			
		||||
  input: 'Makefile.in',
 | 
			
		||||
  output: '@BASENAME@',
 | 
			
		||||
  configuration: syntax_check_conf,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
rc = run_command(
 | 
			
		||||
  'sed', '-n',
 | 
			
		||||
  's/^\\(sc_[a-zA-Z0-9_-]*\\):.*/\\1/p',
 | 
			
		||||
  meson.current_source_dir() / 'syntax-check.mk',
 | 
			
		||||
  check: true,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
sc_tests = rc.stdout().strip().split()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Skip syntax-check if not building from git because we get the list of files
 | 
			
		||||
# to check using git commands and it fails if we are not in git repository.
 | 
			
		||||
if git
 | 
			
		||||
  foreach target : sc_tests
 | 
			
		||||
    test(
 | 
			
		||||
      target,
 | 
			
		||||
      make_prog,
 | 
			
		||||
      args: [ '-C', meson.current_build_dir(), target ],
 | 
			
		||||
      depends: [
 | 
			
		||||
        potfiles_dep,
 | 
			
		||||
      ],
 | 
			
		||||
      suite: 'syntax-check',
 | 
			
		||||
    )
 | 
			
		||||
  endforeach
 | 
			
		||||
endif
 | 
			
		||||
							
								
								
									
										37
									
								
								build-aux/minimize-po.pl
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								build-aux/minimize-po.pl
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
#!/usr/bin/perl
 | 
			
		||||
 | 
			
		||||
my @block;
 | 
			
		||||
my $msgstr = 0;
 | 
			
		||||
my $empty = 0;
 | 
			
		||||
my $unused = 0;
 | 
			
		||||
my $fuzzy = 0;
 | 
			
		||||
while (<>) {
 | 
			
		||||
    if (/^$/) {
 | 
			
		||||
        if (!$empty && !$unused && !$fuzzy) {
 | 
			
		||||
            print @block;
 | 
			
		||||
        }
 | 
			
		||||
        @block = ();
 | 
			
		||||
        $msgstr = 0;
 | 
			
		||||
        $fuzzy = 0;
 | 
			
		||||
        push @block, $_;
 | 
			
		||||
    } else {
 | 
			
		||||
        if (/^msgstr/) {
 | 
			
		||||
            $msgstr = 1;
 | 
			
		||||
            $empty = 1;
 | 
			
		||||
        }
 | 
			
		||||
        if (/^#.*fuzzy/) {
 | 
			
		||||
            $fuzzy = 1;
 | 
			
		||||
        }
 | 
			
		||||
        if (/^#~ msgstr/) {
 | 
			
		||||
            $unused = 1;
 | 
			
		||||
        }
 | 
			
		||||
        if ($msgstr && /".+"/) {
 | 
			
		||||
            $empty = 0;
 | 
			
		||||
        }
 | 
			
		||||
        push @block, $_;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if (@block && !$empty && !$unused) {
 | 
			
		||||
    print @block;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										72
									
								
								build-aux/mock-noinline.pl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								build-aux/mock-noinline.pl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
 | 
			
		||||
my %noninlined;
 | 
			
		||||
my %mocked;
 | 
			
		||||
 | 
			
		||||
# Functions in public header don't get the noinline annotation
 | 
			
		||||
# so whitelist them here
 | 
			
		||||
$noninlined{"virEventAddTimeout"} = 1;
 | 
			
		||||
 | 
			
		||||
foreach my $arg (@ARGV) {
 | 
			
		||||
    if ($arg =~ /\.h$/) {
 | 
			
		||||
        #print "Scan header $arg\n";
 | 
			
		||||
        &scan_annotations($arg);
 | 
			
		||||
    } elsif ($arg =~ /mock\.c$/) {
 | 
			
		||||
        #print "Scan mock $arg\n";
 | 
			
		||||
        &scan_overrides($arg);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my $warned = 0;
 | 
			
		||||
foreach my $func (keys %mocked) {
 | 
			
		||||
    next if exists $noninlined{$func};
 | 
			
		||||
 | 
			
		||||
    $warned++;
 | 
			
		||||
    print STDERR "$func is mocked at $mocked{$func} but missing noinline annotation\n";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exit $warned ? 1 : 0;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
sub scan_annotations {
 | 
			
		||||
    my $file = shift;
 | 
			
		||||
 | 
			
		||||
    open FH, $file or die "cannot read $file: $!";
 | 
			
		||||
 | 
			
		||||
    my $func;
 | 
			
		||||
    while (<FH>) {
 | 
			
		||||
        if (/^\s*(\w+)\(/ || /^(?:\w+\*?\s+)+(?:\*\s*)?(\w+)\(/) {
 | 
			
		||||
            my $name = $1;
 | 
			
		||||
            if ($name !~ /ATTRIBUTE/) {
 | 
			
		||||
                $func = $name;
 | 
			
		||||
            }
 | 
			
		||||
        } elsif (/^\s*$/) {
 | 
			
		||||
            $func = undef;
 | 
			
		||||
        }
 | 
			
		||||
        if (/ATTRIBUTE_NOINLINE/) {
 | 
			
		||||
            if (defined $func) {
 | 
			
		||||
                $noninlined{$func} = 1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    close FH
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub scan_overrides {
 | 
			
		||||
    my $file = shift;
 | 
			
		||||
 | 
			
		||||
    open FH, $file or die "cannot read $file: $!";
 | 
			
		||||
 | 
			
		||||
    my $func;
 | 
			
		||||
    while (<FH>) {
 | 
			
		||||
        if (/^(\w+)\(/ || /^\w+\s*(?:\*\s*)?(\w+)\(/) {
 | 
			
		||||
            my $name = $1;
 | 
			
		||||
            if ($name =~ /^vir/) {
 | 
			
		||||
                $mocked{$name} = "$file:$.";
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    close FH
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								build-aux/prohibit-duplicate-header.pl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								build-aux/prohibit-duplicate-header.pl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
#!/usr/bin/env perl
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
 | 
			
		||||
my $file = " ";
 | 
			
		||||
my $ret = 0;
 | 
			
		||||
my %includes = ( );
 | 
			
		||||
my $lineno = 0;
 | 
			
		||||
 | 
			
		||||
while (<>) {
 | 
			
		||||
    if (not $file eq $ARGV) {
 | 
			
		||||
        %includes = ( );
 | 
			
		||||
        $file = $ARGV;
 | 
			
		||||
        $lineno = 0;
 | 
			
		||||
    }
 | 
			
		||||
    $lineno++;
 | 
			
		||||
    if (/^# *include *[<"]([^>"]*\.h)[">]/) {
 | 
			
		||||
        $includes{$1}++;
 | 
			
		||||
        if ($includes{$1} == 2) {
 | 
			
		||||
            $ret = 1;
 | 
			
		||||
            print STDERR "$ARGV:$lineno: $_";
 | 
			
		||||
            print STDERR "Do not include a header more than once per file\n";
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exit $ret;
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										245
									
								
								ci/Makefile
									
									
									
									
									
								
							
							
						
						
									
										245
									
								
								ci/Makefile
									
									
									
									
									
								
							@@ -1,245 +0,0 @@
 | 
			
		||||
# -*- makefile -*-
 | 
			
		||||
# vim: filetype=make
 | 
			
		||||
 | 
			
		||||
# The root directory of the libvirt.git checkout
 | 
			
		||||
CI_GIT_ROOT = $(shell git rev-parse --show-toplevel)
 | 
			
		||||
 | 
			
		||||
# The root directory for all CI-related contents
 | 
			
		||||
CI_ROOTDIR = $(CI_GIT_ROOT)/ci
 | 
			
		||||
 | 
			
		||||
# The directory holding content on the host that we will
 | 
			
		||||
# expose to the container.
 | 
			
		||||
CI_SCRATCHDIR = $(CI_ROOTDIR)/scratch
 | 
			
		||||
 | 
			
		||||
# The directory holding the clone of the git repo that
 | 
			
		||||
# we will expose to the container
 | 
			
		||||
CI_HOST_SRCDIR = $(CI_SCRATCHDIR)/src
 | 
			
		||||
 | 
			
		||||
# The directory holding the source inside the
 | 
			
		||||
# container, i.e. where we want to expose
 | 
			
		||||
# the $(CI_HOST_SRCDIR) directory from the host
 | 
			
		||||
CI_CONT_SRCDIR = $(CI_USER_HOME)/libvirt
 | 
			
		||||
 | 
			
		||||
# Script containing build instructions
 | 
			
		||||
CI_BUILD_SCRIPT = $(CI_ROOTDIR)/build.sh
 | 
			
		||||
 | 
			
		||||
# Location of the container images we're going to pull
 | 
			
		||||
# Can be useful to override to use a locally built
 | 
			
		||||
# image instead
 | 
			
		||||
CI_IMAGE_PREFIX = registry.gitlab.com/libvirt/libvirt/ci-
 | 
			
		||||
 | 
			
		||||
# The default tag is ':latest' but if the container
 | 
			
		||||
# repo above uses different conventions this can override it
 | 
			
		||||
CI_IMAGE_TAG = :latest
 | 
			
		||||
 | 
			
		||||
# We delete the virtual root after completion, set
 | 
			
		||||
# to 0 if you need to keep it around for debugging
 | 
			
		||||
CI_CLEAN = 1
 | 
			
		||||
 | 
			
		||||
# We'll always freshly clone the virtual root each
 | 
			
		||||
# time in case it was not cleaned up before. Set
 | 
			
		||||
# to 1 if you want to try restarting a previously
 | 
			
		||||
# preserved env
 | 
			
		||||
CI_REUSE = 0
 | 
			
		||||
 | 
			
		||||
# We need the user's login and home directory to prepare the
 | 
			
		||||
# environment the way some programs expect it
 | 
			
		||||
CI_USER_LOGIN = $(shell whoami)
 | 
			
		||||
CI_USER_HOME = $(shell eval echo "~$(CI_USER_LOGIN)")
 | 
			
		||||
 | 
			
		||||
# We also need the container process to run with current host IDs
 | 
			
		||||
# so that it can access the passed in build directory
 | 
			
		||||
CI_UID = $(shell id -u "$(CI_USER_LOGIN)")
 | 
			
		||||
CI_GID = $(shell id -g "$(CI_USER_LOGIN)")
 | 
			
		||||
 | 
			
		||||
CI_ENGINE = auto
 | 
			
		||||
# Container engine we are going to use, can be overridden per make
 | 
			
		||||
# invocation, if it is not we try podman and then default to docker.
 | 
			
		||||
ifeq ($(CI_ENGINE),auto)
 | 
			
		||||
	override CI_ENGINE = $(shell podman version >/dev/null 2>&1 && echo podman || echo docker)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# IDs you run as do not need to exist in
 | 
			
		||||
# the container's /etc/passwd & /etc/group files, but
 | 
			
		||||
# if they do not, then libvirt's 'ninja test' will fail
 | 
			
		||||
# many tests.
 | 
			
		||||
 | 
			
		||||
# We do not directly mount /etc/{passwd,group} as Docker
 | 
			
		||||
# is liable to mess with SELinux labelling which will
 | 
			
		||||
# then prevent the host accessing them. And podman cannot
 | 
			
		||||
# relabel the files due to it running rootless. So
 | 
			
		||||
# copying them first is safer and less error-prone.
 | 
			
		||||
CI_PWDB_MOUNTS = \
 | 
			
		||||
	--volume $(CI_SCRATCHDIR)/group:/etc/group:ro,z \
 | 
			
		||||
	--volume $(CI_SCRATCHDIR)/passwd:/etc/passwd:ro,z \
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
CI_HOME_MOUNTS = \
 | 
			
		||||
	--volume $(CI_SCRATCHDIR)/home:$(CI_USER_HOME):z \
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
CI_SCRIPT_MOUNTS = \
 | 
			
		||||
	--volume $(CI_SCRATCHDIR)/build:$(CI_USER_HOME)/build:z \
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
# Docker containers can have very large ulimits
 | 
			
		||||
# for nofiles - as much as 1048576. This makes
 | 
			
		||||
# libvirt very slow at exec'ing programs.
 | 
			
		||||
CI_ULIMIT_FILES = 1024
 | 
			
		||||
 | 
			
		||||
ifeq ($(CI_ENGINE),podman)
 | 
			
		||||
	# Podman cannot reuse host namespace when running non-root
 | 
			
		||||
	# containers.  Until support for --keep-uid is added we can
 | 
			
		||||
	# just create another mapping that will do that for us.
 | 
			
		||||
	# Beware, that in {uid,git}map=container_id:host_id:range, the
 | 
			
		||||
	# host_id does actually refer to the uid in the first mapping
 | 
			
		||||
	# where 0 (root) is mapped to the current user and rest is
 | 
			
		||||
	# offset.
 | 
			
		||||
	#
 | 
			
		||||
	# In order to set up this mapping, we need to keep all the
 | 
			
		||||
	# user IDs to prevent possible errors as some images might
 | 
			
		||||
	# expect UIDs up to 90000 (looking at you fedora), so we don't
 | 
			
		||||
	# want the overflowuid to be used for them.  For mapping all
 | 
			
		||||
	# the other users properly, some math needs to be done.
 | 
			
		||||
	# Don't worry, it's just addition and subtraction.
 | 
			
		||||
	#
 | 
			
		||||
	# 65536 ought to be enough (tm), but for really rare cases the
 | 
			
		||||
	# maximums might need to be higher, but that only happens when
 | 
			
		||||
	# your /etc/sub{u,g}id allow users to have more IDs.  Unless
 | 
			
		||||
	# --keep-uid is supported, let's do this in a way that should
 | 
			
		||||
	# work for everyone.
 | 
			
		||||
	CI_MAX_UID = $(shell sed -n "s/^$(CI_USER_LOGIN):[^:]\+://p" /etc/subuid)
 | 
			
		||||
	CI_MAX_GID = $(shell sed -n "s/^$(CI_USER_LOGIN):[^:]\+://p" /etc/subgid)
 | 
			
		||||
	ifeq ($(CI_MAX_UID),)
 | 
			
		||||
		CI_MAX_UID = 65536
 | 
			
		||||
	endif
 | 
			
		||||
	ifeq ($(CI_MAX_GID),)
 | 
			
		||||
		CI_MAX_GID = 65536
 | 
			
		||||
	endif
 | 
			
		||||
	CI_UID_OTHER = $(shell echo $$(($(CI_UID)+1)))
 | 
			
		||||
	CI_GID_OTHER = $(shell echo $$(($(CI_GID)+1)))
 | 
			
		||||
	CI_UID_OTHER_RANGE = $(shell echo $$(($(CI_MAX_UID)-$(CI_UID))))
 | 
			
		||||
	CI_GID_OTHER_RANGE = $(shell echo $$(($(CI_MAX_GID)-$(CI_GID))))
 | 
			
		||||
 | 
			
		||||
	ifneq ($(CI_UID), 0)
 | 
			
		||||
		CI_PODMAN_ARGS = \
 | 
			
		||||
			--uidmap 0:1:$(CI_UID) \
 | 
			
		||||
			--uidmap $(CI_UID):0:1 \
 | 
			
		||||
			--uidmap $(CI_UID_OTHER):$(CI_UID_OTHER):$(CI_UID_OTHER_RANGE) \
 | 
			
		||||
			--gidmap 0:1:$(CI_GID) \
 | 
			
		||||
			--gidmap $(CI_GID):0:1 \
 | 
			
		||||
			--gidmap $(CI_GID_OTHER):$(CI_GID_OTHER):$(CI_GID_OTHER_RANGE) \
 | 
			
		||||
			$(NULL)
 | 
			
		||||
	endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Args to use when cloning a git repo.
 | 
			
		||||
#  -c  stop it complaining about checking out a random hash
 | 
			
		||||
#  -q  stop it displaying progress info for local clone
 | 
			
		||||
#  --local ensure we don't actually copy files
 | 
			
		||||
CI_GIT_ARGS = \
 | 
			
		||||
	-c advice.detachedHead=false \
 | 
			
		||||
	-q \
 | 
			
		||||
	--local  \
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
# Args to use when running the container
 | 
			
		||||
#   --rm      stop inactive containers getting left behind
 | 
			
		||||
#   --user    we execute as the same user & group account
 | 
			
		||||
#             as dev so that file ownership matches host
 | 
			
		||||
#             instead of root:root
 | 
			
		||||
#   --workdir we change to user's home dir in the container
 | 
			
		||||
#             before running the workload
 | 
			
		||||
#   --volume  to pass in the cloned git repo & config
 | 
			
		||||
#   --ulimit  lower files limit for performance reasons
 | 
			
		||||
#   --interactive
 | 
			
		||||
#   --tty     Ensure we have ability to Ctrl-C the build
 | 
			
		||||
CI_ENGINE_ARGS = \
 | 
			
		||||
	--rm \
 | 
			
		||||
	--interactive \
 | 
			
		||||
	--tty \
 | 
			
		||||
	--user "$(CI_UID)":"$(CI_GID)" \
 | 
			
		||||
	--workdir "$(CI_USER_HOME)" \
 | 
			
		||||
	--env CI_CONT_SRCDIR="$(CI_CONT_SRCDIR)" \
 | 
			
		||||
	--env CI_MESON_ARGS="$(CI_MESON_ARGS)" \
 | 
			
		||||
	--env CI_NINJA_ARGS="$(CI_NINJA_ARGS)" \
 | 
			
		||||
	$(CI_PODMAN_ARGS) \
 | 
			
		||||
	$(CI_PWDB_MOUNTS) \
 | 
			
		||||
	$(CI_HOME_MOUNTS) \
 | 
			
		||||
	$(CI_SCRIPT_MOUNTS) \
 | 
			
		||||
	--volume $(CI_HOST_SRCDIR):$(CI_CONT_SRCDIR):z \
 | 
			
		||||
	--ulimit nofile=$(CI_ULIMIT_FILES):$(CI_ULIMIT_FILES) \
 | 
			
		||||
	--cap-add=SYS_PTRACE \
 | 
			
		||||
	$(NULL)
 | 
			
		||||
 | 
			
		||||
ci-check-engine:
 | 
			
		||||
	@echo -n "Checking if $(CI_ENGINE) is available..." && \
 | 
			
		||||
	$(CI_ENGINE) version 1>/dev/null && echo "yes"
 | 
			
		||||
 | 
			
		||||
ci-prepare-tree: ci-check-engine
 | 
			
		||||
	@test "$(CI_REUSE)" != "1" && rm -rf $(CI_SCRATCHDIR) || :
 | 
			
		||||
	@if ! test -d $(CI_SCRATCHDIR) ; then \
 | 
			
		||||
		mkdir -p $(CI_SCRATCHDIR); \
 | 
			
		||||
		cp /etc/passwd $(CI_SCRATCHDIR); \
 | 
			
		||||
		cp /etc/group $(CI_SCRATCHDIR); \
 | 
			
		||||
		mkdir -p $(CI_SCRATCHDIR)/home; \
 | 
			
		||||
		cp "$(CI_BUILD_SCRIPT)" $(CI_SCRATCHDIR)/build; \
 | 
			
		||||
		chmod +x "$(CI_SCRATCHDIR)/build"; \
 | 
			
		||||
		echo "Cloning $(CI_GIT_ROOT) to $(CI_HOST_SRCDIR)"; \
 | 
			
		||||
		git clone $(CI_GIT_ARGS) $(CI_GIT_ROOT) $(CI_HOST_SRCDIR) || exit 1; \
 | 
			
		||||
		for mod in $$(git submodule | awk '{ print $$2 }' | sed -E 's,^../,,g') ; \
 | 
			
		||||
		do \
 | 
			
		||||
			test -f $(CI_GIT_ROOT)/$$mod/.git || continue ; \
 | 
			
		||||
			echo "Cloning $(CI_GIT_ROOT)/$$mod to $(CI_HOST_SRCDIR)/$$mod"; \
 | 
			
		||||
			git clone $(CI_GIT_ARGS) $(CI_GIT_ROOT)/$$mod $(CI_HOST_SRCDIR)/$$mod || exit 1; \
 | 
			
		||||
		done ; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
ci-run-command@%: ci-prepare-tree
 | 
			
		||||
	$(CI_ENGINE) run \
 | 
			
		||||
		$(CI_ENGINE_ARGS) \
 | 
			
		||||
		$(CI_IMAGE_PREFIX)$*$(CI_IMAGE_TAG) \
 | 
			
		||||
		$(CI_COMMAND)
 | 
			
		||||
	@test "$(CI_CLEAN)" = "1" && rm -rf $(CI_SCRATCHDIR) || :
 | 
			
		||||
 | 
			
		||||
ci-shell@%:
 | 
			
		||||
	$(MAKE) -C $(CI_ROOTDIR) ci-run-command@$* CI_COMMAND="/bin/bash"
 | 
			
		||||
 | 
			
		||||
ci-build@%:
 | 
			
		||||
	$(MAKE) -C $(CI_ROOTDIR) ci-run-command@$* CI_COMMAND="$(CI_USER_HOME)/build"
 | 
			
		||||
 | 
			
		||||
ci-test@%:
 | 
			
		||||
	$(MAKE) -C $(CI_ROOTDIR) ci-build@$* CI_NINJA_ARGS=test
 | 
			
		||||
 | 
			
		||||
ci-help:
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "      !!!  PLEASE DON'T USE THIS DIRECTLY  !!!"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "          Use the ci/helper script instead"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "      !!!  PLEASE DON'T USE THIS DIRECTLY  !!!"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "Build libvirt inside containers used for CI"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "Available targets:"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "    ci-build@\$$IMAGE - run a default 'ninja' build"
 | 
			
		||||
	@echo "    ci-test@\$$IMAGE  - run a 'ninja test'"
 | 
			
		||||
	@echo "    ci-shell@\$$IMAGE - run an interactive shell"
 | 
			
		||||
	@echo "    ci-help         - show this help message"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "Available make variables:"
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "    CI_CLEAN=0              - do not delete '$(CI_SCRATCHDIR)' after completion"
 | 
			
		||||
	@echo "    CI_REUSE=1              - re-use existing '$(CI_SCRATCHDIR)' content"
 | 
			
		||||
	@echo "    CI_ENGINE=auto          - container engine to use (podman, docker)"
 | 
			
		||||
	@echo "    CI_USER_LOGIN=          - which user should run in the container (default is $$USER)"
 | 
			
		||||
	@echo "    CI_IMAGE_PREFIX=        - override to prefer a locally built image, (default is $(CI_IMAGE_PREFIX))"
 | 
			
		||||
	@echo "    CI_IMAGE_TAG=:latest    - optionally use in conjunction with 'CI_IMAGE_PREFIX'"
 | 
			
		||||
	@echo "    CI_MESON_ARGS=          - extra arguments passed to meson"
 | 
			
		||||
	@echo "    CI_NINJA_ARGS=          - extra arguments passed to ninja"
 | 
			
		||||
	@echo
 | 
			
		||||
@@ -1,87 +0,0 @@
 | 
			
		||||
==============
 | 
			
		||||
CI for libvirt
 | 
			
		||||
==============
 | 
			
		||||
 | 
			
		||||
This document provides some information related to the CI capabilities for the
 | 
			
		||||
libvirt project.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Cirrus CI integration
 | 
			
		||||
=====================
 | 
			
		||||
 | 
			
		||||
libvirt currently supports three non-Linux operating systems: Windows, FreeBSD
 | 
			
		||||
and macOS. Windows cross-builds can be prepared on Linux by using `MinGW`_, but
 | 
			
		||||
for both FreeBSD and macOS we need to use the actual operating system, and
 | 
			
		||||
unfortunately GitLab shared runners are currently not available for either.
 | 
			
		||||
 | 
			
		||||
To work around this limitation, we take advantage of `Cirrus CI`_'s free
 | 
			
		||||
offering: more specifically, we use the `cirrus-run`_ script to trigger Cirrus
 | 
			
		||||
CI jobs from GitLab CI jobs so that the workaround is almost entirely
 | 
			
		||||
transparent to users and there's no need to constantly check two separate CI
 | 
			
		||||
dashboards.
 | 
			
		||||
 | 
			
		||||
There is, however, some one-time setup required. If you want FreeBSD and macOS
 | 
			
		||||
builds to happen when you push to your GitLab repository, you need to
 | 
			
		||||
 | 
			
		||||
* set up a GitHub repository for the project, eg. ``yourusername/libvirt``.
 | 
			
		||||
  This repository needs to exist for cirrus-run to work, but it doesn't need to
 | 
			
		||||
  be kept up to date, so you can create it and then forget about it;
 | 
			
		||||
 | 
			
		||||
* enable the `Cirrus CI GitHub app`_  for your GitHub account;
 | 
			
		||||
 | 
			
		||||
* sign up for Cirrus CI. It's enough to log into the website using your GitHub
 | 
			
		||||
  account;
 | 
			
		||||
 | 
			
		||||
* grab an API token from the `Cirrus CI settings`_ page;
 | 
			
		||||
 | 
			
		||||
* it may be necessary to push an empty ``.cirrus.yml`` file to your github fork
 | 
			
		||||
  for Cirrus CI to properly recognize the project. You can check whether
 | 
			
		||||
  Cirrus CI knows about your project by navigating to:
 | 
			
		||||
 | 
			
		||||
  ``https://cirrus-ci.com/yourusername/libvirt``
 | 
			
		||||
 | 
			
		||||
* in the *CI/CD / Variables* section of the settings page for your GitLab
 | 
			
		||||
  repository, create two new variables:
 | 
			
		||||
 | 
			
		||||
  * ``CIRRUS_GITHUB_REPO``, containing the name of the GitHub repository
 | 
			
		||||
    created earlier, eg. ``yourusername/libvirt``;
 | 
			
		||||
 | 
			
		||||
  * ``CIRRUS_API_TOKEN``, containing the Cirrus CI API token generated earlier.
 | 
			
		||||
    This variable **must** be marked as *Masked*, because anyone with knowledge
 | 
			
		||||
    of it can impersonate you as far as Cirrus CI is concerned.
 | 
			
		||||
 | 
			
		||||
  Neither of these variables should be marked as *Protected*, because in
 | 
			
		||||
  general you'll want to be able to trigger Cirrus CI builds from non-protected
 | 
			
		||||
  branches.
 | 
			
		||||
 | 
			
		||||
Once this one-time setup is complete, you can just keep pushing to your GitLab
 | 
			
		||||
repository as usual and you'll automatically get the additional CI coverage.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. _Cirrus CI GitHub app: https://github.com/marketplace/cirrus-ci
 | 
			
		||||
.. _Cirrus CI settings: https://cirrus-ci.com/settings/profile/
 | 
			
		||||
.. _Cirrus CI: https://cirrus-ci.com/
 | 
			
		||||
.. _MinGW: http://mingw.org/
 | 
			
		||||
.. _cirrus-run: https://github.com/sio/cirrus-run/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Coverity scan integration
 | 
			
		||||
=========================
 | 
			
		||||
 | 
			
		||||
This will be used only by the main repository for master branch by running
 | 
			
		||||
scheduled pipeline in GitLab.
 | 
			
		||||
 | 
			
		||||
The service is proved by `Coverity Scan`_ and requires that the project is
 | 
			
		||||
registered there to get free coverity analysis which we already have for
 | 
			
		||||
`libvirt project`_.
 | 
			
		||||
 | 
			
		||||
To run the coverity job it requires two new variables:
 | 
			
		||||
 | 
			
		||||
  * ``COVERITY_SCAN_PROJECT_NAME``, containing the `libvirt project`_
 | 
			
		||||
    name.
 | 
			
		||||
 | 
			
		||||
  * ``COVERITY_SCAN_TOKEN``, token visible to admins of `libvirt project`_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.. _Coverity Scan: https://scan.coverity.com/
 | 
			
		||||
.. _libvirt project: https://scan.coverity.com/projects/libvirt
 | 
			
		||||
							
								
								
									
										23
									
								
								ci/build.sh
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								ci/build.sh
									
									
									
									
									
								
							@@ -1,23 +0,0 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# This script is used to build libvirt inside the container.
 | 
			
		||||
#
 | 
			
		||||
# You can customize it to your liking, or alternatively use a
 | 
			
		||||
# completely different script by passing
 | 
			
		||||
#
 | 
			
		||||
#  CI_BUILD_SCRIPT=/path/to/your/build/script
 | 
			
		||||
#
 | 
			
		||||
# to make.
 | 
			
		||||
 | 
			
		||||
cd "$CI_CONT_SRCDIR"
 | 
			
		||||
 | 
			
		||||
export VIR_TEST_DEBUG=1
 | 
			
		||||
 | 
			
		||||
# $MESON_OPTS is an env that can optionally be set in the container,
 | 
			
		||||
# populated at build time from the Dockerfile. A typical use case would
 | 
			
		||||
# be to pass options to trigger cross-compilation
 | 
			
		||||
 | 
			
		||||
meson build --werror $MESON_OPTS $CI_MESON_ARGS || \
 | 
			
		||||
(cat build/meson-logs/meson-log.txt && exit 1)
 | 
			
		||||
 | 
			
		||||
ninja -C build $CI_NINJA_ARGS
 | 
			
		||||
@@ -1,29 +0,0 @@
 | 
			
		||||
@CIRRUS_VM_INSTANCE_TYPE@:
 | 
			
		||||
  @CIRRUS_VM_IMAGE_SELECTOR@: @CIRRUS_VM_IMAGE_NAME@
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CI_REPOSITORY_URL: "@CI_REPOSITORY_URL@"
 | 
			
		||||
  CI_COMMIT_REF_NAME: "@CI_COMMIT_REF_NAME@"
 | 
			
		||||
  CI_COMMIT_SHA: "@CI_COMMIT_SHA@"
 | 
			
		||||
  PATH: "@PATH@"
 | 
			
		||||
  PKG_CONFIG_PATH: "@PKG_CONFIG_PATH@"
 | 
			
		||||
  PYTHON: "@PYTHON@"
 | 
			
		||||
  MAKE: "@MAKE@"
 | 
			
		||||
  VIR_TEST_VERBOSE: "1"
 | 
			
		||||
  VIR_TEST_DEBUG: "1"
 | 
			
		||||
 | 
			
		||||
build_task:
 | 
			
		||||
  install_script:
 | 
			
		||||
    - @UPDATE_COMMAND@
 | 
			
		||||
    - @UPGRADE_COMMAND@
 | 
			
		||||
    - @INSTALL_COMMAND@ @PKGS@
 | 
			
		||||
    - if test -n "@PYPI_PKGS@" ; then @PIP3@ install @PYPI_PKGS@ ; fi
 | 
			
		||||
  clone_script:
 | 
			
		||||
    - git clone --depth 100 "$CI_REPOSITORY_URL" .
 | 
			
		||||
    - git fetch origin "$CI_COMMIT_REF_NAME"
 | 
			
		||||
    - git reset --hard "$CI_COMMIT_SHA"
 | 
			
		||||
  build_script:
 | 
			
		||||
    - meson setup build
 | 
			
		||||
    - meson dist -C build --no-tests
 | 
			
		||||
    - meson compile -C build
 | 
			
		||||
    - meson test -C build --no-suite syntax-check
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
CCACHE='/usr/local/bin/ccache'
 | 
			
		||||
CPAN_PKGS=''
 | 
			
		||||
CROSS_PKGS=''
 | 
			
		||||
MAKE='/usr/local/bin/gmake'
 | 
			
		||||
NINJA='/usr/local/bin/ninja'
 | 
			
		||||
PACKAGING_COMMAND='pkg'
 | 
			
		||||
PIP3='/usr/local/bin/pip-3.8'
 | 
			
		||||
PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py38-docutils py38-flake8 python3 qemu readline yajl'
 | 
			
		||||
PYPI_PKGS=''
 | 
			
		||||
PYTHON='/usr/local/bin/python3'
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
CCACHE='/usr/local/bin/ccache'
 | 
			
		||||
CPAN_PKGS=''
 | 
			
		||||
CROSS_PKGS=''
 | 
			
		||||
MAKE='/usr/local/bin/gmake'
 | 
			
		||||
NINJA='/usr/local/bin/ninja'
 | 
			
		||||
PACKAGING_COMMAND='pkg'
 | 
			
		||||
PIP3='/usr/local/bin/pip-3.8'
 | 
			
		||||
PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py38-docutils py38-flake8 python3 qemu readline yajl'
 | 
			
		||||
PYPI_PKGS=''
 | 
			
		||||
PYTHON='/usr/local/bin/python3'
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
CCACHE='/usr/local/bin/ccache'
 | 
			
		||||
CPAN_PKGS=''
 | 
			
		||||
CROSS_PKGS=''
 | 
			
		||||
MAKE='/usr/local/bin/gmake'
 | 
			
		||||
NINJA='/usr/local/bin/ninja'
 | 
			
		||||
PACKAGING_COMMAND='pkg'
 | 
			
		||||
PIP3='/usr/local/bin/pip-3.8'
 | 
			
		||||
PKGS='augeas bash-completion ca_root_nss ccache codespell cppi curl cyrus-sasl diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py38-docutils py38-flake8 python3 qemu readline yajl'
 | 
			
		||||
PYPI_PKGS=''
 | 
			
		||||
PYTHON='/usr/local/bin/python3'
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
CCACHE='/usr/local/bin/ccache'
 | 
			
		||||
CPAN_PKGS=''
 | 
			
		||||
CROSS_PKGS=''
 | 
			
		||||
MAKE='/usr/local/bin/gmake'
 | 
			
		||||
NINJA='/usr/local/bin/ninja'
 | 
			
		||||
PACKAGING_COMMAND='brew'
 | 
			
		||||
PIP3='/usr/local/bin/pip3'
 | 
			
		||||
PKGS='augeas bash-completion ccache codespell cppi curl diffutils dnsmasq docutils flake8 gettext git glib gnu-sed gnutls grep libiscsi libpcap libssh libssh2 libxml2 libxslt make meson ninja perl pkg-config python3 qemu readline rpcgen scrub yajl'
 | 
			
		||||
PYPI_PKGS=''
 | 
			
		||||
PYTHON='/usr/local/bin/python3'
 | 
			
		||||
@@ -1,100 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/centos:8
 | 
			
		||||
 | 
			
		||||
RUN dnf update -y && \
 | 
			
		||||
    dnf install 'dnf-command(config-manager)' -y && \
 | 
			
		||||
    dnf config-manager --set-enabled -y powertools && \
 | 
			
		||||
    dnf install -y centos-release-advanced-virtualization && \
 | 
			
		||||
    dnf install -y epel-release && \
 | 
			
		||||
    dnf install -y \
 | 
			
		||||
        audit-libs-devel \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        clang \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cyrus-sasl-devel \
 | 
			
		||||
        device-mapper-devel \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        fuse-devel \
 | 
			
		||||
        gcc \
 | 
			
		||||
        gettext \
 | 
			
		||||
        git \
 | 
			
		||||
        glib2-devel \
 | 
			
		||||
        glibc-devel \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        glusterfs-api-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libacl-devel \
 | 
			
		||||
        libattr-devel \
 | 
			
		||||
        libblkid-devel \
 | 
			
		||||
        libcap-ng-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libiscsi-devel \
 | 
			
		||||
        libnl3-devel \
 | 
			
		||||
        libpcap-devel \
 | 
			
		||||
        libpciaccess-devel \
 | 
			
		||||
        librbd-devel \
 | 
			
		||||
        libselinux-devel \
 | 
			
		||||
        libssh-devel \
 | 
			
		||||
        libssh2-devel \
 | 
			
		||||
        libtirpc-devel \
 | 
			
		||||
        libwsman-devel \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxml2-devel \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        netcf-devel \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numactl-devel \
 | 
			
		||||
        numad \
 | 
			
		||||
        parted-devel \
 | 
			
		||||
        perl \
 | 
			
		||||
        pkgconfig \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        readline-devel \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        sanlock-devel \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        systemtap-sdt-devel \
 | 
			
		||||
        wireshark-devel \
 | 
			
		||||
        yajl-devel && \
 | 
			
		||||
    dnf autoremove -y && \
 | 
			
		||||
    dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,100 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM quay.io/centos/centos:stream8
 | 
			
		||||
 | 
			
		||||
RUN dnf update -y && \
 | 
			
		||||
    dnf install 'dnf-command(config-manager)' -y && \
 | 
			
		||||
    dnf config-manager --set-enabled -y powertools && \
 | 
			
		||||
    dnf install -y centos-release-advanced-virtualization && \
 | 
			
		||||
    dnf install -y epel-release && \
 | 
			
		||||
    dnf install -y \
 | 
			
		||||
        audit-libs-devel \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        clang \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cyrus-sasl-devel \
 | 
			
		||||
        device-mapper-devel \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        fuse-devel \
 | 
			
		||||
        gcc \
 | 
			
		||||
        gettext \
 | 
			
		||||
        git \
 | 
			
		||||
        glib2-devel \
 | 
			
		||||
        glibc-devel \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        glusterfs-api-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libacl-devel \
 | 
			
		||||
        libattr-devel \
 | 
			
		||||
        libblkid-devel \
 | 
			
		||||
        libcap-ng-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libiscsi-devel \
 | 
			
		||||
        libnl3-devel \
 | 
			
		||||
        libpcap-devel \
 | 
			
		||||
        libpciaccess-devel \
 | 
			
		||||
        librbd-devel \
 | 
			
		||||
        libselinux-devel \
 | 
			
		||||
        libssh-devel \
 | 
			
		||||
        libssh2-devel \
 | 
			
		||||
        libtirpc-devel \
 | 
			
		||||
        libwsman-devel \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxml2-devel \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        netcf-devel \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numactl-devel \
 | 
			
		||||
        numad \
 | 
			
		||||
        parted-devel \
 | 
			
		||||
        perl \
 | 
			
		||||
        pkgconfig \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        readline-devel \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        sanlock-devel \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        systemtap-sdt-devel \
 | 
			
		||||
        wireshark-devel \
 | 
			
		||||
        yajl-devel && \
 | 
			
		||||
    dnf autoremove -y && \
 | 
			
		||||
    dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,127 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture arm64 && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-aarch64-linux-gnu \
 | 
			
		||||
            libacl1-dev:arm64 \
 | 
			
		||||
            libapparmor-dev:arm64 \
 | 
			
		||||
            libattr1-dev:arm64 \
 | 
			
		||||
            libaudit-dev:arm64 \
 | 
			
		||||
            libblkid-dev:arm64 \
 | 
			
		||||
            libc6-dev:arm64 \
 | 
			
		||||
            libcap-ng-dev:arm64 \
 | 
			
		||||
            libcurl4-gnutls-dev:arm64 \
 | 
			
		||||
            libdevmapper-dev:arm64 \
 | 
			
		||||
            libfuse-dev:arm64 \
 | 
			
		||||
            libglib2.0-dev:arm64 \
 | 
			
		||||
            libglusterfs-dev:arm64 \
 | 
			
		||||
            libgnutls28-dev:arm64 \
 | 
			
		||||
            libiscsi-dev:arm64 \
 | 
			
		||||
            libnl-3-dev:arm64 \
 | 
			
		||||
            libnl-route-3-dev:arm64 \
 | 
			
		||||
            libnuma-dev:arm64 \
 | 
			
		||||
            libparted-dev:arm64 \
 | 
			
		||||
            libpcap0.8-dev:arm64 \
 | 
			
		||||
            libpciaccess-dev:arm64 \
 | 
			
		||||
            librbd-dev:arm64 \
 | 
			
		||||
            libreadline-dev:arm64 \
 | 
			
		||||
            libsanlock-dev:arm64 \
 | 
			
		||||
            libsasl2-dev:arm64 \
 | 
			
		||||
            libselinux1-dev:arm64 \
 | 
			
		||||
            libssh-gcrypt-dev:arm64 \
 | 
			
		||||
            libssh2-1-dev:arm64 \
 | 
			
		||||
            libtirpc-dev:arm64 \
 | 
			
		||||
            libudev-dev:arm64 \
 | 
			
		||||
            libxen-dev:arm64 \
 | 
			
		||||
            libxml2-dev:arm64 \
 | 
			
		||||
            libyajl-dev:arm64 \
 | 
			
		||||
            systemtap-sdt-dev:arm64 && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'aarch64'\n\
 | 
			
		||||
cpu = 'aarch64'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "aarch64-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=aarch64-linux-gnu"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture armel && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-arm-linux-gnueabi \
 | 
			
		||||
            libacl1-dev:armel \
 | 
			
		||||
            libapparmor-dev:armel \
 | 
			
		||||
            libattr1-dev:armel \
 | 
			
		||||
            libaudit-dev:armel \
 | 
			
		||||
            libblkid-dev:armel \
 | 
			
		||||
            libc6-dev:armel \
 | 
			
		||||
            libcap-ng-dev:armel \
 | 
			
		||||
            libcurl4-gnutls-dev:armel \
 | 
			
		||||
            libdevmapper-dev:armel \
 | 
			
		||||
            libfuse-dev:armel \
 | 
			
		||||
            libglib2.0-dev:armel \
 | 
			
		||||
            libglusterfs-dev:armel \
 | 
			
		||||
            libgnutls28-dev:armel \
 | 
			
		||||
            libiscsi-dev:armel \
 | 
			
		||||
            libnl-3-dev:armel \
 | 
			
		||||
            libnl-route-3-dev:armel \
 | 
			
		||||
            libnuma-dev:armel \
 | 
			
		||||
            libparted-dev:armel \
 | 
			
		||||
            libpcap0.8-dev:armel \
 | 
			
		||||
            libpciaccess-dev:armel \
 | 
			
		||||
            librbd-dev:armel \
 | 
			
		||||
            libreadline-dev:armel \
 | 
			
		||||
            libsanlock-dev:armel \
 | 
			
		||||
            libsasl2-dev:armel \
 | 
			
		||||
            libselinux1-dev:armel \
 | 
			
		||||
            libssh-gcrypt-dev:armel \
 | 
			
		||||
            libssh2-1-dev:armel \
 | 
			
		||||
            libtirpc-dev:armel \
 | 
			
		||||
            libudev-dev:armel \
 | 
			
		||||
            libxml2-dev:armel \
 | 
			
		||||
            libyajl-dev:armel \
 | 
			
		||||
            systemtap-sdt-dev:armel && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'arm'\n\
 | 
			
		||||
cpu = 'arm'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "arm-linux-gnueabi"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
 | 
			
		||||
@@ -1,127 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture armhf && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-arm-linux-gnueabihf \
 | 
			
		||||
            libacl1-dev:armhf \
 | 
			
		||||
            libapparmor-dev:armhf \
 | 
			
		||||
            libattr1-dev:armhf \
 | 
			
		||||
            libaudit-dev:armhf \
 | 
			
		||||
            libblkid-dev:armhf \
 | 
			
		||||
            libc6-dev:armhf \
 | 
			
		||||
            libcap-ng-dev:armhf \
 | 
			
		||||
            libcurl4-gnutls-dev:armhf \
 | 
			
		||||
            libdevmapper-dev:armhf \
 | 
			
		||||
            libfuse-dev:armhf \
 | 
			
		||||
            libglib2.0-dev:armhf \
 | 
			
		||||
            libglusterfs-dev:armhf \
 | 
			
		||||
            libgnutls28-dev:armhf \
 | 
			
		||||
            libiscsi-dev:armhf \
 | 
			
		||||
            libnl-3-dev:armhf \
 | 
			
		||||
            libnl-route-3-dev:armhf \
 | 
			
		||||
            libnuma-dev:armhf \
 | 
			
		||||
            libparted-dev:armhf \
 | 
			
		||||
            libpcap0.8-dev:armhf \
 | 
			
		||||
            libpciaccess-dev:armhf \
 | 
			
		||||
            librbd-dev:armhf \
 | 
			
		||||
            libreadline-dev:armhf \
 | 
			
		||||
            libsanlock-dev:armhf \
 | 
			
		||||
            libsasl2-dev:armhf \
 | 
			
		||||
            libselinux1-dev:armhf \
 | 
			
		||||
            libssh-gcrypt-dev:armhf \
 | 
			
		||||
            libssh2-1-dev:armhf \
 | 
			
		||||
            libtirpc-dev:armhf \
 | 
			
		||||
            libudev-dev:armhf \
 | 
			
		||||
            libxen-dev:armhf \
 | 
			
		||||
            libxml2-dev:armhf \
 | 
			
		||||
            libyajl-dev:armhf \
 | 
			
		||||
            systemtap-sdt-dev:armhf && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'arm'\n\
 | 
			
		||||
cpu = 'armhf'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "arm-linux-gnueabihf"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture i386 && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-i686-linux-gnu \
 | 
			
		||||
            libacl1-dev:i386 \
 | 
			
		||||
            libapparmor-dev:i386 \
 | 
			
		||||
            libattr1-dev:i386 \
 | 
			
		||||
            libaudit-dev:i386 \
 | 
			
		||||
            libblkid-dev:i386 \
 | 
			
		||||
            libc6-dev:i386 \
 | 
			
		||||
            libcap-ng-dev:i386 \
 | 
			
		||||
            libcurl4-gnutls-dev:i386 \
 | 
			
		||||
            libdevmapper-dev:i386 \
 | 
			
		||||
            libfuse-dev:i386 \
 | 
			
		||||
            libglib2.0-dev:i386 \
 | 
			
		||||
            libglusterfs-dev:i386 \
 | 
			
		||||
            libgnutls28-dev:i386 \
 | 
			
		||||
            libiscsi-dev:i386 \
 | 
			
		||||
            libnl-3-dev:i386 \
 | 
			
		||||
            libnl-route-3-dev:i386 \
 | 
			
		||||
            libnuma-dev:i386 \
 | 
			
		||||
            libparted-dev:i386 \
 | 
			
		||||
            libpcap0.8-dev:i386 \
 | 
			
		||||
            libpciaccess-dev:i386 \
 | 
			
		||||
            librbd-dev:i386 \
 | 
			
		||||
            libreadline-dev:i386 \
 | 
			
		||||
            libsanlock-dev:i386 \
 | 
			
		||||
            libsasl2-dev:i386 \
 | 
			
		||||
            libselinux1-dev:i386 \
 | 
			
		||||
            libssh-gcrypt-dev:i386 \
 | 
			
		||||
            libssh2-1-dev:i386 \
 | 
			
		||||
            libtirpc-dev:i386 \
 | 
			
		||||
            libudev-dev:i386 \
 | 
			
		||||
            libxml2-dev:i386 \
 | 
			
		||||
            libyajl-dev:i386 \
 | 
			
		||||
            systemtap-sdt-dev:i386 && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/i686-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/i686-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'x86'\n\
 | 
			
		||||
cpu = 'i686'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "i686-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=i686-linux-gnu"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mips && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mips-linux-gnu \
 | 
			
		||||
            libacl1-dev:mips \
 | 
			
		||||
            libapparmor-dev:mips \
 | 
			
		||||
            libattr1-dev:mips \
 | 
			
		||||
            libaudit-dev:mips \
 | 
			
		||||
            libblkid-dev:mips \
 | 
			
		||||
            libc6-dev:mips \
 | 
			
		||||
            libcap-ng-dev:mips \
 | 
			
		||||
            libcurl4-gnutls-dev:mips \
 | 
			
		||||
            libdevmapper-dev:mips \
 | 
			
		||||
            libfuse-dev:mips \
 | 
			
		||||
            libglib2.0-dev:mips \
 | 
			
		||||
            libglusterfs-dev:mips \
 | 
			
		||||
            libgnutls28-dev:mips \
 | 
			
		||||
            libiscsi-dev:mips \
 | 
			
		||||
            libnl-3-dev:mips \
 | 
			
		||||
            libnl-route-3-dev:mips \
 | 
			
		||||
            libnuma-dev:mips \
 | 
			
		||||
            libparted-dev:mips \
 | 
			
		||||
            libpcap0.8-dev:mips \
 | 
			
		||||
            libpciaccess-dev:mips \
 | 
			
		||||
            librbd-dev:mips \
 | 
			
		||||
            libreadline-dev:mips \
 | 
			
		||||
            libsanlock-dev:mips \
 | 
			
		||||
            libsasl2-dev:mips \
 | 
			
		||||
            libselinux1-dev:mips \
 | 
			
		||||
            libssh-gcrypt-dev:mips \
 | 
			
		||||
            libssh2-1-dev:mips \
 | 
			
		||||
            libtirpc-dev:mips \
 | 
			
		||||
            libudev-dev:mips \
 | 
			
		||||
            libxml2-dev:mips \
 | 
			
		||||
            libyajl-dev:mips \
 | 
			
		||||
            systemtap-sdt-dev:mips && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mips-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mips-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mips-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mips-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips'\n\
 | 
			
		||||
cpu = 'mips'\n\
 | 
			
		||||
endian = 'big'" > /usr/local/share/meson/cross/mips-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mips-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mips-linux-gnu"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mips64el && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mips64el-linux-gnuabi64 \
 | 
			
		||||
            libacl1-dev:mips64el \
 | 
			
		||||
            libapparmor-dev:mips64el \
 | 
			
		||||
            libattr1-dev:mips64el \
 | 
			
		||||
            libaudit-dev:mips64el \
 | 
			
		||||
            libblkid-dev:mips64el \
 | 
			
		||||
            libc6-dev:mips64el \
 | 
			
		||||
            libcap-ng-dev:mips64el \
 | 
			
		||||
            libcurl4-gnutls-dev:mips64el \
 | 
			
		||||
            libdevmapper-dev:mips64el \
 | 
			
		||||
            libfuse-dev:mips64el \
 | 
			
		||||
            libglib2.0-dev:mips64el \
 | 
			
		||||
            libglusterfs-dev:mips64el \
 | 
			
		||||
            libgnutls28-dev:mips64el \
 | 
			
		||||
            libiscsi-dev:mips64el \
 | 
			
		||||
            libnl-3-dev:mips64el \
 | 
			
		||||
            libnl-route-3-dev:mips64el \
 | 
			
		||||
            libnuma-dev:mips64el \
 | 
			
		||||
            libparted-dev:mips64el \
 | 
			
		||||
            libpcap0.8-dev:mips64el \
 | 
			
		||||
            libpciaccess-dev:mips64el \
 | 
			
		||||
            librbd-dev:mips64el \
 | 
			
		||||
            libreadline-dev:mips64el \
 | 
			
		||||
            libsanlock-dev:mips64el \
 | 
			
		||||
            libsasl2-dev:mips64el \
 | 
			
		||||
            libselinux1-dev:mips64el \
 | 
			
		||||
            libssh-gcrypt-dev:mips64el \
 | 
			
		||||
            libssh2-1-dev:mips64el \
 | 
			
		||||
            libtirpc-dev:mips64el \
 | 
			
		||||
            libudev-dev:mips64el \
 | 
			
		||||
            libxml2-dev:mips64el \
 | 
			
		||||
            libyajl-dev:mips64el \
 | 
			
		||||
            systemtap-sdt-dev:mips64el && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips64'\n\
 | 
			
		||||
cpu = 'mips64el'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mips64el-linux-gnuabi64"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mipsel && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mipsel-linux-gnu \
 | 
			
		||||
            libacl1-dev:mipsel \
 | 
			
		||||
            libapparmor-dev:mipsel \
 | 
			
		||||
            libattr1-dev:mipsel \
 | 
			
		||||
            libaudit-dev:mipsel \
 | 
			
		||||
            libblkid-dev:mipsel \
 | 
			
		||||
            libc6-dev:mipsel \
 | 
			
		||||
            libcap-ng-dev:mipsel \
 | 
			
		||||
            libcurl4-gnutls-dev:mipsel \
 | 
			
		||||
            libdevmapper-dev:mipsel \
 | 
			
		||||
            libfuse-dev:mipsel \
 | 
			
		||||
            libglib2.0-dev:mipsel \
 | 
			
		||||
            libglusterfs-dev:mipsel \
 | 
			
		||||
            libgnutls28-dev:mipsel \
 | 
			
		||||
            libiscsi-dev:mipsel \
 | 
			
		||||
            libnl-3-dev:mipsel \
 | 
			
		||||
            libnl-route-3-dev:mipsel \
 | 
			
		||||
            libnuma-dev:mipsel \
 | 
			
		||||
            libparted-dev:mipsel \
 | 
			
		||||
            libpcap0.8-dev:mipsel \
 | 
			
		||||
            libpciaccess-dev:mipsel \
 | 
			
		||||
            librbd-dev:mipsel \
 | 
			
		||||
            libreadline-dev:mipsel \
 | 
			
		||||
            libsanlock-dev:mipsel \
 | 
			
		||||
            libsasl2-dev:mipsel \
 | 
			
		||||
            libselinux1-dev:mipsel \
 | 
			
		||||
            libssh-gcrypt-dev:mipsel \
 | 
			
		||||
            libssh2-1-dev:mipsel \
 | 
			
		||||
            libtirpc-dev:mipsel \
 | 
			
		||||
            libudev-dev:mipsel \
 | 
			
		||||
            libxml2-dev:mipsel \
 | 
			
		||||
            libyajl-dev:mipsel \
 | 
			
		||||
            systemtap-sdt-dev:mipsel && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips'\n\
 | 
			
		||||
cpu = 'mipsel'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mipsel-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture ppc64el && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-powerpc64le-linux-gnu \
 | 
			
		||||
            libacl1-dev:ppc64el \
 | 
			
		||||
            libapparmor-dev:ppc64el \
 | 
			
		||||
            libattr1-dev:ppc64el \
 | 
			
		||||
            libaudit-dev:ppc64el \
 | 
			
		||||
            libblkid-dev:ppc64el \
 | 
			
		||||
            libc6-dev:ppc64el \
 | 
			
		||||
            libcap-ng-dev:ppc64el \
 | 
			
		||||
            libcurl4-gnutls-dev:ppc64el \
 | 
			
		||||
            libdevmapper-dev:ppc64el \
 | 
			
		||||
            libfuse-dev:ppc64el \
 | 
			
		||||
            libglib2.0-dev:ppc64el \
 | 
			
		||||
            libglusterfs-dev:ppc64el \
 | 
			
		||||
            libgnutls28-dev:ppc64el \
 | 
			
		||||
            libiscsi-dev:ppc64el \
 | 
			
		||||
            libnl-3-dev:ppc64el \
 | 
			
		||||
            libnl-route-3-dev:ppc64el \
 | 
			
		||||
            libnuma-dev:ppc64el \
 | 
			
		||||
            libparted-dev:ppc64el \
 | 
			
		||||
            libpcap0.8-dev:ppc64el \
 | 
			
		||||
            libpciaccess-dev:ppc64el \
 | 
			
		||||
            librbd-dev:ppc64el \
 | 
			
		||||
            libreadline-dev:ppc64el \
 | 
			
		||||
            libsanlock-dev:ppc64el \
 | 
			
		||||
            libsasl2-dev:ppc64el \
 | 
			
		||||
            libselinux1-dev:ppc64el \
 | 
			
		||||
            libssh-gcrypt-dev:ppc64el \
 | 
			
		||||
            libssh2-1-dev:ppc64el \
 | 
			
		||||
            libtirpc-dev:ppc64el \
 | 
			
		||||
            libudev-dev:ppc64el \
 | 
			
		||||
            libxml2-dev:ppc64el \
 | 
			
		||||
            libyajl-dev:ppc64el \
 | 
			
		||||
            systemtap-sdt-dev:ppc64el && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'ppc64'\n\
 | 
			
		||||
cpu = 'powerpc64le'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "powerpc64le-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu"
 | 
			
		||||
@@ -1,126 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture s390x && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-s390x-linux-gnu \
 | 
			
		||||
            libacl1-dev:s390x \
 | 
			
		||||
            libapparmor-dev:s390x \
 | 
			
		||||
            libattr1-dev:s390x \
 | 
			
		||||
            libaudit-dev:s390x \
 | 
			
		||||
            libblkid-dev:s390x \
 | 
			
		||||
            libc6-dev:s390x \
 | 
			
		||||
            libcap-ng-dev:s390x \
 | 
			
		||||
            libcurl4-gnutls-dev:s390x \
 | 
			
		||||
            libdevmapper-dev:s390x \
 | 
			
		||||
            libfuse-dev:s390x \
 | 
			
		||||
            libglib2.0-dev:s390x \
 | 
			
		||||
            libglusterfs-dev:s390x \
 | 
			
		||||
            libgnutls28-dev:s390x \
 | 
			
		||||
            libiscsi-dev:s390x \
 | 
			
		||||
            libnl-3-dev:s390x \
 | 
			
		||||
            libnl-route-3-dev:s390x \
 | 
			
		||||
            libnuma-dev:s390x \
 | 
			
		||||
            libparted-dev:s390x \
 | 
			
		||||
            libpcap0.8-dev:s390x \
 | 
			
		||||
            libpciaccess-dev:s390x \
 | 
			
		||||
            librbd-dev:s390x \
 | 
			
		||||
            libreadline-dev:s390x \
 | 
			
		||||
            libsanlock-dev:s390x \
 | 
			
		||||
            libsasl2-dev:s390x \
 | 
			
		||||
            libselinux1-dev:s390x \
 | 
			
		||||
            libssh-gcrypt-dev:s390x \
 | 
			
		||||
            libssh2-1-dev:s390x \
 | 
			
		||||
            libtirpc-dev:s390x \
 | 
			
		||||
            libudev-dev:s390x \
 | 
			
		||||
            libxml2-dev:s390x \
 | 
			
		||||
            libyajl-dev:s390x \
 | 
			
		||||
            systemtap-sdt-dev:s390x && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 's390x'\n\
 | 
			
		||||
cpu = 's390x'\n\
 | 
			
		||||
endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "s390x-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=s390x-linux-gnu"
 | 
			
		||||
@@ -1,107 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:10-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            clang \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gcc \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libacl1-dev \
 | 
			
		||||
            libapparmor-dev \
 | 
			
		||||
            libattr1-dev \
 | 
			
		||||
            libaudit-dev \
 | 
			
		||||
            libblkid-dev \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libc6-dev \
 | 
			
		||||
            libcap-ng-dev \
 | 
			
		||||
            libcurl4-gnutls-dev \
 | 
			
		||||
            libdevmapper-dev \
 | 
			
		||||
            libfuse-dev \
 | 
			
		||||
            libglib2.0-dev \
 | 
			
		||||
            libglusterfs-dev \
 | 
			
		||||
            libgnutls28-dev \
 | 
			
		||||
            libiscsi-dev \
 | 
			
		||||
            libnetcf-dev \
 | 
			
		||||
            libnl-3-dev \
 | 
			
		||||
            libnl-route-3-dev \
 | 
			
		||||
            libnuma-dev \
 | 
			
		||||
            libparted-dev \
 | 
			
		||||
            libpcap0.8-dev \
 | 
			
		||||
            libpciaccess-dev \
 | 
			
		||||
            librbd-dev \
 | 
			
		||||
            libreadline-dev \
 | 
			
		||||
            libsanlock-dev \
 | 
			
		||||
            libsasl2-dev \
 | 
			
		||||
            libselinux1-dev \
 | 
			
		||||
            libssh-gcrypt-dev \
 | 
			
		||||
            libssh2-1-dev \
 | 
			
		||||
            libtirpc-dev \
 | 
			
		||||
            libudev-dev \
 | 
			
		||||
            libxen-dev \
 | 
			
		||||
            libxml2-dev \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            libyajl-dev \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            systemtap-sdt-dev \
 | 
			
		||||
            wireshark-dev \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,122 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture arm64 && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-aarch64-linux-gnu \
 | 
			
		||||
            libacl1-dev:arm64 \
 | 
			
		||||
            libapparmor-dev:arm64 \
 | 
			
		||||
            libattr1-dev:arm64 \
 | 
			
		||||
            libaudit-dev:arm64 \
 | 
			
		||||
            libblkid-dev:arm64 \
 | 
			
		||||
            libc6-dev:arm64 \
 | 
			
		||||
            libcap-ng-dev:arm64 \
 | 
			
		||||
            libcurl4-gnutls-dev:arm64 \
 | 
			
		||||
            libdevmapper-dev:arm64 \
 | 
			
		||||
            libfuse-dev:arm64 \
 | 
			
		||||
            libglib2.0-dev:arm64 \
 | 
			
		||||
            libglusterfs-dev:arm64 \
 | 
			
		||||
            libgnutls28-dev:arm64 \
 | 
			
		||||
            libiscsi-dev:arm64 \
 | 
			
		||||
            libnl-3-dev:arm64 \
 | 
			
		||||
            libnl-route-3-dev:arm64 \
 | 
			
		||||
            libnuma-dev:arm64 \
 | 
			
		||||
            libparted-dev:arm64 \
 | 
			
		||||
            libpcap0.8-dev:arm64 \
 | 
			
		||||
            libpciaccess-dev:arm64 \
 | 
			
		||||
            librbd-dev:arm64 \
 | 
			
		||||
            libreadline-dev:arm64 \
 | 
			
		||||
            libsanlock-dev:arm64 \
 | 
			
		||||
            libsasl2-dev:arm64 \
 | 
			
		||||
            libselinux1-dev:arm64 \
 | 
			
		||||
            libssh-gcrypt-dev:arm64 \
 | 
			
		||||
            libssh2-1-dev:arm64 \
 | 
			
		||||
            libtirpc-dev:arm64 \
 | 
			
		||||
            libudev-dev:arm64 \
 | 
			
		||||
            libxen-dev:arm64 \
 | 
			
		||||
            libxml2-dev:arm64 \
 | 
			
		||||
            libyajl-dev:arm64 \
 | 
			
		||||
            systemtap-sdt-dev:arm64 && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'aarch64'\n\
 | 
			
		||||
cpu = 'aarch64'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "aarch64-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=aarch64-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture armel && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-arm-linux-gnueabi \
 | 
			
		||||
            libacl1-dev:armel \
 | 
			
		||||
            libapparmor-dev:armel \
 | 
			
		||||
            libattr1-dev:armel \
 | 
			
		||||
            libaudit-dev:armel \
 | 
			
		||||
            libblkid-dev:armel \
 | 
			
		||||
            libc6-dev:armel \
 | 
			
		||||
            libcap-ng-dev:armel \
 | 
			
		||||
            libcurl4-gnutls-dev:armel \
 | 
			
		||||
            libdevmapper-dev:armel \
 | 
			
		||||
            libfuse-dev:armel \
 | 
			
		||||
            libglib2.0-dev:armel \
 | 
			
		||||
            libglusterfs-dev:armel \
 | 
			
		||||
            libgnutls28-dev:armel \
 | 
			
		||||
            libiscsi-dev:armel \
 | 
			
		||||
            libnl-3-dev:armel \
 | 
			
		||||
            libnl-route-3-dev:armel \
 | 
			
		||||
            libnuma-dev:armel \
 | 
			
		||||
            libparted-dev:armel \
 | 
			
		||||
            libpcap0.8-dev:armel \
 | 
			
		||||
            libpciaccess-dev:armel \
 | 
			
		||||
            librbd-dev:armel \
 | 
			
		||||
            libreadline-dev:armel \
 | 
			
		||||
            libsanlock-dev:armel \
 | 
			
		||||
            libsasl2-dev:armel \
 | 
			
		||||
            libselinux1-dev:armel \
 | 
			
		||||
            libssh-gcrypt-dev:armel \
 | 
			
		||||
            libssh2-1-dev:armel \
 | 
			
		||||
            libtirpc-dev:armel \
 | 
			
		||||
            libudev-dev:armel \
 | 
			
		||||
            libxml2-dev:armel \
 | 
			
		||||
            libyajl-dev:armel \
 | 
			
		||||
            systemtap-sdt-dev:armel && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'arm'\n\
 | 
			
		||||
cpu = 'arm'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "arm-linux-gnueabi"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
 | 
			
		||||
@@ -1,122 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture armhf && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-arm-linux-gnueabihf \
 | 
			
		||||
            libacl1-dev:armhf \
 | 
			
		||||
            libapparmor-dev:armhf \
 | 
			
		||||
            libattr1-dev:armhf \
 | 
			
		||||
            libaudit-dev:armhf \
 | 
			
		||||
            libblkid-dev:armhf \
 | 
			
		||||
            libc6-dev:armhf \
 | 
			
		||||
            libcap-ng-dev:armhf \
 | 
			
		||||
            libcurl4-gnutls-dev:armhf \
 | 
			
		||||
            libdevmapper-dev:armhf \
 | 
			
		||||
            libfuse-dev:armhf \
 | 
			
		||||
            libglib2.0-dev:armhf \
 | 
			
		||||
            libglusterfs-dev:armhf \
 | 
			
		||||
            libgnutls28-dev:armhf \
 | 
			
		||||
            libiscsi-dev:armhf \
 | 
			
		||||
            libnl-3-dev:armhf \
 | 
			
		||||
            libnl-route-3-dev:armhf \
 | 
			
		||||
            libnuma-dev:armhf \
 | 
			
		||||
            libparted-dev:armhf \
 | 
			
		||||
            libpcap0.8-dev:armhf \
 | 
			
		||||
            libpciaccess-dev:armhf \
 | 
			
		||||
            librbd-dev:armhf \
 | 
			
		||||
            libreadline-dev:armhf \
 | 
			
		||||
            libsanlock-dev:armhf \
 | 
			
		||||
            libsasl2-dev:armhf \
 | 
			
		||||
            libselinux1-dev:armhf \
 | 
			
		||||
            libssh-gcrypt-dev:armhf \
 | 
			
		||||
            libssh2-1-dev:armhf \
 | 
			
		||||
            libtirpc-dev:armhf \
 | 
			
		||||
            libudev-dev:armhf \
 | 
			
		||||
            libxen-dev:armhf \
 | 
			
		||||
            libxml2-dev:armhf \
 | 
			
		||||
            libyajl-dev:armhf \
 | 
			
		||||
            systemtap-sdt-dev:armhf && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'arm'\n\
 | 
			
		||||
cpu = 'armhf'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "arm-linux-gnueabihf"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture i386 && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-i686-linux-gnu \
 | 
			
		||||
            libacl1-dev:i386 \
 | 
			
		||||
            libapparmor-dev:i386 \
 | 
			
		||||
            libattr1-dev:i386 \
 | 
			
		||||
            libaudit-dev:i386 \
 | 
			
		||||
            libblkid-dev:i386 \
 | 
			
		||||
            libc6-dev:i386 \
 | 
			
		||||
            libcap-ng-dev:i386 \
 | 
			
		||||
            libcurl4-gnutls-dev:i386 \
 | 
			
		||||
            libdevmapper-dev:i386 \
 | 
			
		||||
            libfuse-dev:i386 \
 | 
			
		||||
            libglib2.0-dev:i386 \
 | 
			
		||||
            libglusterfs-dev:i386 \
 | 
			
		||||
            libgnutls28-dev:i386 \
 | 
			
		||||
            libiscsi-dev:i386 \
 | 
			
		||||
            libnl-3-dev:i386 \
 | 
			
		||||
            libnl-route-3-dev:i386 \
 | 
			
		||||
            libnuma-dev:i386 \
 | 
			
		||||
            libparted-dev:i386 \
 | 
			
		||||
            libpcap0.8-dev:i386 \
 | 
			
		||||
            libpciaccess-dev:i386 \
 | 
			
		||||
            librbd-dev:i386 \
 | 
			
		||||
            libreadline-dev:i386 \
 | 
			
		||||
            libsanlock-dev:i386 \
 | 
			
		||||
            libsasl2-dev:i386 \
 | 
			
		||||
            libselinux1-dev:i386 \
 | 
			
		||||
            libssh-gcrypt-dev:i386 \
 | 
			
		||||
            libssh2-1-dev:i386 \
 | 
			
		||||
            libtirpc-dev:i386 \
 | 
			
		||||
            libudev-dev:i386 \
 | 
			
		||||
            libxml2-dev:i386 \
 | 
			
		||||
            libyajl-dev:i386 \
 | 
			
		||||
            systemtap-sdt-dev:i386 && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/i686-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/i686-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'x86'\n\
 | 
			
		||||
cpu = 'i686'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "i686-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=i686-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mips64el && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mips64el-linux-gnuabi64 \
 | 
			
		||||
            libacl1-dev:mips64el \
 | 
			
		||||
            libapparmor-dev:mips64el \
 | 
			
		||||
            libattr1-dev:mips64el \
 | 
			
		||||
            libaudit-dev:mips64el \
 | 
			
		||||
            libblkid-dev:mips64el \
 | 
			
		||||
            libc6-dev:mips64el \
 | 
			
		||||
            libcap-ng-dev:mips64el \
 | 
			
		||||
            libcurl4-gnutls-dev:mips64el \
 | 
			
		||||
            libdevmapper-dev:mips64el \
 | 
			
		||||
            libfuse-dev:mips64el \
 | 
			
		||||
            libglib2.0-dev:mips64el \
 | 
			
		||||
            libglusterfs-dev:mips64el \
 | 
			
		||||
            libgnutls28-dev:mips64el \
 | 
			
		||||
            libiscsi-dev:mips64el \
 | 
			
		||||
            libnl-3-dev:mips64el \
 | 
			
		||||
            libnl-route-3-dev:mips64el \
 | 
			
		||||
            libnuma-dev:mips64el \
 | 
			
		||||
            libparted-dev:mips64el \
 | 
			
		||||
            libpcap0.8-dev:mips64el \
 | 
			
		||||
            libpciaccess-dev:mips64el \
 | 
			
		||||
            librbd-dev:mips64el \
 | 
			
		||||
            libreadline-dev:mips64el \
 | 
			
		||||
            libsanlock-dev:mips64el \
 | 
			
		||||
            libsasl2-dev:mips64el \
 | 
			
		||||
            libselinux1-dev:mips64el \
 | 
			
		||||
            libssh-gcrypt-dev:mips64el \
 | 
			
		||||
            libssh2-1-dev:mips64el \
 | 
			
		||||
            libtirpc-dev:mips64el \
 | 
			
		||||
            libudev-dev:mips64el \
 | 
			
		||||
            libxml2-dev:mips64el \
 | 
			
		||||
            libyajl-dev:mips64el \
 | 
			
		||||
            systemtap-sdt-dev:mips64el && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips64'\n\
 | 
			
		||||
cpu = 'mips64el'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mips64el-linux-gnuabi64"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mipsel && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mipsel-linux-gnu \
 | 
			
		||||
            libacl1-dev:mipsel \
 | 
			
		||||
            libapparmor-dev:mipsel \
 | 
			
		||||
            libattr1-dev:mipsel \
 | 
			
		||||
            libaudit-dev:mipsel \
 | 
			
		||||
            libblkid-dev:mipsel \
 | 
			
		||||
            libc6-dev:mipsel \
 | 
			
		||||
            libcap-ng-dev:mipsel \
 | 
			
		||||
            libcurl4-gnutls-dev:mipsel \
 | 
			
		||||
            libdevmapper-dev:mipsel \
 | 
			
		||||
            libfuse-dev:mipsel \
 | 
			
		||||
            libglib2.0-dev:mipsel \
 | 
			
		||||
            libglusterfs-dev:mipsel \
 | 
			
		||||
            libgnutls28-dev:mipsel \
 | 
			
		||||
            libiscsi-dev:mipsel \
 | 
			
		||||
            libnl-3-dev:mipsel \
 | 
			
		||||
            libnl-route-3-dev:mipsel \
 | 
			
		||||
            libnuma-dev:mipsel \
 | 
			
		||||
            libparted-dev:mipsel \
 | 
			
		||||
            libpcap0.8-dev:mipsel \
 | 
			
		||||
            libpciaccess-dev:mipsel \
 | 
			
		||||
            librbd-dev:mipsel \
 | 
			
		||||
            libreadline-dev:mipsel \
 | 
			
		||||
            libsanlock-dev:mipsel \
 | 
			
		||||
            libsasl2-dev:mipsel \
 | 
			
		||||
            libselinux1-dev:mipsel \
 | 
			
		||||
            libssh-gcrypt-dev:mipsel \
 | 
			
		||||
            libssh2-1-dev:mipsel \
 | 
			
		||||
            libtirpc-dev:mipsel \
 | 
			
		||||
            libudev-dev:mipsel \
 | 
			
		||||
            libxml2-dev:mipsel \
 | 
			
		||||
            libyajl-dev:mipsel \
 | 
			
		||||
            systemtap-sdt-dev:mipsel && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips'\n\
 | 
			
		||||
cpu = 'mipsel'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mipsel-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture ppc64el && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-powerpc64le-linux-gnu \
 | 
			
		||||
            libacl1-dev:ppc64el \
 | 
			
		||||
            libapparmor-dev:ppc64el \
 | 
			
		||||
            libattr1-dev:ppc64el \
 | 
			
		||||
            libaudit-dev:ppc64el \
 | 
			
		||||
            libblkid-dev:ppc64el \
 | 
			
		||||
            libc6-dev:ppc64el \
 | 
			
		||||
            libcap-ng-dev:ppc64el \
 | 
			
		||||
            libcurl4-gnutls-dev:ppc64el \
 | 
			
		||||
            libdevmapper-dev:ppc64el \
 | 
			
		||||
            libfuse-dev:ppc64el \
 | 
			
		||||
            libglib2.0-dev:ppc64el \
 | 
			
		||||
            libglusterfs-dev:ppc64el \
 | 
			
		||||
            libgnutls28-dev:ppc64el \
 | 
			
		||||
            libiscsi-dev:ppc64el \
 | 
			
		||||
            libnl-3-dev:ppc64el \
 | 
			
		||||
            libnl-route-3-dev:ppc64el \
 | 
			
		||||
            libnuma-dev:ppc64el \
 | 
			
		||||
            libparted-dev:ppc64el \
 | 
			
		||||
            libpcap0.8-dev:ppc64el \
 | 
			
		||||
            libpciaccess-dev:ppc64el \
 | 
			
		||||
            librbd-dev:ppc64el \
 | 
			
		||||
            libreadline-dev:ppc64el \
 | 
			
		||||
            libsanlock-dev:ppc64el \
 | 
			
		||||
            libsasl2-dev:ppc64el \
 | 
			
		||||
            libselinux1-dev:ppc64el \
 | 
			
		||||
            libssh-gcrypt-dev:ppc64el \
 | 
			
		||||
            libssh2-1-dev:ppc64el \
 | 
			
		||||
            libtirpc-dev:ppc64el \
 | 
			
		||||
            libudev-dev:ppc64el \
 | 
			
		||||
            libxml2-dev:ppc64el \
 | 
			
		||||
            libyajl-dev:ppc64el \
 | 
			
		||||
            systemtap-sdt-dev:ppc64el && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'ppc64'\n\
 | 
			
		||||
cpu = 'powerpc64le'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "powerpc64le-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture s390x && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-s390x-linux-gnu \
 | 
			
		||||
            libacl1-dev:s390x \
 | 
			
		||||
            libapparmor-dev:s390x \
 | 
			
		||||
            libattr1-dev:s390x \
 | 
			
		||||
            libaudit-dev:s390x \
 | 
			
		||||
            libblkid-dev:s390x \
 | 
			
		||||
            libc6-dev:s390x \
 | 
			
		||||
            libcap-ng-dev:s390x \
 | 
			
		||||
            libcurl4-gnutls-dev:s390x \
 | 
			
		||||
            libdevmapper-dev:s390x \
 | 
			
		||||
            libfuse-dev:s390x \
 | 
			
		||||
            libglib2.0-dev:s390x \
 | 
			
		||||
            libglusterfs-dev:s390x \
 | 
			
		||||
            libgnutls28-dev:s390x \
 | 
			
		||||
            libiscsi-dev:s390x \
 | 
			
		||||
            libnl-3-dev:s390x \
 | 
			
		||||
            libnl-route-3-dev:s390x \
 | 
			
		||||
            libnuma-dev:s390x \
 | 
			
		||||
            libparted-dev:s390x \
 | 
			
		||||
            libpcap0.8-dev:s390x \
 | 
			
		||||
            libpciaccess-dev:s390x \
 | 
			
		||||
            librbd-dev:s390x \
 | 
			
		||||
            libreadline-dev:s390x \
 | 
			
		||||
            libsanlock-dev:s390x \
 | 
			
		||||
            libsasl2-dev:s390x \
 | 
			
		||||
            libselinux1-dev:s390x \
 | 
			
		||||
            libssh-gcrypt-dev:s390x \
 | 
			
		||||
            libssh2-1-dev:s390x \
 | 
			
		||||
            libtirpc-dev:s390x \
 | 
			
		||||
            libudev-dev:s390x \
 | 
			
		||||
            libxml2-dev:s390x \
 | 
			
		||||
            libyajl-dev:s390x \
 | 
			
		||||
            systemtap-sdt-dev:s390x && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 's390x'\n\
 | 
			
		||||
cpu = 's390x'\n\
 | 
			
		||||
endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "s390x-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=s390x-linux-gnu"
 | 
			
		||||
@@ -1,102 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:11-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            clang \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gcc \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libacl1-dev \
 | 
			
		||||
            libapparmor-dev \
 | 
			
		||||
            libattr1-dev \
 | 
			
		||||
            libaudit-dev \
 | 
			
		||||
            libblkid-dev \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libc6-dev \
 | 
			
		||||
            libcap-ng-dev \
 | 
			
		||||
            libcurl4-gnutls-dev \
 | 
			
		||||
            libdevmapper-dev \
 | 
			
		||||
            libfuse-dev \
 | 
			
		||||
            libglib2.0-dev \
 | 
			
		||||
            libglusterfs-dev \
 | 
			
		||||
            libgnutls28-dev \
 | 
			
		||||
            libiscsi-dev \
 | 
			
		||||
            libnetcf-dev \
 | 
			
		||||
            libnl-3-dev \
 | 
			
		||||
            libnl-route-3-dev \
 | 
			
		||||
            libnuma-dev \
 | 
			
		||||
            libparted-dev \
 | 
			
		||||
            libpcap0.8-dev \
 | 
			
		||||
            libpciaccess-dev \
 | 
			
		||||
            librbd-dev \
 | 
			
		||||
            libreadline-dev \
 | 
			
		||||
            libsanlock-dev \
 | 
			
		||||
            libsasl2-dev \
 | 
			
		||||
            libselinux1-dev \
 | 
			
		||||
            libssh-gcrypt-dev \
 | 
			
		||||
            libssh2-1-dev \
 | 
			
		||||
            libtirpc-dev \
 | 
			
		||||
            libudev-dev \
 | 
			
		||||
            libxen-dev \
 | 
			
		||||
            libxml2-dev \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            libyajl-dev \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            systemtap-sdt-dev \
 | 
			
		||||
            wireshark-dev \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,122 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture arm64 && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-aarch64-linux-gnu \
 | 
			
		||||
            libacl1-dev:arm64 \
 | 
			
		||||
            libapparmor-dev:arm64 \
 | 
			
		||||
            libattr1-dev:arm64 \
 | 
			
		||||
            libaudit-dev:arm64 \
 | 
			
		||||
            libblkid-dev:arm64 \
 | 
			
		||||
            libc6-dev:arm64 \
 | 
			
		||||
            libcap-ng-dev:arm64 \
 | 
			
		||||
            libcurl4-gnutls-dev:arm64 \
 | 
			
		||||
            libdevmapper-dev:arm64 \
 | 
			
		||||
            libfuse-dev:arm64 \
 | 
			
		||||
            libglib2.0-dev:arm64 \
 | 
			
		||||
            libglusterfs-dev:arm64 \
 | 
			
		||||
            libgnutls28-dev:arm64 \
 | 
			
		||||
            libiscsi-dev:arm64 \
 | 
			
		||||
            libnl-3-dev:arm64 \
 | 
			
		||||
            libnl-route-3-dev:arm64 \
 | 
			
		||||
            libnuma-dev:arm64 \
 | 
			
		||||
            libparted-dev:arm64 \
 | 
			
		||||
            libpcap0.8-dev:arm64 \
 | 
			
		||||
            libpciaccess-dev:arm64 \
 | 
			
		||||
            librbd-dev:arm64 \
 | 
			
		||||
            libreadline-dev:arm64 \
 | 
			
		||||
            libsanlock-dev:arm64 \
 | 
			
		||||
            libsasl2-dev:arm64 \
 | 
			
		||||
            libselinux1-dev:arm64 \
 | 
			
		||||
            libssh-gcrypt-dev:arm64 \
 | 
			
		||||
            libssh2-1-dev:arm64 \
 | 
			
		||||
            libtirpc-dev:arm64 \
 | 
			
		||||
            libudev-dev:arm64 \
 | 
			
		||||
            libxen-dev:arm64 \
 | 
			
		||||
            libxml2-dev:arm64 \
 | 
			
		||||
            libyajl-dev:arm64 \
 | 
			
		||||
            systemtap-sdt-dev:arm64 && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'aarch64'\n\
 | 
			
		||||
cpu = 'aarch64'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "aarch64-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=aarch64-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture armel && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-arm-linux-gnueabi \
 | 
			
		||||
            libacl1-dev:armel \
 | 
			
		||||
            libapparmor-dev:armel \
 | 
			
		||||
            libattr1-dev:armel \
 | 
			
		||||
            libaudit-dev:armel \
 | 
			
		||||
            libblkid-dev:armel \
 | 
			
		||||
            libc6-dev:armel \
 | 
			
		||||
            libcap-ng-dev:armel \
 | 
			
		||||
            libcurl4-gnutls-dev:armel \
 | 
			
		||||
            libdevmapper-dev:armel \
 | 
			
		||||
            libfuse-dev:armel \
 | 
			
		||||
            libglib2.0-dev:armel \
 | 
			
		||||
            libglusterfs-dev:armel \
 | 
			
		||||
            libgnutls28-dev:armel \
 | 
			
		||||
            libiscsi-dev:armel \
 | 
			
		||||
            libnl-3-dev:armel \
 | 
			
		||||
            libnl-route-3-dev:armel \
 | 
			
		||||
            libnuma-dev:armel \
 | 
			
		||||
            libparted-dev:armel \
 | 
			
		||||
            libpcap0.8-dev:armel \
 | 
			
		||||
            libpciaccess-dev:armel \
 | 
			
		||||
            librbd-dev:armel \
 | 
			
		||||
            libreadline-dev:armel \
 | 
			
		||||
            libsanlock-dev:armel \
 | 
			
		||||
            libsasl2-dev:armel \
 | 
			
		||||
            libselinux1-dev:armel \
 | 
			
		||||
            libssh-gcrypt-dev:armel \
 | 
			
		||||
            libssh2-1-dev:armel \
 | 
			
		||||
            libtirpc-dev:armel \
 | 
			
		||||
            libudev-dev:armel \
 | 
			
		||||
            libxml2-dev:armel \
 | 
			
		||||
            libyajl-dev:armel \
 | 
			
		||||
            systemtap-sdt-dev:armel && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'arm'\n\
 | 
			
		||||
cpu = 'arm'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "arm-linux-gnueabi"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=arm-linux-gnueabi"
 | 
			
		||||
@@ -1,122 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture armhf && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-arm-linux-gnueabihf \
 | 
			
		||||
            libacl1-dev:armhf \
 | 
			
		||||
            libapparmor-dev:armhf \
 | 
			
		||||
            libattr1-dev:armhf \
 | 
			
		||||
            libaudit-dev:armhf \
 | 
			
		||||
            libblkid-dev:armhf \
 | 
			
		||||
            libc6-dev:armhf \
 | 
			
		||||
            libcap-ng-dev:armhf \
 | 
			
		||||
            libcurl4-gnutls-dev:armhf \
 | 
			
		||||
            libdevmapper-dev:armhf \
 | 
			
		||||
            libfuse-dev:armhf \
 | 
			
		||||
            libglib2.0-dev:armhf \
 | 
			
		||||
            libglusterfs-dev:armhf \
 | 
			
		||||
            libgnutls28-dev:armhf \
 | 
			
		||||
            libiscsi-dev:armhf \
 | 
			
		||||
            libnl-3-dev:armhf \
 | 
			
		||||
            libnl-route-3-dev:armhf \
 | 
			
		||||
            libnuma-dev:armhf \
 | 
			
		||||
            libparted-dev:armhf \
 | 
			
		||||
            libpcap0.8-dev:armhf \
 | 
			
		||||
            libpciaccess-dev:armhf \
 | 
			
		||||
            librbd-dev:armhf \
 | 
			
		||||
            libreadline-dev:armhf \
 | 
			
		||||
            libsanlock-dev:armhf \
 | 
			
		||||
            libsasl2-dev:armhf \
 | 
			
		||||
            libselinux1-dev:armhf \
 | 
			
		||||
            libssh-gcrypt-dev:armhf \
 | 
			
		||||
            libssh2-1-dev:armhf \
 | 
			
		||||
            libtirpc-dev:armhf \
 | 
			
		||||
            libudev-dev:armhf \
 | 
			
		||||
            libxen-dev:armhf \
 | 
			
		||||
            libxml2-dev:armhf \
 | 
			
		||||
            libyajl-dev:armhf \
 | 
			
		||||
            systemtap-sdt-dev:armhf && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'arm'\n\
 | 
			
		||||
cpu = 'armhf'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "arm-linux-gnueabihf"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture i386 && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-i686-linux-gnu \
 | 
			
		||||
            libacl1-dev:i386 \
 | 
			
		||||
            libapparmor-dev:i386 \
 | 
			
		||||
            libattr1-dev:i386 \
 | 
			
		||||
            libaudit-dev:i386 \
 | 
			
		||||
            libblkid-dev:i386 \
 | 
			
		||||
            libc6-dev:i386 \
 | 
			
		||||
            libcap-ng-dev:i386 \
 | 
			
		||||
            libcurl4-gnutls-dev:i386 \
 | 
			
		||||
            libdevmapper-dev:i386 \
 | 
			
		||||
            libfuse-dev:i386 \
 | 
			
		||||
            libglib2.0-dev:i386 \
 | 
			
		||||
            libglusterfs-dev:i386 \
 | 
			
		||||
            libgnutls28-dev:i386 \
 | 
			
		||||
            libiscsi-dev:i386 \
 | 
			
		||||
            libnl-3-dev:i386 \
 | 
			
		||||
            libnl-route-3-dev:i386 \
 | 
			
		||||
            libnuma-dev:i386 \
 | 
			
		||||
            libparted-dev:i386 \
 | 
			
		||||
            libpcap0.8-dev:i386 \
 | 
			
		||||
            libpciaccess-dev:i386 \
 | 
			
		||||
            librbd-dev:i386 \
 | 
			
		||||
            libreadline-dev:i386 \
 | 
			
		||||
            libsanlock-dev:i386 \
 | 
			
		||||
            libsasl2-dev:i386 \
 | 
			
		||||
            libselinux1-dev:i386 \
 | 
			
		||||
            libssh-gcrypt-dev:i386 \
 | 
			
		||||
            libssh2-1-dev:i386 \
 | 
			
		||||
            libtirpc-dev:i386 \
 | 
			
		||||
            libudev-dev:i386 \
 | 
			
		||||
            libxml2-dev:i386 \
 | 
			
		||||
            libyajl-dev:i386 \
 | 
			
		||||
            systemtap-sdt-dev:i386 && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/i686-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/i686-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'x86'\n\
 | 
			
		||||
cpu = 'i686'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "i686-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=i686-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mips64el && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mips64el-linux-gnuabi64 \
 | 
			
		||||
            libacl1-dev:mips64el \
 | 
			
		||||
            libapparmor-dev:mips64el \
 | 
			
		||||
            libattr1-dev:mips64el \
 | 
			
		||||
            libaudit-dev:mips64el \
 | 
			
		||||
            libblkid-dev:mips64el \
 | 
			
		||||
            libc6-dev:mips64el \
 | 
			
		||||
            libcap-ng-dev:mips64el \
 | 
			
		||||
            libcurl4-gnutls-dev:mips64el \
 | 
			
		||||
            libdevmapper-dev:mips64el \
 | 
			
		||||
            libfuse-dev:mips64el \
 | 
			
		||||
            libglib2.0-dev:mips64el \
 | 
			
		||||
            libglusterfs-dev:mips64el \
 | 
			
		||||
            libgnutls28-dev:mips64el \
 | 
			
		||||
            libiscsi-dev:mips64el \
 | 
			
		||||
            libnl-3-dev:mips64el \
 | 
			
		||||
            libnl-route-3-dev:mips64el \
 | 
			
		||||
            libnuma-dev:mips64el \
 | 
			
		||||
            libparted-dev:mips64el \
 | 
			
		||||
            libpcap0.8-dev:mips64el \
 | 
			
		||||
            libpciaccess-dev:mips64el \
 | 
			
		||||
            librbd-dev:mips64el \
 | 
			
		||||
            libreadline-dev:mips64el \
 | 
			
		||||
            libsanlock-dev:mips64el \
 | 
			
		||||
            libsasl2-dev:mips64el \
 | 
			
		||||
            libselinux1-dev:mips64el \
 | 
			
		||||
            libssh-gcrypt-dev:mips64el \
 | 
			
		||||
            libssh2-1-dev:mips64el \
 | 
			
		||||
            libtirpc-dev:mips64el \
 | 
			
		||||
            libudev-dev:mips64el \
 | 
			
		||||
            libxml2-dev:mips64el \
 | 
			
		||||
            libyajl-dev:mips64el \
 | 
			
		||||
            systemtap-sdt-dev:mips64el && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips64'\n\
 | 
			
		||||
cpu = 'mips64el'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mips64el-linux-gnuabi64"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mips64el-linux-gnuabi64"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture mipsel && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-mipsel-linux-gnu \
 | 
			
		||||
            libacl1-dev:mipsel \
 | 
			
		||||
            libapparmor-dev:mipsel \
 | 
			
		||||
            libattr1-dev:mipsel \
 | 
			
		||||
            libaudit-dev:mipsel \
 | 
			
		||||
            libblkid-dev:mipsel \
 | 
			
		||||
            libc6-dev:mipsel \
 | 
			
		||||
            libcap-ng-dev:mipsel \
 | 
			
		||||
            libcurl4-gnutls-dev:mipsel \
 | 
			
		||||
            libdevmapper-dev:mipsel \
 | 
			
		||||
            libfuse-dev:mipsel \
 | 
			
		||||
            libglib2.0-dev:mipsel \
 | 
			
		||||
            libglusterfs-dev:mipsel \
 | 
			
		||||
            libgnutls28-dev:mipsel \
 | 
			
		||||
            libiscsi-dev:mipsel \
 | 
			
		||||
            libnl-3-dev:mipsel \
 | 
			
		||||
            libnl-route-3-dev:mipsel \
 | 
			
		||||
            libnuma-dev:mipsel \
 | 
			
		||||
            libparted-dev:mipsel \
 | 
			
		||||
            libpcap0.8-dev:mipsel \
 | 
			
		||||
            libpciaccess-dev:mipsel \
 | 
			
		||||
            librbd-dev:mipsel \
 | 
			
		||||
            libreadline-dev:mipsel \
 | 
			
		||||
            libsanlock-dev:mipsel \
 | 
			
		||||
            libsasl2-dev:mipsel \
 | 
			
		||||
            libselinux1-dev:mipsel \
 | 
			
		||||
            libssh-gcrypt-dev:mipsel \
 | 
			
		||||
            libssh2-1-dev:mipsel \
 | 
			
		||||
            libtirpc-dev:mipsel \
 | 
			
		||||
            libudev-dev:mipsel \
 | 
			
		||||
            libxml2-dev:mipsel \
 | 
			
		||||
            libyajl-dev:mipsel \
 | 
			
		||||
            systemtap-sdt-dev:mipsel && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'mips'\n\
 | 
			
		||||
cpu = 'mipsel'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "mipsel-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=mipsel-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture ppc64el && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-powerpc64le-linux-gnu \
 | 
			
		||||
            libacl1-dev:ppc64el \
 | 
			
		||||
            libapparmor-dev:ppc64el \
 | 
			
		||||
            libattr1-dev:ppc64el \
 | 
			
		||||
            libaudit-dev:ppc64el \
 | 
			
		||||
            libblkid-dev:ppc64el \
 | 
			
		||||
            libc6-dev:ppc64el \
 | 
			
		||||
            libcap-ng-dev:ppc64el \
 | 
			
		||||
            libcurl4-gnutls-dev:ppc64el \
 | 
			
		||||
            libdevmapper-dev:ppc64el \
 | 
			
		||||
            libfuse-dev:ppc64el \
 | 
			
		||||
            libglib2.0-dev:ppc64el \
 | 
			
		||||
            libglusterfs-dev:ppc64el \
 | 
			
		||||
            libgnutls28-dev:ppc64el \
 | 
			
		||||
            libiscsi-dev:ppc64el \
 | 
			
		||||
            libnl-3-dev:ppc64el \
 | 
			
		||||
            libnl-route-3-dev:ppc64el \
 | 
			
		||||
            libnuma-dev:ppc64el \
 | 
			
		||||
            libparted-dev:ppc64el \
 | 
			
		||||
            libpcap0.8-dev:ppc64el \
 | 
			
		||||
            libpciaccess-dev:ppc64el \
 | 
			
		||||
            librbd-dev:ppc64el \
 | 
			
		||||
            libreadline-dev:ppc64el \
 | 
			
		||||
            libsanlock-dev:ppc64el \
 | 
			
		||||
            libsasl2-dev:ppc64el \
 | 
			
		||||
            libselinux1-dev:ppc64el \
 | 
			
		||||
            libssh-gcrypt-dev:ppc64el \
 | 
			
		||||
            libssh2-1-dev:ppc64el \
 | 
			
		||||
            libtirpc-dev:ppc64el \
 | 
			
		||||
            libudev-dev:ppc64el \
 | 
			
		||||
            libxml2-dev:ppc64el \
 | 
			
		||||
            libyajl-dev:ppc64el \
 | 
			
		||||
            systemtap-sdt-dev:ppc64el && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 'ppc64'\n\
 | 
			
		||||
cpu = 'powerpc64le'\n\
 | 
			
		||||
endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "powerpc64le-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu"
 | 
			
		||||
@@ -1,121 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    dpkg --add-architecture s390x && \
 | 
			
		||||
    eatmydata apt-get update && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            gcc-s390x-linux-gnu \
 | 
			
		||||
            libacl1-dev:s390x \
 | 
			
		||||
            libapparmor-dev:s390x \
 | 
			
		||||
            libattr1-dev:s390x \
 | 
			
		||||
            libaudit-dev:s390x \
 | 
			
		||||
            libblkid-dev:s390x \
 | 
			
		||||
            libc6-dev:s390x \
 | 
			
		||||
            libcap-ng-dev:s390x \
 | 
			
		||||
            libcurl4-gnutls-dev:s390x \
 | 
			
		||||
            libdevmapper-dev:s390x \
 | 
			
		||||
            libfuse-dev:s390x \
 | 
			
		||||
            libglib2.0-dev:s390x \
 | 
			
		||||
            libglusterfs-dev:s390x \
 | 
			
		||||
            libgnutls28-dev:s390x \
 | 
			
		||||
            libiscsi-dev:s390x \
 | 
			
		||||
            libnl-3-dev:s390x \
 | 
			
		||||
            libnl-route-3-dev:s390x \
 | 
			
		||||
            libnuma-dev:s390x \
 | 
			
		||||
            libparted-dev:s390x \
 | 
			
		||||
            libpcap0.8-dev:s390x \
 | 
			
		||||
            libpciaccess-dev:s390x \
 | 
			
		||||
            librbd-dev:s390x \
 | 
			
		||||
            libreadline-dev:s390x \
 | 
			
		||||
            libsanlock-dev:s390x \
 | 
			
		||||
            libsasl2-dev:s390x \
 | 
			
		||||
            libselinux1-dev:s390x \
 | 
			
		||||
            libssh-gcrypt-dev:s390x \
 | 
			
		||||
            libssh2-1-dev:s390x \
 | 
			
		||||
            libtirpc-dev:s390x \
 | 
			
		||||
            libudev-dev:s390x \
 | 
			
		||||
            libxml2-dev:s390x \
 | 
			
		||||
            libyajl-dev:s390x \
 | 
			
		||||
            systemtap-sdt-dev:s390x && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    mkdir -p /usr/local/share/meson/cross && \
 | 
			
		||||
    echo "[binaries]\n\
 | 
			
		||||
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
 | 
			
		||||
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
 | 
			
		||||
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
 | 
			
		||||
pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
 | 
			
		||||
\n\
 | 
			
		||||
[host_machine]\n\
 | 
			
		||||
system = 'linux'\n\
 | 
			
		||||
cpu_family = 's390x'\n\
 | 
			
		||||
cpu = 's390x'\n\
 | 
			
		||||
endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "s390x-linux-gnu"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=s390x-linux-gnu"
 | 
			
		||||
@@ -1,101 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/debian:sid-slim
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            clang \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gcc \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libacl1-dev \
 | 
			
		||||
            libapparmor-dev \
 | 
			
		||||
            libattr1-dev \
 | 
			
		||||
            libaudit-dev \
 | 
			
		||||
            libblkid-dev \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libc6-dev \
 | 
			
		||||
            libcap-ng-dev \
 | 
			
		||||
            libcurl4-gnutls-dev \
 | 
			
		||||
            libdevmapper-dev \
 | 
			
		||||
            libfuse-dev \
 | 
			
		||||
            libglib2.0-dev \
 | 
			
		||||
            libglusterfs-dev \
 | 
			
		||||
            libgnutls28-dev \
 | 
			
		||||
            libiscsi-dev \
 | 
			
		||||
            libnl-3-dev \
 | 
			
		||||
            libnl-route-3-dev \
 | 
			
		||||
            libnuma-dev \
 | 
			
		||||
            libparted-dev \
 | 
			
		||||
            libpcap0.8-dev \
 | 
			
		||||
            libpciaccess-dev \
 | 
			
		||||
            librbd-dev \
 | 
			
		||||
            libreadline-dev \
 | 
			
		||||
            libsanlock-dev \
 | 
			
		||||
            libsasl2-dev \
 | 
			
		||||
            libselinux1-dev \
 | 
			
		||||
            libssh-gcrypt-dev \
 | 
			
		||||
            libssh2-1-dev \
 | 
			
		||||
            libtirpc-dev \
 | 
			
		||||
            libudev-dev \
 | 
			
		||||
            libxen-dev \
 | 
			
		||||
            libxml2-dev \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            libyajl-dev \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            meson \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            systemtap-sdt-dev \
 | 
			
		||||
            wireshark-dev \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,110 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:34
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf update -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        audit-libs-devel \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        clang \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        cyrus-sasl-devel \
 | 
			
		||||
        device-mapper-devel \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        fuse-devel \
 | 
			
		||||
        gcc \
 | 
			
		||||
        gettext \
 | 
			
		||||
        git \
 | 
			
		||||
        glib2-devel \
 | 
			
		||||
        glibc-devel \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        glusterfs-api-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libacl-devel \
 | 
			
		||||
        libattr-devel \
 | 
			
		||||
        libblkid-devel \
 | 
			
		||||
        libcap-ng-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libiscsi-devel \
 | 
			
		||||
        libnl3-devel \
 | 
			
		||||
        libpcap-devel \
 | 
			
		||||
        libpciaccess-devel \
 | 
			
		||||
        librbd-devel \
 | 
			
		||||
        libselinux-devel \
 | 
			
		||||
        libssh-devel \
 | 
			
		||||
        libssh2-devel \
 | 
			
		||||
        libtirpc-devel \
 | 
			
		||||
        libwsman-devel \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxml2-devel \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        netcf-devel \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numactl-devel \
 | 
			
		||||
        numad \
 | 
			
		||||
        parted-devel \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        pkgconfig \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        readline-devel \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        sanlock-devel \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        systemtap-sdt-devel \
 | 
			
		||||
        wireshark-devel \
 | 
			
		||||
        xen-devel \
 | 
			
		||||
        yajl-devel && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,89 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:35
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf update -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        git \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numad \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN nosync dnf install -y \
 | 
			
		||||
        mingw32-curl \
 | 
			
		||||
        mingw32-dlfcn \
 | 
			
		||||
        mingw32-gcc \
 | 
			
		||||
        mingw32-gettext \
 | 
			
		||||
        mingw32-glib2 \
 | 
			
		||||
        mingw32-gnutls \
 | 
			
		||||
        mingw32-headers \
 | 
			
		||||
        mingw32-libssh2 \
 | 
			
		||||
        mingw32-libxml2 \
 | 
			
		||||
        mingw32-pkg-config \
 | 
			
		||||
        mingw32-portablexdr \
 | 
			
		||||
        mingw32-readline && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "i686-w64-mingw32"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
 | 
			
		||||
@@ -1,89 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:35
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf update -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        git \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numad \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN nosync dnf install -y \
 | 
			
		||||
        mingw64-curl \
 | 
			
		||||
        mingw64-dlfcn \
 | 
			
		||||
        mingw64-gcc \
 | 
			
		||||
        mingw64-gettext \
 | 
			
		||||
        mingw64-glib2 \
 | 
			
		||||
        mingw64-gnutls \
 | 
			
		||||
        mingw64-headers \
 | 
			
		||||
        mingw64-libssh2 \
 | 
			
		||||
        mingw64-libxml2 \
 | 
			
		||||
        mingw64-pkg-config \
 | 
			
		||||
        mingw64-portablexdr \
 | 
			
		||||
        mingw64-readline && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "x86_64-w64-mingw32"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
 | 
			
		||||
@@ -1,110 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:35
 | 
			
		||||
 | 
			
		||||
RUN dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf update -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        audit-libs-devel \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        clang \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        cyrus-sasl-devel \
 | 
			
		||||
        device-mapper-devel \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        fuse-devel \
 | 
			
		||||
        gcc \
 | 
			
		||||
        gettext \
 | 
			
		||||
        git \
 | 
			
		||||
        glib2-devel \
 | 
			
		||||
        glibc-devel \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        glusterfs-api-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libacl-devel \
 | 
			
		||||
        libattr-devel \
 | 
			
		||||
        libblkid-devel \
 | 
			
		||||
        libcap-ng-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libiscsi-devel \
 | 
			
		||||
        libnl3-devel \
 | 
			
		||||
        libpcap-devel \
 | 
			
		||||
        libpciaccess-devel \
 | 
			
		||||
        librbd-devel \
 | 
			
		||||
        libselinux-devel \
 | 
			
		||||
        libssh-devel \
 | 
			
		||||
        libssh2-devel \
 | 
			
		||||
        libtirpc-devel \
 | 
			
		||||
        libwsman-devel \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxml2-devel \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        netcf-devel \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numactl-devel \
 | 
			
		||||
        numad \
 | 
			
		||||
        parted-devel \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        pkgconfig \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        readline-devel \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        sanlock-devel \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        systemtap-sdt-devel \
 | 
			
		||||
        wireshark-devel \
 | 
			
		||||
        xen-devel \
 | 
			
		||||
        yajl-devel && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,90 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:rawhide
 | 
			
		||||
 | 
			
		||||
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
 | 
			
		||||
    dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf distro-sync -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        git \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numad \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN nosync dnf install -y \
 | 
			
		||||
        mingw32-curl \
 | 
			
		||||
        mingw32-dlfcn \
 | 
			
		||||
        mingw32-gcc \
 | 
			
		||||
        mingw32-gettext \
 | 
			
		||||
        mingw32-glib2 \
 | 
			
		||||
        mingw32-gnutls \
 | 
			
		||||
        mingw32-headers \
 | 
			
		||||
        mingw32-libssh2 \
 | 
			
		||||
        mingw32-libxml2 \
 | 
			
		||||
        mingw32-pkg-config \
 | 
			
		||||
        mingw32-portablexdr \
 | 
			
		||||
        mingw32-readline && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "i686-w64-mingw32"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
 | 
			
		||||
@@ -1,90 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:rawhide
 | 
			
		||||
 | 
			
		||||
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
 | 
			
		||||
    dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf distro-sync -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        git \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numad \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
 | 
			
		||||
RUN nosync dnf install -y \
 | 
			
		||||
        mingw64-curl \
 | 
			
		||||
        mingw64-dlfcn \
 | 
			
		||||
        mingw64-gcc \
 | 
			
		||||
        mingw64-gettext \
 | 
			
		||||
        mingw64-glib2 \
 | 
			
		||||
        mingw64-gnutls \
 | 
			
		||||
        mingw64-headers \
 | 
			
		||||
        mingw64-libssh2 \
 | 
			
		||||
        mingw64-libxml2 \
 | 
			
		||||
        mingw64-pkg-config \
 | 
			
		||||
        mingw64-portablexdr \
 | 
			
		||||
        mingw64-readline && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc
 | 
			
		||||
 | 
			
		||||
ENV ABI "x86_64-w64-mingw32"
 | 
			
		||||
ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
 | 
			
		||||
@@ -1,110 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.fedoraproject.org/fedora:rawhide
 | 
			
		||||
 | 
			
		||||
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
 | 
			
		||||
    dnf install -y nosync && \
 | 
			
		||||
    echo -e '#!/bin/sh\n\
 | 
			
		||||
if test -d /usr/lib64\n\
 | 
			
		||||
then\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
 | 
			
		||||
else\n\
 | 
			
		||||
    export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
 | 
			
		||||
fi\n\
 | 
			
		||||
exec "$@"' > /usr/bin/nosync && \
 | 
			
		||||
    chmod +x /usr/bin/nosync && \
 | 
			
		||||
    nosync dnf distro-sync -y && \
 | 
			
		||||
    nosync dnf install -y \
 | 
			
		||||
        audit-libs-devel \
 | 
			
		||||
        augeas \
 | 
			
		||||
        bash-completion \
 | 
			
		||||
        ca-certificates \
 | 
			
		||||
        ccache \
 | 
			
		||||
        clang \
 | 
			
		||||
        codespell \
 | 
			
		||||
        cpp \
 | 
			
		||||
        cppi \
 | 
			
		||||
        cyrus-sasl-devel \
 | 
			
		||||
        device-mapper-devel \
 | 
			
		||||
        diffutils \
 | 
			
		||||
        dnsmasq \
 | 
			
		||||
        dwarves \
 | 
			
		||||
        ebtables \
 | 
			
		||||
        firewalld-filesystem \
 | 
			
		||||
        fuse-devel \
 | 
			
		||||
        gcc \
 | 
			
		||||
        gettext \
 | 
			
		||||
        git \
 | 
			
		||||
        glib2-devel \
 | 
			
		||||
        glibc-devel \
 | 
			
		||||
        glibc-langpack-en \
 | 
			
		||||
        glusterfs-api-devel \
 | 
			
		||||
        gnutls-devel \
 | 
			
		||||
        grep \
 | 
			
		||||
        iproute \
 | 
			
		||||
        iproute-tc \
 | 
			
		||||
        iptables \
 | 
			
		||||
        iscsi-initiator-utils \
 | 
			
		||||
        kmod \
 | 
			
		||||
        libacl-devel \
 | 
			
		||||
        libattr-devel \
 | 
			
		||||
        libblkid-devel \
 | 
			
		||||
        libcap-ng-devel \
 | 
			
		||||
        libcurl-devel \
 | 
			
		||||
        libiscsi-devel \
 | 
			
		||||
        libnl3-devel \
 | 
			
		||||
        libpcap-devel \
 | 
			
		||||
        libpciaccess-devel \
 | 
			
		||||
        librbd-devel \
 | 
			
		||||
        libselinux-devel \
 | 
			
		||||
        libssh-devel \
 | 
			
		||||
        libssh2-devel \
 | 
			
		||||
        libtirpc-devel \
 | 
			
		||||
        libwsman-devel \
 | 
			
		||||
        libxml2 \
 | 
			
		||||
        libxml2-devel \
 | 
			
		||||
        libxslt \
 | 
			
		||||
        lvm2 \
 | 
			
		||||
        make \
 | 
			
		||||
        meson \
 | 
			
		||||
        nfs-utils \
 | 
			
		||||
        ninja-build \
 | 
			
		||||
        numactl-devel \
 | 
			
		||||
        numad \
 | 
			
		||||
        parted-devel \
 | 
			
		||||
        perl-base \
 | 
			
		||||
        pkgconfig \
 | 
			
		||||
        polkit \
 | 
			
		||||
        python3 \
 | 
			
		||||
        python3-docutils \
 | 
			
		||||
        python3-flake8 \
 | 
			
		||||
        qemu-img \
 | 
			
		||||
        readline-devel \
 | 
			
		||||
        rpcgen \
 | 
			
		||||
        rpm-build \
 | 
			
		||||
        sanlock-devel \
 | 
			
		||||
        scrub \
 | 
			
		||||
        sed \
 | 
			
		||||
        sheepdog \
 | 
			
		||||
        systemd-devel \
 | 
			
		||||
        systemtap-sdt-devel \
 | 
			
		||||
        wireshark-devel \
 | 
			
		||||
        xen-devel \
 | 
			
		||||
        yajl-devel && \
 | 
			
		||||
    nosync dnf autoremove -y && \
 | 
			
		||||
    nosync dnf clean all -y && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,102 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.opensuse.org/opensuse/leap:15.2
 | 
			
		||||
 | 
			
		||||
RUN zypper update -y && \
 | 
			
		||||
    zypper install -y \
 | 
			
		||||
           audit-devel \
 | 
			
		||||
           augeas \
 | 
			
		||||
           augeas-lenses \
 | 
			
		||||
           bash-completion \
 | 
			
		||||
           ca-certificates \
 | 
			
		||||
           ccache \
 | 
			
		||||
           clang \
 | 
			
		||||
           codespell \
 | 
			
		||||
           cpp \
 | 
			
		||||
           cppi \
 | 
			
		||||
           cyrus-sasl-devel \
 | 
			
		||||
           device-mapper-devel \
 | 
			
		||||
           diffutils \
 | 
			
		||||
           dnsmasq \
 | 
			
		||||
           dwarves \
 | 
			
		||||
           ebtables \
 | 
			
		||||
           fuse-devel \
 | 
			
		||||
           gcc \
 | 
			
		||||
           gettext-runtime \
 | 
			
		||||
           git \
 | 
			
		||||
           glib2-devel \
 | 
			
		||||
           glibc-devel \
 | 
			
		||||
           glibc-locale \
 | 
			
		||||
           glusterfs-devel \
 | 
			
		||||
           grep \
 | 
			
		||||
           iproute2 \
 | 
			
		||||
           iptables \
 | 
			
		||||
           kmod \
 | 
			
		||||
           libacl-devel \
 | 
			
		||||
           libapparmor-devel \
 | 
			
		||||
           libattr-devel \
 | 
			
		||||
           libblkid-devel \
 | 
			
		||||
           libcap-ng-devel \
 | 
			
		||||
           libcurl-devel \
 | 
			
		||||
           libgnutls-devel \
 | 
			
		||||
           libiscsi-devel \
 | 
			
		||||
           libnl3-devel \
 | 
			
		||||
           libnuma-devel \
 | 
			
		||||
           libpcap-devel \
 | 
			
		||||
           libpciaccess-devel \
 | 
			
		||||
           librbd-devel \
 | 
			
		||||
           libselinux-devel \
 | 
			
		||||
           libssh-devel \
 | 
			
		||||
           libssh2-devel \
 | 
			
		||||
           libtirpc-devel \
 | 
			
		||||
           libudev-devel \
 | 
			
		||||
           libwsman-devel \
 | 
			
		||||
           libxml2 \
 | 
			
		||||
           libxml2-devel \
 | 
			
		||||
           libxslt \
 | 
			
		||||
           libyajl-devel \
 | 
			
		||||
           lvm2 \
 | 
			
		||||
           make \
 | 
			
		||||
           nfs-utils \
 | 
			
		||||
           ninja \
 | 
			
		||||
           numad \
 | 
			
		||||
           open-iscsi \
 | 
			
		||||
           parted-devel \
 | 
			
		||||
           perl-base \
 | 
			
		||||
           pkgconfig \
 | 
			
		||||
           polkit \
 | 
			
		||||
           python3-base \
 | 
			
		||||
           python3-docutils \
 | 
			
		||||
           python3-flake8 \
 | 
			
		||||
           python3-pip \
 | 
			
		||||
           python3-setuptools \
 | 
			
		||||
           python3-wheel \
 | 
			
		||||
           qemu-tools \
 | 
			
		||||
           readline-devel \
 | 
			
		||||
           rpcgen \
 | 
			
		||||
           rpm-build \
 | 
			
		||||
           sanlock-devel \
 | 
			
		||||
           scrub \
 | 
			
		||||
           sed \
 | 
			
		||||
           systemtap-sdt-devel \
 | 
			
		||||
           wireshark-devel \
 | 
			
		||||
           xen-devel && \
 | 
			
		||||
    zypper clean --all && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,97 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM registry.opensuse.org/opensuse/tumbleweed:latest
 | 
			
		||||
 | 
			
		||||
RUN zypper dist-upgrade -y && \
 | 
			
		||||
    zypper install -y \
 | 
			
		||||
           audit-devel \
 | 
			
		||||
           augeas \
 | 
			
		||||
           augeas-lenses \
 | 
			
		||||
           bash-completion \
 | 
			
		||||
           ca-certificates \
 | 
			
		||||
           ccache \
 | 
			
		||||
           clang \
 | 
			
		||||
           codespell \
 | 
			
		||||
           cpp \
 | 
			
		||||
           cppi \
 | 
			
		||||
           cyrus-sasl-devel \
 | 
			
		||||
           device-mapper-devel \
 | 
			
		||||
           diffutils \
 | 
			
		||||
           dnsmasq \
 | 
			
		||||
           dwarves \
 | 
			
		||||
           ebtables \
 | 
			
		||||
           fuse-devel \
 | 
			
		||||
           gcc \
 | 
			
		||||
           gettext-runtime \
 | 
			
		||||
           git \
 | 
			
		||||
           glib2-devel \
 | 
			
		||||
           glibc-devel \
 | 
			
		||||
           glibc-locale \
 | 
			
		||||
           glusterfs-devel \
 | 
			
		||||
           grep \
 | 
			
		||||
           iproute2 \
 | 
			
		||||
           iptables \
 | 
			
		||||
           kmod \
 | 
			
		||||
           libacl-devel \
 | 
			
		||||
           libapparmor-devel \
 | 
			
		||||
           libattr-devel \
 | 
			
		||||
           libblkid-devel \
 | 
			
		||||
           libcap-ng-devel \
 | 
			
		||||
           libcurl-devel \
 | 
			
		||||
           libgnutls-devel \
 | 
			
		||||
           libiscsi-devel \
 | 
			
		||||
           libnl3-devel \
 | 
			
		||||
           libnuma-devel \
 | 
			
		||||
           libpcap-devel \
 | 
			
		||||
           libpciaccess-devel \
 | 
			
		||||
           librbd-devel \
 | 
			
		||||
           libselinux-devel \
 | 
			
		||||
           libssh-devel \
 | 
			
		||||
           libssh2-devel \
 | 
			
		||||
           libtirpc-devel \
 | 
			
		||||
           libudev-devel \
 | 
			
		||||
           libwsman-devel \
 | 
			
		||||
           libxml2 \
 | 
			
		||||
           libxml2-devel \
 | 
			
		||||
           libxslt \
 | 
			
		||||
           libyajl-devel \
 | 
			
		||||
           lvm2 \
 | 
			
		||||
           make \
 | 
			
		||||
           meson \
 | 
			
		||||
           nfs-utils \
 | 
			
		||||
           ninja \
 | 
			
		||||
           numad \
 | 
			
		||||
           open-iscsi \
 | 
			
		||||
           parted-devel \
 | 
			
		||||
           perl-base \
 | 
			
		||||
           pkgconfig \
 | 
			
		||||
           polkit \
 | 
			
		||||
           python3-base \
 | 
			
		||||
           python3-docutils \
 | 
			
		||||
           python3-flake8 \
 | 
			
		||||
           qemu-tools \
 | 
			
		||||
           readline-devel \
 | 
			
		||||
           rpcgen \
 | 
			
		||||
           rpm-build \
 | 
			
		||||
           sanlock-devel \
 | 
			
		||||
           scrub \
 | 
			
		||||
           sed \
 | 
			
		||||
           systemtap-sdt-devel \
 | 
			
		||||
           wireshark-devel \
 | 
			
		||||
           xen-devel && \
 | 
			
		||||
    zypper clean --all && \
 | 
			
		||||
    rpm -qa | sort > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,109 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/ubuntu:18.04
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            clang \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gcc \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            glusterfs-common \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libacl1-dev \
 | 
			
		||||
            libapparmor-dev \
 | 
			
		||||
            libattr1-dev \
 | 
			
		||||
            libaudit-dev \
 | 
			
		||||
            libblkid-dev \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libc6-dev \
 | 
			
		||||
            libcap-ng-dev \
 | 
			
		||||
            libcurl4-gnutls-dev \
 | 
			
		||||
            libdevmapper-dev \
 | 
			
		||||
            libfuse-dev \
 | 
			
		||||
            libglib2.0-dev \
 | 
			
		||||
            libgnutls28-dev \
 | 
			
		||||
            libiscsi-dev \
 | 
			
		||||
            libnetcf-dev \
 | 
			
		||||
            libnl-3-dev \
 | 
			
		||||
            libnl-route-3-dev \
 | 
			
		||||
            libnuma-dev \
 | 
			
		||||
            libopenwsman-dev \
 | 
			
		||||
            libparted-dev \
 | 
			
		||||
            libpcap0.8-dev \
 | 
			
		||||
            libpciaccess-dev \
 | 
			
		||||
            librbd-dev \
 | 
			
		||||
            libreadline-dev \
 | 
			
		||||
            libsanlock-dev \
 | 
			
		||||
            libsasl2-dev \
 | 
			
		||||
            libselinux1-dev \
 | 
			
		||||
            libssh-dev \
 | 
			
		||||
            libssh2-1-dev \
 | 
			
		||||
            libtirpc-dev \
 | 
			
		||||
            libudev-dev \
 | 
			
		||||
            libxen-dev \
 | 
			
		||||
            libxml2-dev \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            libyajl-dev \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            sheepdog \
 | 
			
		||||
            systemtap-sdt-dev \
 | 
			
		||||
            wireshark-dev \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
@@ -1,108 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
FROM docker.io/library/ubuntu:20.04
 | 
			
		||||
 | 
			
		||||
RUN export DEBIAN_FRONTEND=noninteractive && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y eatmydata && \
 | 
			
		||||
    eatmydata apt-get dist-upgrade -y && \
 | 
			
		||||
    eatmydata apt-get install --no-install-recommends -y \
 | 
			
		||||
            augeas-lenses \
 | 
			
		||||
            augeas-tools \
 | 
			
		||||
            bash-completion \
 | 
			
		||||
            ca-certificates \
 | 
			
		||||
            ccache \
 | 
			
		||||
            clang \
 | 
			
		||||
            codespell \
 | 
			
		||||
            cpp \
 | 
			
		||||
            diffutils \
 | 
			
		||||
            dnsmasq-base \
 | 
			
		||||
            dwarves \
 | 
			
		||||
            ebtables \
 | 
			
		||||
            flake8 \
 | 
			
		||||
            gcc \
 | 
			
		||||
            gettext \
 | 
			
		||||
            git \
 | 
			
		||||
            grep \
 | 
			
		||||
            iproute2 \
 | 
			
		||||
            iptables \
 | 
			
		||||
            kmod \
 | 
			
		||||
            libacl1-dev \
 | 
			
		||||
            libapparmor-dev \
 | 
			
		||||
            libattr1-dev \
 | 
			
		||||
            libaudit-dev \
 | 
			
		||||
            libblkid-dev \
 | 
			
		||||
            libc-dev-bin \
 | 
			
		||||
            libc6-dev \
 | 
			
		||||
            libcap-ng-dev \
 | 
			
		||||
            libcurl4-gnutls-dev \
 | 
			
		||||
            libdevmapper-dev \
 | 
			
		||||
            libfuse-dev \
 | 
			
		||||
            libglib2.0-dev \
 | 
			
		||||
            libglusterfs-dev \
 | 
			
		||||
            libgnutls28-dev \
 | 
			
		||||
            libiscsi-dev \
 | 
			
		||||
            libnetcf-dev \
 | 
			
		||||
            libnl-3-dev \
 | 
			
		||||
            libnl-route-3-dev \
 | 
			
		||||
            libnuma-dev \
 | 
			
		||||
            libopenwsman-dev \
 | 
			
		||||
            libparted-dev \
 | 
			
		||||
            libpcap0.8-dev \
 | 
			
		||||
            libpciaccess-dev \
 | 
			
		||||
            librbd-dev \
 | 
			
		||||
            libreadline-dev \
 | 
			
		||||
            libsanlock-dev \
 | 
			
		||||
            libsasl2-dev \
 | 
			
		||||
            libselinux1-dev \
 | 
			
		||||
            libssh-dev \
 | 
			
		||||
            libssh2-1-dev \
 | 
			
		||||
            libtirpc-dev \
 | 
			
		||||
            libudev-dev \
 | 
			
		||||
            libxen-dev \
 | 
			
		||||
            libxml2-dev \
 | 
			
		||||
            libxml2-utils \
 | 
			
		||||
            libyajl-dev \
 | 
			
		||||
            locales \
 | 
			
		||||
            lvm2 \
 | 
			
		||||
            make \
 | 
			
		||||
            nfs-common \
 | 
			
		||||
            ninja-build \
 | 
			
		||||
            numad \
 | 
			
		||||
            open-iscsi \
 | 
			
		||||
            perl-base \
 | 
			
		||||
            pkgconf \
 | 
			
		||||
            policykit-1 \
 | 
			
		||||
            python3 \
 | 
			
		||||
            python3-docutils \
 | 
			
		||||
            python3-pip \
 | 
			
		||||
            python3-setuptools \
 | 
			
		||||
            python3-wheel \
 | 
			
		||||
            qemu-utils \
 | 
			
		||||
            scrub \
 | 
			
		||||
            sed \
 | 
			
		||||
            systemtap-sdt-dev \
 | 
			
		||||
            wireshark-dev \
 | 
			
		||||
            xsltproc && \
 | 
			
		||||
    eatmydata apt-get autoremove -y && \
 | 
			
		||||
    eatmydata apt-get autoclean -y && \
 | 
			
		||||
    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
 | 
			
		||||
    dpkg-reconfigure locales && \
 | 
			
		||||
    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
 | 
			
		||||
    mkdir -p /usr/libexec/ccache-wrappers && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
 | 
			
		||||
    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
 | 
			
		||||
 | 
			
		||||
RUN pip3 install \
 | 
			
		||||
         meson==0.56.0
 | 
			
		||||
 | 
			
		||||
ENV LANG "en_US.UTF-8"
 | 
			
		||||
ENV MAKE "/usr/bin/make"
 | 
			
		||||
ENV NINJA "/usr/bin/ninja"
 | 
			
		||||
ENV PYTHON "/usr/bin/python3"
 | 
			
		||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
 | 
			
		||||
							
								
								
									
										689
									
								
								ci/gitlab.yml
									
									
									
									
									
								
							
							
						
						
									
										689
									
								
								ci/gitlab.yml
									
									
									
									
									
								
							@@ -1,689 +0,0 @@
 | 
			
		||||
# THIS FILE WAS AUTO-GENERATED
 | 
			
		||||
#
 | 
			
		||||
#  $ lcitool manifest ci/manifest.yml
 | 
			
		||||
#
 | 
			
		||||
# https://gitlab.com/libvirt/libvirt-ci
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.container_job:
 | 
			
		||||
  image: docker:stable
 | 
			
		||||
  stage: containers
 | 
			
		||||
  needs: []
 | 
			
		||||
  services:
 | 
			
		||||
    - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master
 | 
			
		||||
      alias: docker
 | 
			
		||||
  before_script:
 | 
			
		||||
    - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
 | 
			
		||||
    - export COMMON_TAG="$CI_REGISTRY/libvirt/libvirt/ci-$NAME:latest"
 | 
			
		||||
    - docker info
 | 
			
		||||
    - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
 | 
			
		||||
  script:
 | 
			
		||||
    - docker pull "$TAG" || docker pull "$COMMON_TAG" || true
 | 
			
		||||
    - docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers
 | 
			
		||||
    - docker push "$TAG"
 | 
			
		||||
  after_script:
 | 
			
		||||
    - docker logout
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.gitlab_native_build_job:
 | 
			
		||||
  image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
 | 
			
		||||
  stage: builds
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.gitlab_cross_build_job:
 | 
			
		||||
  image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest
 | 
			
		||||
  stage: builds
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
.cirrus_build_job:
 | 
			
		||||
  stage: builds
 | 
			
		||||
  image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
 | 
			
		||||
  needs: []
 | 
			
		||||
  script:
 | 
			
		||||
    - source ci/cirrus/$NAME.vars
 | 
			
		||||
    - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
 | 
			
		||||
          -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
 | 
			
		||||
          -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
 | 
			
		||||
          -e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g"
 | 
			
		||||
          -e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g"
 | 
			
		||||
          -e "s|[@]CIRRUS_VM_IMAGE_NAME@|$CIRRUS_VM_IMAGE_NAME|g"
 | 
			
		||||
          -e "s|[@]UPDATE_COMMAND@|$UPDATE_COMMAND|g"
 | 
			
		||||
          -e "s|[@]UPGRADE_COMMAND@|$UPGRADE_COMMAND|g"
 | 
			
		||||
          -e "s|[@]INSTALL_COMMAND@|$INSTALL_COMMAND|g"
 | 
			
		||||
          -e "s|[@]PATH@|$PATH_EXTRA${PATH_EXTRA:+:}\$PATH|g"
 | 
			
		||||
          -e "s|[@]PKG_CONFIG_PATH@|$PKG_CONFIG_PATH|g"
 | 
			
		||||
          -e "s|[@]PKGS@|$PKGS|g"
 | 
			
		||||
          -e "s|[@]MAKE@|$MAKE|g"
 | 
			
		||||
          -e "s|[@]PYTHON@|$PYTHON|g"
 | 
			
		||||
          -e "s|[@]PIP3@|$PIP3|g"
 | 
			
		||||
          -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g"
 | 
			
		||||
          -e "s|[@]XML_CATALOG_FILES@|$XML_CATALOG_FILES|g"
 | 
			
		||||
      <ci/cirrus/build.yml >ci/cirrus/$NAME.yml
 | 
			
		||||
    - cat ci/cirrus/$NAME.yml
 | 
			
		||||
    - cirrus-run -v --show-build-log always ci/cirrus/$NAME.yml
 | 
			
		||||
  rules:
 | 
			
		||||
    - if: "$CIRRUS_GITHUB_REPO && $CIRRUS_API_TOKEN"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
check-dco:
 | 
			
		||||
  stage: sanity_checks
 | 
			
		||||
  needs: []
 | 
			
		||||
  image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
 | 
			
		||||
  script:
 | 
			
		||||
    - /check-dco libvirt
 | 
			
		||||
  except:
 | 
			
		||||
    variables:
 | 
			
		||||
      - $CI_PROJECT_NAMESPACE == 'libvirt'
 | 
			
		||||
  variables:
 | 
			
		||||
    GIT_DEPTH: 1000
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Native container jobs
 | 
			
		||||
 | 
			
		||||
x86_64-centos-8-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: centos-8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-centos-stream-8-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: centos-stream-8
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-34-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-34
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-35-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-35
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-rawhide-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-rawhide
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-opensuse-leap-152-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: opensuse-leap-152
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-opensuse-tumbleweed-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: opensuse-tumbleweed
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-ubuntu-1804-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: ubuntu-1804
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-ubuntu-2004-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: ubuntu-2004
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Cross container jobs
 | 
			
		||||
 | 
			
		||||
aarch64-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-aarch64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv6l-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-armv6l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv7l-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-armv7l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
i686-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-i686
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mips-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-mips
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mips64el-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-mips64el
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mipsel-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-mipsel
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ppc64le-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-ppc64le
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
s390x-debian-10-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10-cross-s390x
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
aarch64-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-aarch64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv6l-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-armv6l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv7l-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-armv7l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
i686-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-i686
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mips64el-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-mips64el
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mipsel-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-mipsel
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ppc64le-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-ppc64le
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
s390x-debian-11-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11-cross-s390x
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
aarch64-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-aarch64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv6l-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-armv6l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv7l-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-armv7l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
i686-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-i686
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mips64el-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-mips64el
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mipsel-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-mipsel
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ppc64le-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-ppc64le
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
s390x-debian-sid-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid-cross-s390x
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mingw32-fedora-35-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-35-cross-mingw32
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mingw64-fedora-35-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-35-cross-mingw64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mingw32-fedora-rawhide-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-rawhide-cross-mingw32
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mingw64-fedora-rawhide-container:
 | 
			
		||||
  extends: .container_job
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-rawhide-cross-mingw64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Native build jobs
 | 
			
		||||
 | 
			
		||||
x86_64-centos-8:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-centos-8-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: centos-8
 | 
			
		||||
    RPM: skip
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-centos-8-clang:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-centos-8-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: centos-8
 | 
			
		||||
    RPM: skip
 | 
			
		||||
    CC: clang
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-centos-stream-8:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-centos-stream-8-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: centos-stream-8
 | 
			
		||||
    RPM: skip
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-10:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-debian-10-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-11:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-debian-11-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-11-clang:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-debian-11-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-debian-sid:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-debian-sid-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-34:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-fedora-34-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-34
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-35:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-fedora-35-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-35
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-rawhide:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-fedora-rawhide-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-rawhide
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-fedora-rawhide-clang:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-fedora-rawhide-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-rawhide
 | 
			
		||||
    CC: clang
 | 
			
		||||
    RPM: skip
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-opensuse-leap-152:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-opensuse-leap-152-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: opensuse-leap-152
 | 
			
		||||
    RPM: skip
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-opensuse-tumbleweed:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-opensuse-tumbleweed-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: opensuse-tumbleweed
 | 
			
		||||
    RPM: skip
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-ubuntu-1804:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-ubuntu-1804-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: ubuntu-1804
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-ubuntu-2004:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-ubuntu-2004-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: ubuntu-2004
 | 
			
		||||
    ASAN_OPTIONS: verify_asan_link_order=0
 | 
			
		||||
    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
 | 
			
		||||
    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-ubuntu-2004-clang:
 | 
			
		||||
  extends: .native_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - x86_64-ubuntu-2004-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: ubuntu-2004
 | 
			
		||||
    CC: clang
 | 
			
		||||
    MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
 | 
			
		||||
    UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Cross build jobs
 | 
			
		||||
 | 
			
		||||
armv6l-debian-10:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - armv6l-debian-10-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10
 | 
			
		||||
    CROSS: armv6l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mips-debian-10:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - mips-debian-10-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10
 | 
			
		||||
    CROSS: mips
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mipsel-debian-10:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - mipsel-debian-10-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-10
 | 
			
		||||
    CROSS: mipsel
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
armv7l-debian-11:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - armv7l-debian-11-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11
 | 
			
		||||
    CROSS: armv7l
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mips64el-debian-11:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - mips64el-debian-11-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11
 | 
			
		||||
    CROSS: mips64el
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ppc64le-debian-11:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - ppc64le-debian-11-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-11
 | 
			
		||||
    CROSS: ppc64le
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
aarch64-debian-sid:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - aarch64-debian-sid-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid
 | 
			
		||||
    CROSS: aarch64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
i686-debian-sid:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - i686-debian-sid-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid
 | 
			
		||||
    CROSS: i686
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
s390x-debian-sid:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - s390x-debian-sid-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: debian-sid
 | 
			
		||||
    CROSS: s390x
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mingw64-fedora-35:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - mingw64-fedora-35-container
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-35
 | 
			
		||||
    CROSS: mingw64
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mingw32-fedora-rawhide:
 | 
			
		||||
  extends: .cross_build_job
 | 
			
		||||
  needs:
 | 
			
		||||
    - mingw32-fedora-rawhide-container
 | 
			
		||||
  allow_failure: true
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: fedora-rawhide
 | 
			
		||||
    CROSS: mingw32
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Native cirrus build jobs
 | 
			
		||||
 | 
			
		||||
x86_64-freebsd-12:
 | 
			
		||||
  extends: .cirrus_build_job
 | 
			
		||||
  needs: []
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: freebsd-12
 | 
			
		||||
    CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
 | 
			
		||||
    CIRRUS_VM_IMAGE_SELECTOR: image_family
 | 
			
		||||
    CIRRUS_VM_IMAGE_NAME: freebsd-12-2
 | 
			
		||||
    UPDATE_COMMAND: pkg update
 | 
			
		||||
    UPGRADE_COMMAND: pkg upgrade -y
 | 
			
		||||
    INSTALL_COMMAND: pkg install -y
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-freebsd-13:
 | 
			
		||||
  extends: .cirrus_build_job
 | 
			
		||||
  needs: []
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: freebsd-13
 | 
			
		||||
    CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
 | 
			
		||||
    CIRRUS_VM_IMAGE_SELECTOR: image_family
 | 
			
		||||
    CIRRUS_VM_IMAGE_NAME: freebsd-13-0
 | 
			
		||||
    UPDATE_COMMAND: pkg update
 | 
			
		||||
    UPGRADE_COMMAND: pkg upgrade -y
 | 
			
		||||
    INSTALL_COMMAND: pkg install -y
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
x86_64-macos-11:
 | 
			
		||||
  extends: .cirrus_build_job
 | 
			
		||||
  needs: []
 | 
			
		||||
  allow_failure: false
 | 
			
		||||
  variables:
 | 
			
		||||
    NAME: macos-11
 | 
			
		||||
    CIRRUS_VM_INSTANCE_TYPE: osx_instance
 | 
			
		||||
    CIRRUS_VM_IMAGE_SELECTOR: image
 | 
			
		||||
    CIRRUS_VM_IMAGE_NAME: big-sur-base
 | 
			
		||||
    UPDATE_COMMAND: brew update
 | 
			
		||||
    UPGRADE_COMMAND: brew upgrade
 | 
			
		||||
    INSTALL_COMMAND: brew install
 | 
			
		||||
    PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
 | 
			
		||||
    PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
 | 
			
		||||
							
								
								
									
										240
									
								
								ci/helper
									
									
									
									
									
								
							
							
						
						
									
										240
									
								
								ci/helper
									
									
									
									
									
								
							@@ -1,240 +0,0 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2021 Red Hat, Inc.
 | 
			
		||||
# SPDX-License-Identifier: LGPL-2.1-or-later
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import os
 | 
			
		||||
import pathlib
 | 
			
		||||
import pty
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
import textwrap
 | 
			
		||||
 | 
			
		||||
import util
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Parser:
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        # Options that are common to all actions that use containers
 | 
			
		||||
        containerparser = argparse.ArgumentParser(add_help=False)
 | 
			
		||||
        containerparser.add_argument(
 | 
			
		||||
            "target",
 | 
			
		||||
            help="perform action on target OS",
 | 
			
		||||
        )
 | 
			
		||||
        containerparser.add_argument(
 | 
			
		||||
            "--engine",
 | 
			
		||||
            choices=["auto", "podman", "docker"],
 | 
			
		||||
            default="auto",
 | 
			
		||||
            help="container engine to use",
 | 
			
		||||
        )
 | 
			
		||||
        containerparser.add_argument(
 | 
			
		||||
            "--login",
 | 
			
		||||
            default=os.getlogin(),  # exempt from syntax-check
 | 
			
		||||
            help="login to use inside the container",
 | 
			
		||||
        )
 | 
			
		||||
        containerparser.add_argument(
 | 
			
		||||
            "--image-prefix",
 | 
			
		||||
            default="registry.gitlab.com/libvirt/libvirt/ci-",
 | 
			
		||||
            help="use container images from non-default location",
 | 
			
		||||
        )
 | 
			
		||||
        containerparser.add_argument(
 | 
			
		||||
            "--image-tag",
 | 
			
		||||
            default=":latest",
 | 
			
		||||
            help="use container images with non-default tags",
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # Options that are common to all actions that call the
 | 
			
		||||
        # project's build system
 | 
			
		||||
        mesonparser = argparse.ArgumentParser(add_help=False)
 | 
			
		||||
        mesonparser.add_argument(
 | 
			
		||||
            "--meson-args",
 | 
			
		||||
            default="",
 | 
			
		||||
            help="additional arguments passed to meson "
 | 
			
		||||
                 "(eg --meson-args='-Dopt1=enabled -Dopt2=disabled')",
 | 
			
		||||
        )
 | 
			
		||||
        mesonparser.add_argument(
 | 
			
		||||
            "--ninja-args",
 | 
			
		||||
            default="",
 | 
			
		||||
            help="additional arguments passed to ninja",
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # Options that are common to actions communicating with a GitLab
 | 
			
		||||
        # instance
 | 
			
		||||
        gitlabparser = argparse.ArgumentParser(add_help=False)
 | 
			
		||||
        gitlabparser.add_argument(
 | 
			
		||||
            "--namespace",
 | 
			
		||||
            default="libvirt/libvirt",
 | 
			
		||||
            help="GitLab project namespace"
 | 
			
		||||
        )
 | 
			
		||||
        gitlabparser.add_argument(
 | 
			
		||||
            "--gitlab-uri",
 | 
			
		||||
            default="https://gitlab.com",
 | 
			
		||||
            help="base GitLab URI"
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        # Main parser
 | 
			
		||||
        self._parser = argparse.ArgumentParser()
 | 
			
		||||
        subparsers = self._parser.add_subparsers(
 | 
			
		||||
            dest="action",
 | 
			
		||||
            metavar="ACTION",
 | 
			
		||||
        )
 | 
			
		||||
        subparsers.required = True
 | 
			
		||||
 | 
			
		||||
        # build action
 | 
			
		||||
        buildparser = subparsers.add_parser(
 | 
			
		||||
            "build",
 | 
			
		||||
            help="run a build in a container",
 | 
			
		||||
            parents=[containerparser, mesonparser],
 | 
			
		||||
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
 | 
			
		||||
        )
 | 
			
		||||
        buildparser.set_defaults(func=Application._action_build)
 | 
			
		||||
 | 
			
		||||
        # test action
 | 
			
		||||
        testparser = subparsers.add_parser(
 | 
			
		||||
            "test",
 | 
			
		||||
            help="run a build in a container (including tests)",
 | 
			
		||||
            parents=[containerparser, mesonparser],
 | 
			
		||||
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
 | 
			
		||||
        )
 | 
			
		||||
        testparser.set_defaults(func=Application._action_test)
 | 
			
		||||
 | 
			
		||||
        # shell action
 | 
			
		||||
        shellparser = subparsers.add_parser(
 | 
			
		||||
            "shell",
 | 
			
		||||
            help="start a shell in a container",
 | 
			
		||||
            parents=[containerparser],
 | 
			
		||||
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
 | 
			
		||||
        )
 | 
			
		||||
        shellparser.set_defaults(func=Application._action_shell)
 | 
			
		||||
 | 
			
		||||
        # list-images action
 | 
			
		||||
        listimagesparser = subparsers.add_parser(
 | 
			
		||||
            "list-images",
 | 
			
		||||
            help="list known container images",
 | 
			
		||||
            parents=[gitlabparser],
 | 
			
		||||
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
 | 
			
		||||
        )
 | 
			
		||||
        listimagesparser.set_defaults(func=Application._action_list_images)
 | 
			
		||||
 | 
			
		||||
        # check_stale action
 | 
			
		||||
        check_staleparser = subparsers.add_parser(
 | 
			
		||||
            "check-stale",
 | 
			
		||||
            help="check for existence of stale images on the GitLab instance",
 | 
			
		||||
            parents=[gitlabparser],
 | 
			
		||||
            formatter_class=argparse.ArgumentDefaultsHelpFormatter,
 | 
			
		||||
        )
 | 
			
		||||
        check_staleparser.set_defaults(func=Application._action_check_stale)
 | 
			
		||||
 | 
			
		||||
    def parse(self):
 | 
			
		||||
        return self._parser.parse_args()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Application:
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        self._basedir = pathlib.Path(__file__).resolve().parent
 | 
			
		||||
        self._args = Parser().parse()
 | 
			
		||||
 | 
			
		||||
    def _make_run(self, target):
 | 
			
		||||
        args = [
 | 
			
		||||
            "-C",
 | 
			
		||||
            self._basedir,
 | 
			
		||||
            target,
 | 
			
		||||
        ]
 | 
			
		||||
 | 
			
		||||
        if self._args.action in ["build", "test", "shell"]:
 | 
			
		||||
            args.extend([
 | 
			
		||||
                f"CI_ENGINE={self._args.engine}",
 | 
			
		||||
                f"CI_USER_LOGIN={self._args.login}",
 | 
			
		||||
                f"CI_IMAGE_PREFIX={self._args.image_prefix}",
 | 
			
		||||
                f"CI_IMAGE_TAG={self._args.image_tag}",
 | 
			
		||||
            ])
 | 
			
		||||
 | 
			
		||||
        if self._args.action in ["build", "test"]:
 | 
			
		||||
            args.extend([
 | 
			
		||||
                f"CI_MESON_ARGS={self._args.meson_args}",
 | 
			
		||||
                f"CI_NINJA_ARGS={self._args.ninja_args}",
 | 
			
		||||
            ])
 | 
			
		||||
 | 
			
		||||
        if pty.spawn(["make"] + args) != 0:
 | 
			
		||||
            sys.exit("error: 'make' failed")
 | 
			
		||||
 | 
			
		||||
    def _lcitool_run(self, args):
 | 
			
		||||
        output = subprocess.check_output([self._args.lcitool] + args)
 | 
			
		||||
        return output.decode("utf-8")
 | 
			
		||||
 | 
			
		||||
    def _lcitool_get_targets(self):
 | 
			
		||||
        output = self._lcitool_run(["targets"])
 | 
			
		||||
        return output.splitlines()
 | 
			
		||||
 | 
			
		||||
    def _check_stale_images(self):
 | 
			
		||||
        namespace = self._args.namespace
 | 
			
		||||
        gitlab_uri = self._args.gitlab_uri
 | 
			
		||||
        registry_uri = util.get_registry_uri(namespace, gitlab_uri)
 | 
			
		||||
 | 
			
		||||
        stale_images = util.get_registry_stale_images(registry_uri, self._basedir)
 | 
			
		||||
        if stale_images:
 | 
			
		||||
            spacing = "\n" + 4 * " "
 | 
			
		||||
            stale_fmt = [f"{k} (ID: {v})" for k, v in stale_images.items()]
 | 
			
		||||
            stale_details = spacing.join(stale_fmt)
 | 
			
		||||
            stale_ids = ' '.join([str(id) for id in stale_images.values()])
 | 
			
		||||
            registry_uri = util.get_registry_uri(namespace, gitlab_uri)
 | 
			
		||||
 | 
			
		||||
            msg = textwrap.dedent(f"""
 | 
			
		||||
                The following images are stale and can be purged from the registry:
 | 
			
		||||
 | 
			
		||||
                    STALE_DETAILS
 | 
			
		||||
 | 
			
		||||
                You can delete the images listed above using this shell snippet:
 | 
			
		||||
 | 
			
		||||
                    $ for image_id in {stale_ids}; do
 | 
			
		||||
                          curl --request DELETE --header "PRIVATE-TOKEN: <access_token>" \\
 | 
			
		||||
                               {registry_uri}/$image_id;
 | 
			
		||||
                      done
 | 
			
		||||
 | 
			
		||||
                You can generate a personal access token here:
 | 
			
		||||
 | 
			
		||||
                    {gitlab_uri}/-/profile/personal_access_tokens
 | 
			
		||||
            """)
 | 
			
		||||
            print(msg.replace("STALE_DETAILS", stale_details))
 | 
			
		||||
 | 
			
		||||
    def _action_build(self):
 | 
			
		||||
        self._make_run(f"ci-build@{self._args.target}")
 | 
			
		||||
 | 
			
		||||
    def _action_test(self):
 | 
			
		||||
        self._make_run(f"ci-test@{self._args.target}")
 | 
			
		||||
 | 
			
		||||
    def _action_shell(self):
 | 
			
		||||
        self._make_run(f"ci-shell@{self._args.target}")
 | 
			
		||||
 | 
			
		||||
    def _action_list_images(self):
 | 
			
		||||
        registry_uri = util.get_registry_uri(self._args.namespace,
 | 
			
		||||
                                             self._args.gitlab_uri)
 | 
			
		||||
        images = util.get_registry_images(registry_uri)
 | 
			
		||||
 | 
			
		||||
        # skip the "ci-" prefix each of our container images' name has
 | 
			
		||||
        name_prefix = "ci-"
 | 
			
		||||
        names = [i["name"][len(name_prefix):] for i in images]
 | 
			
		||||
        names.sort()
 | 
			
		||||
 | 
			
		||||
        native = [name for name in names if "-cross-" not in name]
 | 
			
		||||
        cross = [name for name in names if "-cross-" in name]
 | 
			
		||||
 | 
			
		||||
        spacing = 4 * " "
 | 
			
		||||
        print("Available x86 container images:\n")
 | 
			
		||||
        print(spacing + ("\n" + spacing).join(native))
 | 
			
		||||
 | 
			
		||||
        if cross:
 | 
			
		||||
            print()
 | 
			
		||||
            print("Available cross-compiler container images:\n")
 | 
			
		||||
            print(spacing + ("\n" + spacing).join(cross))
 | 
			
		||||
 | 
			
		||||
    def _action_check_stale(self):
 | 
			
		||||
        self._check_stale_images()
 | 
			
		||||
 | 
			
		||||
    def run(self):
 | 
			
		||||
        self._args.func(self)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    Application().run()
 | 
			
		||||
							
								
								
									
										204
									
								
								ci/manifest.yml
									
									
									
									
									
								
							
							
						
						
									
										204
									
								
								ci/manifest.yml
									
									
									
									
									
								
							@@ -1,204 +0,0 @@
 | 
			
		||||
projects:
 | 
			
		||||
  - libvirt
 | 
			
		||||
 | 
			
		||||
gitlab:
 | 
			
		||||
  namespace: libvirt
 | 
			
		||||
  project: libvirt
 | 
			
		||||
 | 
			
		||||
targets:
 | 
			
		||||
  centos-8:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        variables:
 | 
			
		||||
          RPM: skip
 | 
			
		||||
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        suffix: -clang
 | 
			
		||||
        variables:
 | 
			
		||||
          RPM: skip
 | 
			
		||||
          CC: clang
 | 
			
		||||
 | 
			
		||||
  centos-stream-8:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        variables:
 | 
			
		||||
          RPM: skip
 | 
			
		||||
 | 
			
		||||
  debian-10:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
 | 
			
		||||
      - arch: aarch64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: armv6l
 | 
			
		||||
 | 
			
		||||
      - arch: armv7l
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: i686
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: mips
 | 
			
		||||
 | 
			
		||||
      - arch: mips64el
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: mipsel
 | 
			
		||||
 | 
			
		||||
      - arch: ppc64le
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: s390x
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
  debian-11:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        suffix: -clang
 | 
			
		||||
 | 
			
		||||
      - arch: aarch64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: armv6l
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: armv7l
 | 
			
		||||
 | 
			
		||||
      - arch: i686
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: mips64el
 | 
			
		||||
 | 
			
		||||
      - arch: mipsel
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: ppc64le
 | 
			
		||||
 | 
			
		||||
      - arch: s390x
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
  debian-sid:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
 | 
			
		||||
      - arch: aarch64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
 | 
			
		||||
      - arch: armv6l
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: armv7l
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: i686
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
 | 
			
		||||
      - arch: mips64el
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: mipsel
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: ppc64le
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: s390x
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
 | 
			
		||||
  fedora-34: x86_64
 | 
			
		||||
 | 
			
		||||
  fedora-35:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
 | 
			
		||||
      - arch: mingw32
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
      - arch: mingw64
 | 
			
		||||
 | 
			
		||||
  fedora-rawhide:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        suffix: -clang
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        variables:
 | 
			
		||||
          CC: clang
 | 
			
		||||
          RPM: skip
 | 
			
		||||
 | 
			
		||||
      - arch: mingw32
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
 | 
			
		||||
      - arch: mingw64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: false
 | 
			
		||||
 | 
			
		||||
  freebsd-12: x86_64
 | 
			
		||||
 | 
			
		||||
  freebsd-13: x86_64
 | 
			
		||||
 | 
			
		||||
  freebsd-current:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        builds: False
 | 
			
		||||
 | 
			
		||||
  opensuse-leap-152:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        variables:
 | 
			
		||||
          RPM: skip
 | 
			
		||||
 | 
			
		||||
  opensuse-tumbleweed:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        allow-failure: true
 | 
			
		||||
        variables:
 | 
			
		||||
          RPM: skip
 | 
			
		||||
 | 
			
		||||
  macos-11:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        variables:
 | 
			
		||||
          PATH_EXTRA: /usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
 | 
			
		||||
          PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
 | 
			
		||||
 | 
			
		||||
  ubuntu-1804: x86_64
 | 
			
		||||
 | 
			
		||||
  ubuntu-2004:
 | 
			
		||||
    jobs:
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        variables:
 | 
			
		||||
          ASAN_OPTIONS: verify_asan_link_order=0
 | 
			
		||||
          MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
 | 
			
		||||
          UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
 | 
			
		||||
 | 
			
		||||
      - arch: x86_64
 | 
			
		||||
        suffix: -clang
 | 
			
		||||
        variables:
 | 
			
		||||
          CC: clang
 | 
			
		||||
          MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined
 | 
			
		||||
          UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
 | 
			
		||||
							
								
								
									
										78
									
								
								ci/util.py
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								ci/util.py
									
									
									
									
									
								
							@@ -1,78 +0,0 @@
 | 
			
		||||
import json
 | 
			
		||||
import pathlib
 | 
			
		||||
import urllib.request
 | 
			
		||||
import urllib.parse
 | 
			
		||||
 | 
			
		||||
from typing import Dict, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_registry_uri(namespace: str,
 | 
			
		||||
                     gitlab_uri: str = "https://gitlab.com") -> str:
 | 
			
		||||
    """
 | 
			
		||||
    Construct a v4 API URI pointing the namespaced project's image registry.
 | 
			
		||||
 | 
			
		||||
    :param namespace: GitLab project namespace, e.g. "libvirt/libvirt"
 | 
			
		||||
    :param gitlab_uri: GitLab base URI, can be a private deployment
 | 
			
		||||
    :param api_version: GitLab REST API version number
 | 
			
		||||
    :return: URI pointing to a namespaced project's image registry
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    # this converts something like "libvirt/libvirt" to "libvirt%2Flibvirt"
 | 
			
		||||
    namespace_urlenc = urllib.parse.quote_plus(namespace)
 | 
			
		||||
 | 
			
		||||
    project_uri = f"{gitlab_uri}/api/v4/projects/{namespace_urlenc}"
 | 
			
		||||
 | 
			
		||||
    uri = project_uri + "/registry/repositories"
 | 
			
		||||
    return uri
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_registry_images(uri: str) -> List[Dict]:
 | 
			
		||||
    """
 | 
			
		||||
    List all container images that are currently available in the given GitLab
 | 
			
		||||
    project.
 | 
			
		||||
 | 
			
		||||
    :param uri: URI pointing to a GitLab instance's image registry
 | 
			
		||||
    :return: list of container image names
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    r = urllib.request.urlopen(uri + "?per_page=100")
 | 
			
		||||
 | 
			
		||||
    # read the HTTP response and load the JSON part of it
 | 
			
		||||
    return json.loads(r.read().decode())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_dockerfiles(base_dir) -> List:
 | 
			
		||||
    """
 | 
			
		||||
    List all container dockerfiles in the local directory.
 | 
			
		||||
 | 
			
		||||
    :return: list of dockerfile names
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    dkrs = []
 | 
			
		||||
    d = pathlib.Path(base_dir, "containers")
 | 
			
		||||
    for f in d.iterdir():
 | 
			
		||||
        if f.suffix == ".Dockerfile":
 | 
			
		||||
            dkrs.append(f.stem)
 | 
			
		||||
    return dkrs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_registry_stale_images(registry_uri: str, base_dir: str) -> Dict[str, int]:
 | 
			
		||||
    """
 | 
			
		||||
    Check the GitLab image registry for images that we no longer support and
 | 
			
		||||
    which should be deleted.
 | 
			
		||||
 | 
			
		||||
    :param uri: URI pointing to a GitLab instance's image registry
 | 
			
		||||
    :param base_dir: local repository base directory
 | 
			
		||||
    :return: dictionary formatted as: {<gitlab_image_name>: <gitlab_image_id>}
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    dockerfiles = get_dockerfiles(base_dir)
 | 
			
		||||
    images = get_registry_images(registry_uri)
 | 
			
		||||
    name_prefix = "ci-"
 | 
			
		||||
 | 
			
		||||
    stale_images = {}
 | 
			
		||||
    for img in images:
 | 
			
		||||
        if img["name"][len(name_prefix):] not in dockerfiles:
 | 
			
		||||
            stale_images[img["name"]] = img["id"]
 | 
			
		||||
 | 
			
		||||
    return stale_images
 | 
			
		||||
							
								
								
									
										93
									
								
								config-post.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								config-post.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (C) 2013 Red Hat, Inc.
 | 
			
		||||
 *
 | 
			
		||||
 * This library is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
 * License as published by the Free Software Foundation; either
 | 
			
		||||
 * version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This library is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
 * Lesser General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
 * License along with this library.  If not, see
 | 
			
		||||
 * <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Since virt-login-shell will be setuid, we must do everything
 | 
			
		||||
 * we can to avoid linking to other libraries. Many of them do
 | 
			
		||||
 * unsafe things in functions marked __atttribute__((constructor)).
 | 
			
		||||
 * The only way to avoid such deps is to re-compile the
 | 
			
		||||
 * functions with the code in question disabled, and for that we
 | 
			
		||||
 * must override the main config.h rules. Hence this file :-(
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef LIBVIRT_SETUID_RPC_CLIENT
 | 
			
		||||
# undef HAVE_LIBNL
 | 
			
		||||
# undef HAVE_LIBNL3
 | 
			
		||||
# undef HAVE_LIBSASL2
 | 
			
		||||
# undef HAVE_SYS_ACL_H
 | 
			
		||||
# undef WITH_CAPNG
 | 
			
		||||
# undef WITH_CURL
 | 
			
		||||
# undef WITH_DBUS
 | 
			
		||||
# undef WITH_DEVMAPPER
 | 
			
		||||
# undef WITH_DTRACE_PROBES
 | 
			
		||||
# undef WITH_GNUTLS
 | 
			
		||||
# undef WITH_LIBSSH
 | 
			
		||||
# undef WITH_MACVTAP
 | 
			
		||||
# undef WITH_NUMACTL
 | 
			
		||||
# undef WITH_SASL
 | 
			
		||||
# undef WITH_SSH2
 | 
			
		||||
# undef WITH_SYSTEMD_DAEMON
 | 
			
		||||
# undef WITH_VIRTUALPORT
 | 
			
		||||
# undef WITH_YAJL
 | 
			
		||||
# undef WITH_YAJL2
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * With the NSS module it's the same story as virt-login-shell. See the
 | 
			
		||||
 * explanation above.
 | 
			
		||||
 */
 | 
			
		||||
#ifdef LIBVIRT_NSS
 | 
			
		||||
# undef HAVE_LIBNL
 | 
			
		||||
# undef HAVE_LIBNL3
 | 
			
		||||
# undef HAVE_LIBSASL2
 | 
			
		||||
# undef HAVE_SYS_ACL_H
 | 
			
		||||
# undef WITH_CAPNG
 | 
			
		||||
# undef WITH_CURL
 | 
			
		||||
# undef WITH_DEVMAPPER
 | 
			
		||||
# undef WITH_DTRACE_PROBES
 | 
			
		||||
# undef WITH_GNUTLS
 | 
			
		||||
# undef WITH_LIBSSH
 | 
			
		||||
# undef WITH_MACVTAP
 | 
			
		||||
# undef WITH_NUMACTL
 | 
			
		||||
# undef WITH_SASL
 | 
			
		||||
# undef WITH_SSH2
 | 
			
		||||
# undef WITH_VIRTUALPORT
 | 
			
		||||
# undef WITH_SECDRIVER_SELINUX
 | 
			
		||||
# undef WITH_SECDRIVER_APPARMOR
 | 
			
		||||
# undef WITH_CAPNG
 | 
			
		||||
#endif /* LIBVIRT_NSS */
 | 
			
		||||
 | 
			
		||||
#ifndef __GNUC__
 | 
			
		||||
# error "Libvirt requires GCC >= 4.4, or CLang"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Define __GNUC_PREREQ to a sane default if it isn't yet defined.
 | 
			
		||||
 * This is done here so that it's included as early as possible; gnulib relies
 | 
			
		||||
 * on this to be defined in features.h, which should be included from ctype.h.
 | 
			
		||||
 * This doesn't happen on many non-glibc systems.
 | 
			
		||||
 * When __GNUC_PREREQ is not defined, gnulib defines it to 0, which breaks things.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef __GNUC_PREREQ
 | 
			
		||||
# define __GNUC_PREREQ(maj, min) \
 | 
			
		||||
    ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if !(__GNUC_PREREQ(4, 4) || defined(__clang__))
 | 
			
		||||
# error "Libvirt requires GCC >= 4.4, or CLang"
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										53
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								config.h
									
									
									
									
									
								
							@@ -1,53 +0,0 @@
 | 
			
		||||
/*
 | 
			
		||||
 * This library is free software; you can redistribute it and/or
 | 
			
		||||
 * modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
 * License as published by the Free Software Foundation; either
 | 
			
		||||
 * version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
 *
 | 
			
		||||
 * This library is distributed in the hope that it will be useful,
 | 
			
		||||
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
 * Lesser General Public License for more details.
 | 
			
		||||
 *
 | 
			
		||||
 * You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
 * License along with this library.  If not, see
 | 
			
		||||
 * <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include <meson-config.h>
 | 
			
		||||
 | 
			
		||||
/* Enable compile-time and run-time bounds-checking, and some warnings,
 | 
			
		||||
 * without upsetting newer glibc. */
 | 
			
		||||
 | 
			
		||||
#if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__
 | 
			
		||||
# define _FORTIFY_SOURCE 2
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Define __GNUC_PREREQ to a sane default if it isn't yet defined.
 | 
			
		||||
 * This is done here so that it's included as early as possible;
 | 
			
		||||
 */
 | 
			
		||||
#ifndef __GNUC_PREREQ
 | 
			
		||||
# define __GNUC_PREREQ(maj, min) \
 | 
			
		||||
    ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(__clang_major__) && defined(__clang_minor__)
 | 
			
		||||
# ifdef __apple_build_version__
 | 
			
		||||
#  if __clang_major__ < 5 || (__clang_major__ == 5 && __clang_minor__ < 1)
 | 
			
		||||
#   error You need at least XCode Clang v5.1 to compile libvirt
 | 
			
		||||
#  endif
 | 
			
		||||
# else
 | 
			
		||||
#  if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
 | 
			
		||||
#   error You need at least Clang v3.4 to compile libvirt
 | 
			
		||||
#  endif
 | 
			
		||||
# endif
 | 
			
		||||
#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
 | 
			
		||||
# if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8)
 | 
			
		||||
#  error You need at least GCC v4.8 to compile libvirt
 | 
			
		||||
# endif
 | 
			
		||||
#else
 | 
			
		||||
# error You either need at least GCC 4.8 or Clang 3.4 or XCode Clang 5.1 to compile libvirt
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 | 
			
		||||
#if WIN32
 | 
			
		||||
# include <winsock2.h> /* avoid mingw pollution on DATADIR */
 | 
			
		||||
#endif
 | 
			
		||||
#mesondefine BINDIR
 | 
			
		||||
#mesondefine DATADIR
 | 
			
		||||
#mesondefine LIBDIR
 | 
			
		||||
#mesondefine LIBEXECDIR
 | 
			
		||||
#mesondefine LOCALEDIR
 | 
			
		||||
#mesondefine LOCALSTATEDIR
 | 
			
		||||
#mesondefine MANDIR
 | 
			
		||||
#mesondefine PKGDATADIR
 | 
			
		||||
#mesondefine PREFIX
 | 
			
		||||
#mesondefine RUNSTATEDIR
 | 
			
		||||
#mesondefine SBINDIR
 | 
			
		||||
#mesondefine SYSCONFDIR
 | 
			
		||||
							
								
								
									
										1038
									
								
								configure.ac
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1038
									
								
								configure.ac
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/32favicon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/32favicon.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 783 B  | 
							
								
								
									
										408
									
								
								docs/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										408
									
								
								docs/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,408 @@
 | 
			
		||||
## Process this file with automake to produce Makefile.in
 | 
			
		||||
 | 
			
		||||
## Copyright (C) 2005-2016 Red Hat, Inc.
 | 
			
		||||
##
 | 
			
		||||
## This library is free software; you can redistribute it and/or
 | 
			
		||||
## modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
## License as published by the Free Software Foundation; either
 | 
			
		||||
## version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
##
 | 
			
		||||
## This library is distributed in the hope that it will be useful,
 | 
			
		||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
## Lesser General Public License for more details.
 | 
			
		||||
##
 | 
			
		||||
## You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
## License along with this library.  If not, see
 | 
			
		||||
## <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
DEVHELP_DIR=$(datadir)/gtk-doc/html/libvirt
 | 
			
		||||
 | 
			
		||||
apihtml = \
 | 
			
		||||
  html/index.html \
 | 
			
		||||
  $(apihtml_generated)
 | 
			
		||||
 | 
			
		||||
apihtml_generated = \
 | 
			
		||||
  html/libvirt-libvirt-common.html \
 | 
			
		||||
  html/libvirt-libvirt-domain.html \
 | 
			
		||||
  html/libvirt-libvirt-domain-snapshot.html \
 | 
			
		||||
  html/libvirt-libvirt-event.html \
 | 
			
		||||
  html/libvirt-libvirt-host.html \
 | 
			
		||||
  html/libvirt-libvirt-interface.html \
 | 
			
		||||
  html/libvirt-libvirt-network.html \
 | 
			
		||||
  html/libvirt-libvirt-nodedev.html \
 | 
			
		||||
  html/libvirt-libvirt-nwfilter.html \
 | 
			
		||||
  html/libvirt-libvirt-secret.html \
 | 
			
		||||
  html/libvirt-libvirt-storage.html \
 | 
			
		||||
  html/libvirt-libvirt-stream.html \
 | 
			
		||||
  html/libvirt-virterror.html
 | 
			
		||||
 | 
			
		||||
apipng = \
 | 
			
		||||
  html/left.png \
 | 
			
		||||
  html/up.png \
 | 
			
		||||
  html/home.png \
 | 
			
		||||
  html/right.png
 | 
			
		||||
 | 
			
		||||
devhelphtml = \
 | 
			
		||||
  devhelp/libvirt.devhelp \
 | 
			
		||||
  devhelp/index.html \
 | 
			
		||||
  devhelp/general.html \
 | 
			
		||||
  devhelp/libvirt-virterror.html
 | 
			
		||||
 | 
			
		||||
css = \
 | 
			
		||||
  generic.css \
 | 
			
		||||
  libvirt.css \
 | 
			
		||||
  mobile.css \
 | 
			
		||||
  main.css
 | 
			
		||||
 | 
			
		||||
fonts = \
 | 
			
		||||
  fonts/LICENSE.md \
 | 
			
		||||
  fonts/stylesheet.css \
 | 
			
		||||
  fonts/overpass-bold-italic.woff \
 | 
			
		||||
  fonts/overpass-bold.woff \
 | 
			
		||||
  fonts/overpass-italic.woff \
 | 
			
		||||
  fonts/overpass-light-italic.woff \
 | 
			
		||||
  fonts/overpass-light.woff \
 | 
			
		||||
  fonts/overpass-mono-bold.woff \
 | 
			
		||||
  fonts/overpass-mono-light.woff \
 | 
			
		||||
  fonts/overpass-mono-regular.woff \
 | 
			
		||||
  fonts/overpass-mono-semibold.woff \
 | 
			
		||||
  fonts/overpass-regular.woff
 | 
			
		||||
 | 
			
		||||
devhelppng = \
 | 
			
		||||
  devhelp/home.png \
 | 
			
		||||
  devhelp/left.png \
 | 
			
		||||
  devhelp/right.png \
 | 
			
		||||
  devhelp/up.png
 | 
			
		||||
 | 
			
		||||
devhelpcss = devhelp/style.css
 | 
			
		||||
 | 
			
		||||
devhelpxsl = devhelp/devhelp.xsl devhelp/html.xsl
 | 
			
		||||
 | 
			
		||||
logofiles = \
 | 
			
		||||
  logos/logo-base.svg \
 | 
			
		||||
  logos/logo-square.svg \
 | 
			
		||||
  logos/logo-square-powered.svg \
 | 
			
		||||
  logos/logo-banner-dark.svg \
 | 
			
		||||
  logos/logo-banner-light.svg \
 | 
			
		||||
  logos/logo-square-96.png \
 | 
			
		||||
  logos/logo-square-128.png \
 | 
			
		||||
  logos/logo-square-192.png \
 | 
			
		||||
  logos/logo-square-256.png \
 | 
			
		||||
  logos/logo-square-powered-96.png \
 | 
			
		||||
  logos/logo-square-powered-128.png \
 | 
			
		||||
  logos/logo-square-powered-192.png \
 | 
			
		||||
  logos/logo-square-powered-256.png \
 | 
			
		||||
  logos/logo-banner-dark-256.png \
 | 
			
		||||
  logos/logo-banner-dark-800.png \
 | 
			
		||||
  logos/logo-banner-light-256.png \
 | 
			
		||||
  logos/logo-banner-light-800.png
 | 
			
		||||
 | 
			
		||||
png = \
 | 
			
		||||
  32favicon.png \
 | 
			
		||||
  libvirt-daemon-arch.png \
 | 
			
		||||
  libvirt-driver-arch.png \
 | 
			
		||||
  libvirt-object-model.png \
 | 
			
		||||
  migration-managed-direct.png \
 | 
			
		||||
  migration-managed-p2p.png \
 | 
			
		||||
  migration-native.png \
 | 
			
		||||
  migration-tunnel.png \
 | 
			
		||||
  migration-unmanaged-direct.png
 | 
			
		||||
 | 
			
		||||
gif = \
 | 
			
		||||
  architecture.gif \
 | 
			
		||||
  node.gif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
internals_html_in = \
 | 
			
		||||
  $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.html.in))
 | 
			
		||||
internals_html = $(internals_html_in:%.html.in=%.html)
 | 
			
		||||
 | 
			
		||||
# Since we ship pre-built html in the tarball, we must also
 | 
			
		||||
# ship the sources, even when those sources are themselves
 | 
			
		||||
# generated.
 | 
			
		||||
# Generate hvsupport.html and news.html first, since they take one extra step.
 | 
			
		||||
dot_html_in = \
 | 
			
		||||
  hvsupport.html.in \
 | 
			
		||||
  news.html.in \
 | 
			
		||||
  $(notdir $(wildcard $(srcdir)/*.html.in))
 | 
			
		||||
dot_html = $(dot_html_in:%.html.in=%.html)
 | 
			
		||||
 | 
			
		||||
dot_php_in = $(notdir $(wildcard $(srcdir)/*.php.in))
 | 
			
		||||
dot_php_code_in = $(dot_php_in:%.php.in=%.php.code.in)
 | 
			
		||||
dot_php = $(dot_php_in:%.php.in=%.php)
 | 
			
		||||
 | 
			
		||||
xml = \
 | 
			
		||||
  libvirt-api.xml \
 | 
			
		||||
  libvirt-refs.xml
 | 
			
		||||
 | 
			
		||||
qemu_xml = \
 | 
			
		||||
  libvirt-qemu-api.xml \
 | 
			
		||||
  libvirt-qemu-refs.xml
 | 
			
		||||
 | 
			
		||||
lxc_xml = \
 | 
			
		||||
  libvirt-lxc-api.xml \
 | 
			
		||||
  libvirt-lxc-refs.xml
 | 
			
		||||
 | 
			
		||||
admin_xml = \
 | 
			
		||||
  libvirt-admin-api.xml \
 | 
			
		||||
  libvirt-admin-refs.xml
 | 
			
		||||
 | 
			
		||||
apidir = $(pkgdatadir)/api
 | 
			
		||||
api_DATA = \
 | 
			
		||||
       libvirt-api.xml \
 | 
			
		||||
       libvirt-qemu-api.xml \
 | 
			
		||||
       libvirt-lxc-api.xml \
 | 
			
		||||
       libvirt-admin-api.xml
 | 
			
		||||
 | 
			
		||||
fig = \
 | 
			
		||||
  libvirt-daemon-arch.fig \
 | 
			
		||||
  libvirt-driver-arch.fig \
 | 
			
		||||
  libvirt-object-model.fig \
 | 
			
		||||
  migration-managed-direct.fig \
 | 
			
		||||
  migration-managed-p2p.fig \
 | 
			
		||||
  migration-native.fig \
 | 
			
		||||
  migration-tunnel.fig \
 | 
			
		||||
  migration-unmanaged-direct.fig
 | 
			
		||||
 | 
			
		||||
schemadir = $(pkgdatadir)/schemas
 | 
			
		||||
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST= \
 | 
			
		||||
  apibuild.py genaclperms.pl \
 | 
			
		||||
  site.xsl subsite.xsl newapi.xsl page.xsl \
 | 
			
		||||
  wrapstring.xsl \
 | 
			
		||||
  $(dot_html) $(dot_html_in) $(gif) $(apihtml) $(apipng) \
 | 
			
		||||
  $(devhelphtml) $(devhelppng) $(devhelpcss) $(devhelpxsl) \
 | 
			
		||||
  $(xml) $(qemu_xml) $(lxc_xml) $(admin_xml) $(fig) $(png) $(css) \
 | 
			
		||||
  $(logofiles) $(dot_php_in) $(dot_php_code_in) $(dot_php)\
 | 
			
		||||
  $(internals_html_in) $(internals_html) $(fonts) \
 | 
			
		||||
  aclperms.htmlinc \
 | 
			
		||||
  hvsupport.pl \
 | 
			
		||||
  $(schema_DATA)
 | 
			
		||||
 | 
			
		||||
acl_generated = aclperms.htmlinc
 | 
			
		||||
 | 
			
		||||
$(srcdir)/aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
 | 
			
		||||
        $(srcdir)/genaclperms.pl Makefile.am
 | 
			
		||||
	$(AM_V_GEN)$(PERL) $(srcdir)/genaclperms.pl $< > $@
 | 
			
		||||
 | 
			
		||||
MAINTAINERCLEANFILES = \
 | 
			
		||||
  $(addprefix $(srcdir)/,$(dot_html)) \
 | 
			
		||||
  $(addprefix $(srcdir)/,$(apihtml)) \
 | 
			
		||||
  $(addprefix $(srcdir)/,$(devhelphtml)) \
 | 
			
		||||
  $(addprefix $(srcdir)/,$(internals_html)) \
 | 
			
		||||
  $(addprefix $(srcdir)/,$(dot_php)) \
 | 
			
		||||
  $(srcdir)/hvsupport.html.in $(srcdir)/aclperms.htmlinc
 | 
			
		||||
 | 
			
		||||
timestamp="$(shell if test -n "$$SOURCE_DATE_EPOCH"; \
 | 
			
		||||
		   then \
 | 
			
		||||
		     date -u --date="@$$SOURCE_DATE_EPOCH"; \
 | 
			
		||||
		   else \
 | 
			
		||||
		     date -u; \
 | 
			
		||||
		   fi)"
 | 
			
		||||
 | 
			
		||||
all-am: web
 | 
			
		||||
 | 
			
		||||
api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
 | 
			
		||||
qemu_api: $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
 | 
			
		||||
lxc_api: $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
 | 
			
		||||
admin_api: $(srcdir)/libvirt-admin-api.xml $(srcdir)/libvirt-admin-refs.xml
 | 
			
		||||
 | 
			
		||||
web: $(dot_html) $(internals_html) html/index.html devhelp/index.html \
 | 
			
		||||
  $(dot_php)
 | 
			
		||||
 | 
			
		||||
hvsupport.html: $(srcdir)/hvsupport.html.in
 | 
			
		||||
 | 
			
		||||
$(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
 | 
			
		||||
		$(top_srcdir)/src/libvirt_public.syms \
 | 
			
		||||
	$(top_srcdir)/src/libvirt_qemu.syms $(top_srcdir)/src/libvirt_lxc.syms \
 | 
			
		||||
	$(top_srcdir)/src/driver.h
 | 
			
		||||
	$(AM_V_GEN)$(PERL) $(srcdir)/hvsupport.pl $(top_srcdir)/src > $@ \
 | 
			
		||||
		|| { rm $@ && exit 1; }
 | 
			
		||||
 | 
			
		||||
# xsltproc seems to add the xmlns="" attribute to random output elements:
 | 
			
		||||
# use sed to strip it out, as leaving it there triggers XML errors during
 | 
			
		||||
# further transformation steps
 | 
			
		||||
news.html.in: \
 | 
			
		||||
	  $(srcdir)/news.xml \
 | 
			
		||||
	  $(srcdir)/news-html.xsl
 | 
			
		||||
	$(AM_V_GEN)$(XSLTPROC) --nonet \
 | 
			
		||||
	    $(srcdir)/news-html.xsl \
 | 
			
		||||
	    $(srcdir)/news.xml \
 | 
			
		||||
	  >$@-tmp \
 | 
			
		||||
	    || { rm -f $@-tmp; exit 1; }; \
 | 
			
		||||
	  sed 's/ xmlns=""//g' $@-tmp >$@ \
 | 
			
		||||
	    || { rm -f $@-tmp; exit 1; }; \
 | 
			
		||||
	  rm -f $@-tmp
 | 
			
		||||
EXTRA_DIST += \
 | 
			
		||||
	$(srcdir)/news.xml \
 | 
			
		||||
	$(srcdir)/news.rng \
 | 
			
		||||
	$(srcdir)/news-html.xsl
 | 
			
		||||
MAINTAINERCLEANFILES += \
 | 
			
		||||
	$(srcdir)/news.html.in
 | 
			
		||||
 | 
			
		||||
%.png: %.fig
 | 
			
		||||
	convert -rotate 90 $< $@
 | 
			
		||||
 | 
			
		||||
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
 | 
			
		||||
		$(acl_generated)
 | 
			
		||||
	$(AM_V_GEN)name=`echo $@ | sed -e 's/.tmp//'`; \
 | 
			
		||||
	  dir=`dirname $@` ; \
 | 
			
		||||
	  if test "$$dir" = "."; \
 | 
			
		||||
	  then \
 | 
			
		||||
	    style=site.xsl; \
 | 
			
		||||
	  else \
 | 
			
		||||
	    $(MKDIR_P) $$dir; \
 | 
			
		||||
	    style=subsite.xsl; \
 | 
			
		||||
	  fi; \
 | 
			
		||||
	  $(XSLTPROC) --stringparam pagename $$name \
 | 
			
		||||
	    --stringparam timestamp $(timestamp) --nonet \
 | 
			
		||||
	    $(top_srcdir)/docs/$$style $< > $@ \
 | 
			
		||||
	    || { rm $@ && exit 1; }
 | 
			
		||||
 | 
			
		||||
%.html: %.html.tmp
 | 
			
		||||
	$(AM_V_GEN)$(XMLLINT) --nonet --format $< > $(srcdir)/$@ \
 | 
			
		||||
	  || { rm $(srcdir)/$@ && exit 1; }
 | 
			
		||||
 | 
			
		||||
%.php.tmp: %.php.in site.xsl page.xsl
 | 
			
		||||
	$(AM_V_GEN)$(XSLTPROC) --stringparam pagename $(@:.tmp=) \
 | 
			
		||||
	    --stringparam timestamp $(timestamp) --nonet \
 | 
			
		||||
	    $(top_srcdir)/docs/site.xsl $< > $@ \
 | 
			
		||||
	    || { rm $@ && exit 1; }
 | 
			
		||||
 | 
			
		||||
%.php: %.php.tmp %.php.code.in
 | 
			
		||||
	$(AM_V_GEN)sed \
 | 
			
		||||
	    -e '/<span id="php_placeholder"><\/span>/r '"$(srcdir)/$@.code.in" \
 | 
			
		||||
	    -e /php_placeholder/d < $@.tmp > $(srcdir)/$@ \
 | 
			
		||||
	    || { rm $(srcdir)/$@ && exit 1; }
 | 
			
		||||
 | 
			
		||||
$(apihtml_generated): html/index.html
 | 
			
		||||
 | 
			
		||||
html/index.html: libvirt-api.xml newapi.xsl page.xsl $(APIBUILD_STAMP)
 | 
			
		||||
	$(AM_V_GEN)$(XSLTPROC) --nonet -o $(srcdir)/ \
 | 
			
		||||
	  --stringparam builddir '$(abs_top_builddir)' \
 | 
			
		||||
	  --stringparam timestamp $(timestamp) \
 | 
			
		||||
	  $(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml && \
 | 
			
		||||
	  $(XMLLINT) --nonet --noout $(srcdir)/html/*.html
 | 
			
		||||
 | 
			
		||||
$(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
 | 
			
		||||
	$(AM_V_GEN)$(XSLTPROC) --stringparam timestamp $(timestamp) \
 | 
			
		||||
	  --nonet -o $(srcdir)/devhelp/ \
 | 
			
		||||
	  $(top_srcdir)/docs/devhelp/devhelp.xsl $(srcdir)/libvirt-api.xml
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
python_generated_files = \
 | 
			
		||||
		$(srcdir)/html/libvirt-libvirt-lxc.html \
 | 
			
		||||
		$(srcdir)/html/libvirt-libvirt-qemu.html \
 | 
			
		||||
		$(srcdir)/html/libvirt-libvirt-admin.html \
 | 
			
		||||
		$(srcdir)/html/libvirt-virterror.html \
 | 
			
		||||
		$(srcdir)/libvirt-api.xml \
 | 
			
		||||
		$(srcdir)/libvirt-refs.xml \
 | 
			
		||||
		$(srcdir)/libvirt-lxc-api.xml \
 | 
			
		||||
		$(srcdir)/libvirt-lxc-refs.xml \
 | 
			
		||||
		$(srcdir)/libvirt-qemu-api.xml \
 | 
			
		||||
		$(srcdir)/libvirt-qemu-refs.xml \
 | 
			
		||||
		$(srcdir)/libvirt-admin-api.xml \
 | 
			
		||||
		$(srcdir)/libvirt-admin-refs.xml \
 | 
			
		||||
		$(NULL)
 | 
			
		||||
 | 
			
		||||
APIBUILD=$(srcdir)/apibuild.py
 | 
			
		||||
APIBUILD_STAMP=$(APIBUILD).stamp
 | 
			
		||||
EXTRA_DIST += $(APIBUILD_STAMP)
 | 
			
		||||
 | 
			
		||||
$(python_generated_files): $(APIBUILD_STAMP)
 | 
			
		||||
 | 
			
		||||
$(APIBUILD_STAMP): $(srcdir)/apibuild.py \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-common.h.in \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-domain-snapshot.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-domain.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-event.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-host.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-interface.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-network.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-nodedev.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-nwfilter.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-secret.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-storage.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-stream.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-lxc.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-qemu.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/libvirt-admin.h \
 | 
			
		||||
		$(top_srcdir)/include/libvirt/virterror.h \
 | 
			
		||||
		$(top_srcdir)/src/libvirt.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-domain-snapshot.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-domain.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-host.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-interface.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-network.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-nodedev.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-nwfilter.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-secret.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-storage.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-stream.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-lxc.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-qemu.c \
 | 
			
		||||
		$(top_srcdir)/src/libvirt-admin.c \
 | 
			
		||||
		$(top_srcdir)/src/util/virerror.c \
 | 
			
		||||
		$(top_srcdir)/src/util/virevent.c \
 | 
			
		||||
		$(top_srcdir)/src/util/virtypedparam.c
 | 
			
		||||
	$(AM_V_GEN)srcdir=$(srcdir) builddir=$(builddir) $(PYTHON) $(APIBUILD)
 | 
			
		||||
	touch $@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
check-local: all
 | 
			
		||||
dist-local: all
 | 
			
		||||
 | 
			
		||||
clean-local:
 | 
			
		||||
	rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html html/*.html
 | 
			
		||||
 | 
			
		||||
maintainer-clean-local: clean-local
 | 
			
		||||
	rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
 | 
			
		||||
	rm -rf $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml
 | 
			
		||||
	rm -rf $(srcdir)/libvirt-lxc-api.xml $(srcdir)/libvirt-lxc-refs.xml
 | 
			
		||||
	rm -rf $(srcdir)/libvirt-admin-api.xml $(srcdir)/libvirt-admin-refs.xml
 | 
			
		||||
	rm -rf $(APIBUILD_STAMP)
 | 
			
		||||
 | 
			
		||||
rebuild: api qemu_api lxc_api admin_api all
 | 
			
		||||
 | 
			
		||||
install-data-local:
 | 
			
		||||
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
 | 
			
		||||
	for f in $(css) $(dot_html) $(gif) $(png); do \
 | 
			
		||||
	  $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR); done
 | 
			
		||||
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/logos
 | 
			
		||||
	for f in $(logofiles); do \
 | 
			
		||||
	  $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/logos; done
 | 
			
		||||
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/html
 | 
			
		||||
	for h in $(apihtml); do \
 | 
			
		||||
	  $(INSTALL) -m 0644 $(srcdir)/$$h $(DESTDIR)$(HTML_DIR)/html; done
 | 
			
		||||
	for p in $(apipng); do \
 | 
			
		||||
	  $(INSTALL) -m 0644 $(srcdir)/$$p $(DESTDIR)$(HTML_DIR)/html; done
 | 
			
		||||
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/internals
 | 
			
		||||
	for f in $(internals_html); do \
 | 
			
		||||
	  $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/internals; done
 | 
			
		||||
	$(mkinstalldirs) $(DESTDIR)$(DEVHELP_DIR)
 | 
			
		||||
	for file in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
 | 
			
		||||
	    $(INSTALL) -m 0644 $(srcdir)/$${file} $(DESTDIR)$(DEVHELP_DIR) ; \
 | 
			
		||||
	done
 | 
			
		||||
	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)/fonts
 | 
			
		||||
	for f in $(fonts); do \
 | 
			
		||||
	  $(INSTALL) -m 0644 $(srcdir)/$$f $(DESTDIR)$(HTML_DIR)/fonts; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
uninstall-local:
 | 
			
		||||
	for f in $(css) $(dot_html) $(gif) $(png) $(fonts); do \
 | 
			
		||||
	  rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
 | 
			
		||||
	done
 | 
			
		||||
	for f in $(logofiles); do \
 | 
			
		||||
	  rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
 | 
			
		||||
	done
 | 
			
		||||
	for h in $(apihtml); do rm -f $(DESTDIR)$(HTML_DIR)/$$h; done
 | 
			
		||||
	for p in $(apipng); do rm -f $(DESTDIR)$(HTML_DIR)/$$p; done
 | 
			
		||||
	for f in $(internals_html); do \
 | 
			
		||||
	  rm -f $(DESTDIR)$(HTML_DIR)/$$f; \
 | 
			
		||||
	done
 | 
			
		||||
	for f in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
 | 
			
		||||
	  rm -f $(DESTDIR)$(DEVHELP_DIR)/$$(basename $$f); \
 | 
			
		||||
	done
 | 
			
		||||
@@ -50,7 +50,7 @@
 | 
			
		||||
      control technologies. By default, the <code>none</code>
 | 
			
		||||
      driver is used, which does no access control checks at
 | 
			
		||||
      all. At this time, libvirt ships with support for using
 | 
			
		||||
      <a href="https://www.freedesktop.org/wiki/Software/polkit/">polkit</a> as a real access
 | 
			
		||||
      <a href="http://www.freedesktop.org/wiki/Software/polkit/">polkit</a> as a real access
 | 
			
		||||
      control driver. To learn how to use the polkit access
 | 
			
		||||
      driver consult <a href="aclpolkit.html">the configuration
 | 
			
		||||
      docs</a>.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										418
									
								
								docs/aclpolkit.html.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										418
									
								
								docs/aclpolkit.html.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,418 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
  <body>
 | 
			
		||||
    <h1>Polkit access control</h1>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      Libvirt's client <a href="acl.html">access control framework</a> allows
 | 
			
		||||
      administrators to setup fine grained permission rules across client users,
 | 
			
		||||
      managed objects and API operations. This allows client connections
 | 
			
		||||
      to be locked down to a minimal set of privileges. The polkit driver
 | 
			
		||||
      provides a simple implementation of the access control framework.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <ul id="toc"></ul>
 | 
			
		||||
 | 
			
		||||
    <h2><a id="intro">Introduction</a></h2>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      A default install of libvirt will typically use
 | 
			
		||||
      <a href="http://www.freedesktop.org/wiki/Software/polkit/">polkit</a>
 | 
			
		||||
      to authenticate the initial user connection to libvirtd. This is a
 | 
			
		||||
      very coarse grained check though, either allowing full read-write
 | 
			
		||||
      access to all APIs, or just read-only access. The polkit access
 | 
			
		||||
      control driver in libvirt builds on this capability to allow for
 | 
			
		||||
      fine grained control over the operations a user may perform on an
 | 
			
		||||
      object.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <h2><a id="perms">Permission names</a></h2>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      The libvirt <a href="acl.html#perms">object names and permission names</a>
 | 
			
		||||
      are mapped onto polkit action names using the simple pattern:
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <pre>org.libvirt.api.$object.$permission
 | 
			
		||||
</pre>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      The only caveat is that any underscore characters in the
 | 
			
		||||
      object or permission names are converted to hyphens. So,
 | 
			
		||||
      for example, the <code>search_storage_vols</code> permission
 | 
			
		||||
      on the <code>storage_pool</code> object maps to the polkit
 | 
			
		||||
      action:
 | 
			
		||||
    </p>
 | 
			
		||||
    <pre>org.libvirt.api.storage-pool.search-storage-vols
 | 
			
		||||
</pre>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      The default policy for any permission which corresponds to
 | 
			
		||||
      a "read only" operation, is to allow access. All other
 | 
			
		||||
      permissions default to deny access.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <h2><a id="attrs">Object identity attributes</a></h2>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      To allow polkit authorization rules to be written to match
 | 
			
		||||
      against individual object instances, libvirt provides a number
 | 
			
		||||
      of authorization detail attributes when performing a permission
 | 
			
		||||
      check. The set of attributes varies according to the type
 | 
			
		||||
      of object being checked
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_connect">virConnectPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_domain">virDomainPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>domain_name</td>
 | 
			
		||||
          <td>Name of the domain, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>domain_uuid</td>
 | 
			
		||||
          <td>UUID of the domain, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_interface">virInterfacePtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>interface_name</td>
 | 
			
		||||
          <td>Name of the network interface, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>interface_macaddr</td>
 | 
			
		||||
          <td>MAC address of the network interface, not unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_network">virNetworkPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>network_name</td>
 | 
			
		||||
          <td>Name of the network, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>network_uuid</td>
 | 
			
		||||
          <td>UUID of the network, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_node_device">virNodeDevicePtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>node_device_name</td>
 | 
			
		||||
          <td>Name of the node device, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_nwfilter">virNWFilterPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>nwfilter_name</td>
 | 
			
		||||
          <td>Name of the network filter, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>nwfilter_uuid</td>
 | 
			
		||||
          <td>UUID of the network filter, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_secret">virSecretPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>secret_uuid</td>
 | 
			
		||||
          <td>UUID of the secret, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>secret_usage_volume</td>
 | 
			
		||||
          <td>Name of the associated volume, if any</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>secret_usage_ceph</td>
 | 
			
		||||
          <td>Name of the associated Ceph server, if any</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>secret_usage_target</td>
 | 
			
		||||
          <td>Name of the associated iSCSI target, if any</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>secret_usage_name</td>
 | 
			
		||||
          <td>Name of the associated TLS secret, if any</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_storage_pool">virStoragePoolPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>pool_name</td>
 | 
			
		||||
          <td>Name of the storage pool, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>pool_uuid</td>
 | 
			
		||||
          <td>UUID of the storage pool, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="object_storage_vol">virStorageVolPtr</a></h3>
 | 
			
		||||
    <table class="acl">
 | 
			
		||||
      <thead>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <th>Attribute</th>
 | 
			
		||||
          <th>Description</th>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </thead>
 | 
			
		||||
      <tbody>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>connect_driver</td>
 | 
			
		||||
          <td>Name of the libvirt connection driver</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>pool_name</td>
 | 
			
		||||
          <td>Name of the storage pool, unique to the local host</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>pool_uuid</td>
 | 
			
		||||
          <td>UUID of the storage pool, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>vol_name</td>
 | 
			
		||||
          <td>Name of the storage volume, unique to the pool</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
          <td>vol_key</td>
 | 
			
		||||
          <td>Key of the storage volume, globally unique</td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </tbody>
 | 
			
		||||
    </table>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <h2><a id="user">User identity attributes</a></h2>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      At this point in time, the only attribute provided by
 | 
			
		||||
      libvirt to identify the user invoking the operation
 | 
			
		||||
      is the PID of the client program. This means that the
 | 
			
		||||
      polkit access control driver is only useful if connections
 | 
			
		||||
      to libvirt are restricted to its UNIX domain socket. If
 | 
			
		||||
      connections are being made to a TCP socket, no identifying
 | 
			
		||||
      information is available and access will be denied.
 | 
			
		||||
      Also note that if the client is connecting via an SSH
 | 
			
		||||
      tunnel, it is the local SSH user that will be identified.
 | 
			
		||||
      In future versions, it is expected that more information
 | 
			
		||||
      about the client user will be provided, including the
 | 
			
		||||
      SASL / Kerberos username and/or x509 distinguished
 | 
			
		||||
      name obtained from the authentication provider in use.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <h2><a id="checks">Writing access control policies</a></h2>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      If using versions of polkit prior to 0.106 then it is only
 | 
			
		||||
      possible to validate (user, permission) pairs via the <code>.pkla</code>
 | 
			
		||||
      files. Fully validation of the (user, permission, object) triple
 | 
			
		||||
      requires the new JavaScript <code>.rules</code> support that
 | 
			
		||||
      was introduced in version 0.106. The latter is what will be
 | 
			
		||||
      described here.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      Libvirt does not ship any rules files by default. It merely
 | 
			
		||||
      provides a definition of the default behaviour for each
 | 
			
		||||
      action (permission). As noted earlier, permissions which
 | 
			
		||||
      correspond to read-only operations in libvirt will be allowed
 | 
			
		||||
      to all users by default; everything else is denied by default.
 | 
			
		||||
      Defining custom rules requires creation of a file in the
 | 
			
		||||
      <code>/etc/polkit-1/rules.d</code> directory with a name
 | 
			
		||||
      chosen by the administrator (<code>100-libvirt-acl.rules</code>
 | 
			
		||||
      would be a reasonable choice). See the <code>polkit(8)</code>
 | 
			
		||||
      manual page for a description of how to write these files
 | 
			
		||||
      in general. The key idea is to create a file containing
 | 
			
		||||
      something like
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <pre>
 | 
			
		||||
polkit.addRule(function(action, subject) {
 | 
			
		||||
  ....logic to check 'action' and 'subject'...
 | 
			
		||||
});
 | 
			
		||||
    </pre>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      In this code snippet above, the <code>action</code> object
 | 
			
		||||
      instance will represent the libvirt permission being checked
 | 
			
		||||
      along with identifying attributes for the object it is being
 | 
			
		||||
      applied to. The <code>subject</code> meanwhile will identify
 | 
			
		||||
      the libvirt client app (with the caveat above about it only
 | 
			
		||||
      dealing with local clients connected via the UNIX socket).
 | 
			
		||||
      On the <code>action</code> object, the permission name is
 | 
			
		||||
      accessible via the <code>id</code> attribute, while the
 | 
			
		||||
      object identifying attributes are exposed via the
 | 
			
		||||
      <code>lookup</code> method.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
    See
 | 
			
		||||
    <a href="https://libvirt.org/git/?p=libvirt.git;a=tree;f=examples/polkit;hb=HEAD">source code</a>
 | 
			
		||||
    for a more complex example.
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="exconnect">Example: restricting ability to connect to drivers</a></h3>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      Consider a local user <code>berrange</code>
 | 
			
		||||
      who has been granted permission to connect to libvirt in
 | 
			
		||||
      full read-write mode. The goal is to only allow them to
 | 
			
		||||
      use the <code>QEMU</code> driver and not the Xen or LXC
 | 
			
		||||
      drivers which are also available in libvirtd.
 | 
			
		||||
      To achieve this we need to write a rule which checks
 | 
			
		||||
      whether the <code>connect_driver</code> attribute
 | 
			
		||||
      is <code>QEMU</code>, and match on an action
 | 
			
		||||
      name of <code>org.libvirt.api.connect.getattr</code>. Using
 | 
			
		||||
      the javascript rules format, this ends up written as
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <pre>
 | 
			
		||||
polkit.addRule(function(action, subject) {
 | 
			
		||||
    if (action.id == "org.libvirt.api.connect.getattr" &&
 | 
			
		||||
        subject.user == "berrange") {
 | 
			
		||||
          if (action.lookup("connect_driver") == 'QEMU') {
 | 
			
		||||
            return polkit.Result.YES;
 | 
			
		||||
          } else {
 | 
			
		||||
            return polkit.Result.NO;
 | 
			
		||||
          }
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
    </pre>
 | 
			
		||||
 | 
			
		||||
    <h3><a id="exdomain">Example: restricting access to a single domain</a></h3>
 | 
			
		||||
 | 
			
		||||
    <p>
 | 
			
		||||
      Consider a local user <code>berrange</code>
 | 
			
		||||
      who has been granted permission to connect to libvirt in
 | 
			
		||||
      full read-write mode. The goal is to only allow them to
 | 
			
		||||
      see the domain called <code>demo</code> on the LXC driver.
 | 
			
		||||
      To achieve this we need to write a rule which checks
 | 
			
		||||
      whether the <code>connect_driver</code> attribute
 | 
			
		||||
      is <code>LXC</code> and the <code>domain_name</code>
 | 
			
		||||
      attribute is <code>demo</code>, and match on an action
 | 
			
		||||
      name of <code>org.libvirt.api.domain.getattr</code>. Using
 | 
			
		||||
      the javascript rules format, this ends up written as
 | 
			
		||||
    </p>
 | 
			
		||||
 | 
			
		||||
    <pre>
 | 
			
		||||
polkit.addRule(function(action, subject) {
 | 
			
		||||
    if (action.id == "org.libvirt.api.domain.getattr" &&
 | 
			
		||||
        subject.user == "berrange") {
 | 
			
		||||
          if (action.lookup("connect_driver") == 'LXC' &&
 | 
			
		||||
              action.lookup("domain_name") == 'demo') {
 | 
			
		||||
            return polkit.Result.YES;
 | 
			
		||||
          } else {
 | 
			
		||||
            return polkit.Result.NO;
 | 
			
		||||
          }
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
    </pre>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user