mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-10-01 21:46:35 +03:00
Compare commits
56 Commits
v8.9.0-rc1
...
v1.2.9.2
Author | SHA1 | Date | |
---|---|---|---|
|
2ed8e729d4 | ||
|
f6dd410d69 | ||
|
e22677268c | ||
|
ca1701e3c2 | ||
|
2c8a5b5e2e | ||
|
295f3c88ce | ||
|
19f8fec02d | ||
|
d109b7ce25 | ||
|
03f19178ce | ||
|
5443a58d6b | ||
|
12496319a2 | ||
|
584e876ba2 | ||
|
dfbdea7ea8 | ||
|
5d8bee6d57 | ||
|
e6d4720c6f | ||
|
51a90abdc6 | ||
|
1a06da1fa2 | ||
|
c2dd9c69fc | ||
|
6cdd9a76a5 | ||
|
26a87687c7 | ||
|
c9ab47ad44 | ||
|
40f8708e9a | ||
|
1aeac2af00 | ||
|
35b06cebd4 | ||
|
d937f1f939 | ||
|
6d25ed4895 | ||
|
d54460f2eb | ||
|
bc43f8cbfe | ||
|
d2cebf0b05 | ||
|
dbc11c4f97 | ||
|
963d0bb5e6 | ||
|
595a1c8836 | ||
|
08182c7fd8 | ||
|
65599f2777 | ||
|
ecfdfb15cc | ||
|
28a3732d87 | ||
|
b8bf1188eb | ||
|
052432765d | ||
|
b6366531a5 | ||
|
3b4b9aee83 | ||
|
0940208b52 | ||
|
a70d93e226 | ||
|
3d52d5e6d5 | ||
|
1bcf7e10ab | ||
|
5d02a123ab | ||
|
e1a3efdac7 | ||
|
86d26c425d | ||
|
a91a960f0e | ||
|
870ea74ed5 | ||
|
3d021408c5 | ||
|
d72e79ed27 | ||
|
7caed3d4c5 | ||
|
744ddb15e0 | ||
|
cd1b72fdd8 | ||
|
e9bf19a4b2 | ||
|
74e27d1c0e |
1
.ctags
1
.ctags
@@ -3,4 +3,3 @@
|
|||||||
--exclude=*.html
|
--exclude=*.html
|
||||||
--exclude=*.html.in
|
--exclude=*.html.in
|
||||||
--langmap=c:+.h.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
|
|
22
.gitattributes
vendored
22
.gitattributes
vendored
@@ -1,22 +0,0 @@
|
|||||||
# Generic git stuff
|
|
||||||
**/.gitattributes export-ignore
|
|
||||||
**/.gitignore export-ignore
|
|
||||||
/.gitmodules export-ignore
|
|
||||||
/.mailmap export-ignore
|
|
||||||
|
|
||||||
# Project-specific git stuff
|
|
||||||
/.gitpublish export-ignore
|
|
||||||
/docs/gitdm export-ignore
|
|
||||||
/docs/gitdm/** export-ignore
|
|
||||||
/gitdm.config export-ignore
|
|
||||||
|
|
||||||
# Code hosting stuff
|
|
||||||
/.github export-ignore
|
|
||||||
/.github/** export-ignore
|
|
||||||
/.gitlab export-ignore
|
|
||||||
/.gitlab/** export-ignore
|
|
||||||
|
|
||||||
# CI stuff
|
|
||||||
/.gitlab-ci.yml export-ignore
|
|
||||||
/ci export-ignore
|
|
||||||
/ci/** export-ignore
|
|
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
|
|
209
.gitignore
vendored
209
.gitignore
vendored
@@ -1,26 +1,195 @@
|
|||||||
# vim related ignores
|
|
||||||
*.swp
|
|
||||||
.lvimrc
|
|
||||||
|
|
||||||
# emacs related ignores
|
|
||||||
*#*#
|
*#*#
|
||||||
*.#*#
|
*.#*#
|
||||||
.#*
|
*.a
|
||||||
*~
|
*.cov
|
||||||
|
*.exe
|
||||||
# git related ignores
|
*.exe.manifest
|
||||||
*.rej
|
*.gcda
|
||||||
|
*.gcno
|
||||||
|
*.gcov
|
||||||
|
*.html
|
||||||
|
*.i
|
||||||
|
*.la
|
||||||
|
*.lo
|
||||||
|
*.loT
|
||||||
|
*.o
|
||||||
*.orig
|
*.orig
|
||||||
|
*.pem
|
||||||
|
*.pyc
|
||||||
|
*.rej
|
||||||
|
*.s
|
||||||
|
*~
|
||||||
|
.#*
|
||||||
|
.deps
|
||||||
|
.dirstamp
|
||||||
|
.gdb_history
|
||||||
|
.git
|
||||||
.git-module-status
|
.git-module-status
|
||||||
|
.libs
|
||||||
# python related ignores
|
.lvimrc
|
||||||
__pycache__/
|
.memdump
|
||||||
|
.sc-start-sc_*
|
||||||
# libvirt related ignores
|
/ABOUT-NLS
|
||||||
|
/AUTHORS
|
||||||
|
/ChangeLog
|
||||||
|
/GNUmakefile
|
||||||
|
/INSTALL
|
||||||
|
/NEWS
|
||||||
|
/aclocal.m4
|
||||||
|
/autom4te.cache
|
||||||
|
/build-aux
|
||||||
|
/build-aux/
|
||||||
/build/
|
/build/
|
||||||
/ci/scratch/
|
/config.cache
|
||||||
|
/config.guess
|
||||||
|
/config.h
|
||||||
|
/config.h.in
|
||||||
|
/config.log
|
||||||
|
/config.rpath
|
||||||
|
/config.status
|
||||||
|
/config.sub
|
||||||
|
/configure
|
||||||
|
/configure.lineno
|
||||||
|
/daemon/*_dispatch.h
|
||||||
|
/daemon/libvirt_qemud
|
||||||
|
/daemon/libvirtd
|
||||||
|
/daemon/libvirtd*.logrotate
|
||||||
|
/daemon/libvirtd.8
|
||||||
|
/daemon/libvirtd.8.in
|
||||||
|
/daemon/libvirtd.init
|
||||||
|
/daemon/libvirtd.pod
|
||||||
|
/daemon/libvirtd.policy
|
||||||
|
/daemon/libvirtd.service
|
||||||
|
/daemon/libvirtd.socket
|
||||||
|
/daemon/test_libvirtd.aug
|
||||||
|
/docs/aclperms.htmlinc
|
||||||
|
/docs/apibuild.py.stamp
|
||||||
|
/docs/devhelp/libvirt.devhelp
|
||||||
|
/docs/hvsupport.html.in
|
||||||
|
/docs/libvirt-api.xml
|
||||||
|
/docs/libvirt-lxc-*.xml
|
||||||
|
/docs/libvirt-qemu-*.xml
|
||||||
|
/docs/libvirt-refs.xml
|
||||||
|
/docs/search.php
|
||||||
|
/docs/todo.html.in
|
||||||
|
/examples/object-events/event-test
|
||||||
|
/examples/dominfo/info1
|
||||||
|
/examples/domsuspend/suspend
|
||||||
|
/examples/dommigrate/dommigrate
|
||||||
|
/examples/domtop/domtop
|
||||||
|
/examples/hellolibvirt/hellolibvirt
|
||||||
|
/examples/openauth/openauth
|
||||||
|
/gnulib/lib/*
|
||||||
|
/gnulib/m4/*
|
||||||
|
/gnulib/tests/*
|
||||||
|
/include/libvirt/libvirt.h
|
||||||
|
/libtool
|
||||||
|
/libvirt-*.tar.gz
|
||||||
|
/libvirt-[0-9]*
|
||||||
|
/libvirt*.pc
|
||||||
|
/libvirt.spec
|
||||||
|
/ltconfig
|
||||||
|
/ltmain.sh
|
||||||
|
/m4/*
|
||||||
|
/maint.mk
|
||||||
|
/mingw-libvirt.spec
|
||||||
|
/mkinstalldirs
|
||||||
|
/po/*
|
||||||
|
/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/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_*.stp
|
||||||
|
/src/libvirt_*helper
|
||||||
|
/src/libvirt_*probes.h
|
||||||
|
/src/libvirt_lxc
|
||||||
|
/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/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/rpc/virkeepaliveprotocol.[ch]
|
||||||
|
/src/rpc/virnetprotocol.[ch]
|
||||||
|
/src/test_libvirt*.aug
|
||||||
|
/src/test_virtlockd.aug
|
||||||
|
/src/util/virkeymaps.h
|
||||||
|
/src/virt-aa-helper
|
||||||
|
/src/virtlockd
|
||||||
|
/src/virtlockd.8
|
||||||
|
/src/virtlockd.8.in
|
||||||
|
/src/virtlockd.init
|
||||||
|
/tests/*.log
|
||||||
|
/tests/*.pid
|
||||||
|
/tests/*.trs
|
||||||
|
/tests/commandhelper
|
||||||
|
/tests/*test
|
||||||
|
!/tests/*schematest
|
||||||
|
!/tests/virt-aa-helper-test
|
||||||
|
/tests/objectlocking
|
||||||
|
/tests/objectlocking-files.txt
|
||||||
|
/tests/objectlocking.cm[ix]
|
||||||
|
/tests/reconnect
|
||||||
|
/tests/ssh
|
||||||
|
/tests/test_conf
|
||||||
|
/tools/*.[18]
|
||||||
|
/tools/libvirt-guests.init
|
||||||
|
/tools/libvirt-guests.service
|
||||||
|
/tools/libvirt-guests.sh
|
||||||
|
/tools/virt-login-shell
|
||||||
|
/tools/virsh
|
||||||
|
/tools/virsh-*-edit.c
|
||||||
|
/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
|
tags
|
||||||
|
!/gnulib/lib/Makefile.am
|
||||||
# clangd related ignores
|
!/gnulib/tests/Makefile.am
|
||||||
.clangd
|
!/m4/virt-*.m4
|
||||||
compile_commands.json
|
!/po/*.po
|
||||||
|
!/po/POTFILES.in
|
||||||
|
!/po/libvirt.pot
|
||||||
|
190
.gitlab-ci.yml
190
.gitlab-ci.yml
@@ -1,190 +0,0 @@
|
|||||||
variables:
|
|
||||||
GIT_DEPTH: 100
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- containers
|
|
||||||
- builds
|
|
||||||
- integration_tests
|
|
||||||
- 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'
|
|
||||||
- '/ci/integration.yml'
|
|
||||||
|
|
||||||
.native_build_job:
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- ccache/
|
|
||||||
key: "$CI_JOB_NAME"
|
|
||||||
script:
|
|
||||||
- *script_variables
|
|
||||||
- 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 --clean --nodeps --define "_without_mingw 1" --define "_topdir $PWD/rpmbuild/" -ta build/meson-dist/libvirt-*.tar.xz;
|
|
||||||
mv rpmbuild/RPMS/x86_64/ libvirt-rpms/;
|
|
||||||
else
|
|
||||||
meson compile -C build;
|
|
||||||
meson test -C build --no-suite syntax-check --print-errorlogs;
|
|
||||||
fi
|
|
||||||
|
|
||||||
.native_build_job_prebuilt_env:
|
|
||||||
extends:
|
|
||||||
- .native_build_job
|
|
||||||
- .gitlab_native_build_job_prebuilt_env
|
|
||||||
|
|
||||||
.native_build_job_local_env:
|
|
||||||
extends:
|
|
||||||
- .native_build_job
|
|
||||||
- .gitlab_native_build_job_local_env
|
|
||||||
|
|
||||||
.cross_build_job:
|
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- ccache/
|
|
||||||
key: "$CI_JOB_NAME"
|
|
||||||
script:
|
|
||||||
- *script_variables
|
|
||||||
- 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
|
|
||||||
|
|
||||||
.cross_build_job_prebuilt_env:
|
|
||||||
extends:
|
|
||||||
- .cross_build_job
|
|
||||||
- .gitlab_cross_build_job_prebuilt_env
|
|
||||||
|
|
||||||
.cross_build_job_local_env:
|
|
||||||
extends:
|
|
||||||
- .cross_build_job
|
|
||||||
- .gitlab_cross_build_job_local_env
|
|
||||||
|
|
||||||
|
|
||||||
# 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_job:
|
|
||||||
script:
|
|
||||||
- *script_variables
|
|
||||||
- meson setup build --werror -Dsystem=true || (cat build/meson-logs/meson-log.txt && exit 1)
|
|
||||||
- DESTDIR=$(pwd)/install ninja -C build install-web
|
|
||||||
- mv install/usr/share/doc/libvirt/html/ website
|
|
||||||
artifacts:
|
|
||||||
expose_as: 'Website'
|
|
||||||
name: 'website'
|
|
||||||
when: on_success
|
|
||||||
expire_in: 30 days
|
|
||||||
paths:
|
|
||||||
- website
|
|
||||||
|
|
||||||
website_prebuilt_env:
|
|
||||||
extends:
|
|
||||||
- .website_job
|
|
||||||
- .gitlab_native_build_job_prebuilt_env
|
|
||||||
needs:
|
|
||||||
- job: x86_64-almalinux-8-container
|
|
||||||
optional: true
|
|
||||||
variables:
|
|
||||||
NAME: almalinux-8
|
|
||||||
|
|
||||||
website_local_env:
|
|
||||||
extends:
|
|
||||||
- .website_job
|
|
||||||
- .gitlab_native_build_job_local_env
|
|
||||||
variables:
|
|
||||||
IMAGE: docker.io/library/almalinux:8
|
|
||||||
NAME: almalinux-8
|
|
||||||
|
|
||||||
|
|
||||||
.codestyle_job:
|
|
||||||
stage: sanity_checks
|
|
||||||
script:
|
|
||||||
- *script_variables
|
|
||||||
- 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
|
|
||||||
|
|
||||||
codestyle_prebuilt_env:
|
|
||||||
extends:
|
|
||||||
- .codestyle_job
|
|
||||||
- .gitlab_native_build_job_prebuilt_env
|
|
||||||
needs:
|
|
||||||
- job: x86_64-opensuse-leap-153-container
|
|
||||||
optional: true
|
|
||||||
variables:
|
|
||||||
NAME: opensuse-leap-153
|
|
||||||
|
|
||||||
codestyle_local_env:
|
|
||||||
extends:
|
|
||||||
- .codestyle_job
|
|
||||||
- .gitlab_native_build_job_local_env
|
|
||||||
variables:
|
|
||||||
IMAGE: registry.opensuse.org/opensuse/leap:15.3
|
|
||||||
NAME: opensuse-leap-153
|
|
||||||
|
|
||||||
|
|
||||||
# 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:
|
|
||||||
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest
|
|
||||||
stage: builds
|
|
||||||
variables:
|
|
||||||
NAME: almalinux-8
|
|
||||||
before_script:
|
|
||||||
- cat /packages.txt
|
|
||||||
needs:
|
|
||||||
- job: x86_64-almalinux-8-container
|
|
||||||
optional: true
|
|
||||||
rules:
|
|
||||||
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
|
||||||
when: on_success
|
|
||||||
- when: never
|
|
||||||
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/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest
|
|
||||||
stage: builds
|
|
||||||
needs:
|
|
||||||
- job: x86_64-almalinux-8-container
|
|
||||||
optional: true
|
|
||||||
before_script:
|
|
||||||
- cat /packages.txt
|
|
||||||
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"
|
|
||||||
variables:
|
|
||||||
NAME: almalinux-8
|
|
||||||
rules:
|
|
||||||
- if: '$COVERITY_SCAN_PROJECT_NAME == null || $COVERITY_SCAN_TOKEN == null'
|
|
||||||
when: never
|
|
||||||
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
|
|
||||||
when: on_success
|
|
||||||
- when: never
|
|
@@ -1,19 +0,0 @@
|
|||||||
<!-- See https://libvirt.org/bugs.html#how-to-file-high-quality-bug-reports -->
|
|
||||||
|
|
||||||
## 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 -->
|
|
@@ -1,25 +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
|
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
|||||||
[submodule "keycodemapdb"]
|
[submodule "gnulib"]
|
||||||
path = src/keycodemapdb
|
path = .gnulib
|
||||||
url = https://gitlab.com/keycodemap/keycodemapdb.git
|
url = git://git.sv.gnu.org/gnulib.git
|
||||||
|
@@ -1,4 +0,0 @@
|
|||||||
[gitpublishprofile "default"]
|
|
||||||
base = master
|
|
||||||
to = libvir-list@redhat.com
|
|
||||||
prefix = libvirt PATCH
|
|
1
.gnulib
Submodule
1
.gnulib
Submodule
Submodule .gnulib added at 9565c3be73
28
.mailmap
28
.mailmap
@@ -5,10 +5,7 @@
|
|||||||
|
|
||||||
<bozzolan@gmail.com> <redshift@gmx.com>
|
<bozzolan@gmail.com> <redshift@gmx.com>
|
||||||
<charles_duffy@messageone.com> <charles@dyfis.net>
|
<charles_duffy@messageone.com> <charles@dyfis.net>
|
||||||
<claudio.bley@gmail.com> <cbley@av-test.de>
|
|
||||||
<dfj@redhat.com> <dfj@dfj.bne.redhat.com>
|
<dfj@redhat.com> <dfj@dfj.bne.redhat.com>
|
||||||
<dpkshetty@gmail.com> <deepakcs@linux.vnet.ibm.com>
|
|
||||||
<dpkshetty@gmail.com> <deepakcs@redhat.com>
|
|
||||||
<eblake@redhat.com> <ebb9@byu.net>
|
<eblake@redhat.com> <ebb9@byu.net>
|
||||||
<gdolley@arpnetworks.com> <gdolley@ucla.edu>
|
<gdolley@arpnetworks.com> <gdolley@ucla.edu>
|
||||||
<gerhard.stenzel@de.ibm.com> <gstenzel@linux.vnet.ibm.com>
|
<gerhard.stenzel@de.ibm.com> <gstenzel@linux.vnet.ibm.com>
|
||||||
@@ -20,6 +17,7 @@
|
|||||||
<jfehlig@suse.com> <jfehlig@novell.com>
|
<jfehlig@suse.com> <jfehlig@novell.com>
|
||||||
<jfehlig@suse.com> <jfehlig@linux-ypgk.site>
|
<jfehlig@suse.com> <jfehlig@linux-ypgk.site>
|
||||||
<jclift@redhat.com> <justin@salasaga.org>
|
<jclift@redhat.com> <justin@salasaga.org>
|
||||||
|
<berrange@redhat.com> <dan@berrange.com>
|
||||||
<soren@linux2go.dk> <soren@canonical.com>
|
<soren@linux2go.dk> <soren@canonical.com>
|
||||||
<cfergeau@redhat.com> <teuf@gnome.org>
|
<cfergeau@redhat.com> <teuf@gnome.org>
|
||||||
<wency@cn.fujitsu.com> <wency cn fujitsu com>
|
<wency@cn.fujitsu.com> <wency cn fujitsu com>
|
||||||
@@ -38,16 +36,6 @@
|
|||||||
<zhlcindy@linux.vnet.ibm.com> <zhlcindy@gmail.com>
|
<zhlcindy@linux.vnet.ibm.com> <zhlcindy@gmail.com>
|
||||||
<serge.hallyn@canonical.com> <serue@us.ibm.com>
|
<serge.hallyn@canonical.com> <serue@us.ibm.com>
|
||||||
<pritesh.kothari@sun.com> <Pritesh.Kothari@Sun.COM>
|
<pritesh.kothari@sun.com> <Pritesh.Kothari@Sun.COM>
|
||||||
<cbosdonnat@suse.com> <cedric.bosdonnat@free.fr>
|
|
||||||
<mnestratov@virtuozzo.com> <mnestratov@parallels.com>
|
|
||||||
<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:
|
# Name consolidation:
|
||||||
# Preferred author spelling <preferred email>
|
# Preferred author spelling <preferred email>
|
||||||
@@ -65,16 +53,6 @@ Aurelien Rougemont <beorn@binaries.fr>
|
|||||||
Serge E. Hallyn <serge.hallyn@canonical.com>
|
Serge E. Hallyn <serge.hallyn@canonical.com>
|
||||||
Henrik Persson E <henrik.e.persson@ericsson.com>
|
Henrik Persson E <henrik.e.persson@ericsson.com>
|
||||||
Philipp Hahn <hahn@univention.de>
|
Philipp Hahn <hahn@univention.de>
|
||||||
|
Marco Bozzolan <bozzolan@gmail.com>
|
||||||
|
Marco Bozzolan <redshift@gmx.com>
|
||||||
Pritesh Kothari <pritesh.kothari@sun.com>
|
Pritesh Kothari <pritesh.kothari@sun.com>
|
||||||
Wang Yufei (James) <james.wangyufei@huawei.com>
|
|
||||||
Deepak C Shetty <dpkshetty@gmail.com>
|
|
||||||
Dave Allan <dallan@redhat.com>
|
|
||||||
Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
|
|
||||||
# Non-trivial consolidation:
|
|
||||||
# see git documentation for information about the format
|
|
||||||
Daniel P. Berrangé <berrange@redhat.com>
|
|
||||||
Daniel P. Berrangé <berrange@redhat.com> <dan@berrange.com>
|
|
||||||
Michal Prívozník <mprivozn@redhat.com>
|
|
||||||
Michal Prívozník <mprivozn@redhat.com> <miso.privoznik@gmail.com>
|
|
||||||
Marco Bozzolan <bozzolan@gmail.com> <redshift@gmx.com>
|
|
||||||
|
97
AUTHORS.in
Normal file
97
AUTHORS.in
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
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>
|
||||||
|
Anthony Liguori <aliguori@us.ibm.com>
|
||||||
|
Cédric Bosdonnat <cbosdonnat@suse.com>
|
||||||
|
Chris Lalancette <clalance@redhat.com>
|
||||||
|
Christophe Fergeau <cfergeau@redhat.com>
|
||||||
|
Claudio Bley <cbley@av-test.de>
|
||||||
|
Cole Robinson <crobinso@redhat.com>
|
||||||
|
Daniel Berrange <berrange@redhat.com>
|
||||||
|
Daniel Veillard <veillard@redhat.com>
|
||||||
|
Dave Allan <dallan@redhat.com>
|
||||||
|
Doug Goldstein <cardoe@gentoo.org>
|
||||||
|
Eric Blake <eblake@redhat.com>
|
||||||
|
Gao Feng <gaofeng@cn.fujitsu.com>
|
||||||
|
Guannan Ren <gren@redhat.com>
|
||||||
|
Guido Günther <agx@sigxcpu.org>
|
||||||
|
Ján Tomko <jtomko@redhat.com>
|
||||||
|
Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Jim Meyering <meyering@redhat.com>
|
||||||
|
Jiří Denemark <jdenemar@redhat.com>
|
||||||
|
John Ferlan <jferlan@redhat.com>
|
||||||
|
John Levon <john.levon@sun.com>
|
||||||
|
Laine Stump <laine@redhat.com>
|
||||||
|
Mark McLoughlin <markmc@redhat.com>
|
||||||
|
Martin Kletzander <mkletzan@redhat.com>
|
||||||
|
Matthias Bolte <matthias.bolte@googlemail.com>
|
||||||
|
Michal Prívozník <mprivozn@redhat.com>
|
||||||
|
Osier Yang <jyang@redhat.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:
|
||||||
|
|
||||||
|
Atsushi SAKAI <sakaia@jp.fujitsu.com>
|
||||||
|
Dan Smith <danms@us.ibm.com>
|
||||||
|
Dave Leskovec <dlesko@linux.vnet.ibm.com>
|
||||||
|
Justin Clift <jclift@redhat.com>
|
||||||
|
Karel Zak <kzak@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>
|
||||||
|
Christian Ehrhardt <ehrhardt@linux.vnet.ibm.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>
|
||||||
|
|
||||||
|
#authorslist#
|
||||||
|
|
||||||
|
[....send patches to get your name here....]
|
||||||
|
|
||||||
|
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@openvz.org>
|
|
||||||
* 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.
|
|
@@ -55,7 +55,7 @@ modified by someone else and passed on, the recipients should know
|
|||||||
that what they have is not the original version, so that the original
|
that what they have is not the original version, so that the original
|
||||||
author's reputation will not be affected by problems that might be
|
author's reputation will not be affected by problems that might be
|
||||||
introduced by others.
|
introduced by others.
|
||||||
|
|
||||||
Finally, software patents pose a constant threat to the existence of
|
Finally, software patents pose a constant threat to the existence of
|
||||||
any free program. We wish to make sure that a company cannot
|
any free program. We wish to make sure that a company cannot
|
||||||
effectively restrict the users of a free program by obtaining a
|
effectively restrict the users of a free program by obtaining a
|
||||||
@@ -111,7 +111,7 @@ modification follow. Pay close attention to the difference between a
|
|||||||
"work based on the library" and a "work that uses the library". The
|
"work based on the library" and a "work that uses the library". The
|
||||||
former contains code derived from the library, whereas the latter must
|
former contains code derived from the library, whereas the latter must
|
||||||
be combined with the library in order to run.
|
be combined with the library in order to run.
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ Library.
|
|||||||
You may charge a fee for the physical act of transferring a copy,
|
You may charge a fee for the physical act of transferring a copy,
|
||||||
and you may at your option offer warranty protection in exchange for a
|
and you may at your option offer warranty protection in exchange for a
|
||||||
fee.
|
fee.
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Library or any portion
|
2. You may modify your copy or copies of the Library or any portion
|
||||||
of it, thus forming a work based on the Library, and copy and
|
of it, thus forming a work based on the Library, and copy and
|
||||||
distribute such modifications or work under the terms of Section 1
|
distribute such modifications or work under the terms of Section 1
|
||||||
@@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the
|
|||||||
ordinary GNU General Public License has appeared, then you can specify
|
ordinary GNU General Public License has appeared, then you can specify
|
||||||
that version instead if you wish.) Do not make any other change in
|
that version instead if you wish.) Do not make any other change in
|
||||||
these notices.
|
these notices.
|
||||||
|
|
||||||
Once this change is made in a given copy, it is irreversible for
|
Once this change is made in a given copy, it is irreversible for
|
||||||
that copy, so the ordinary GNU General Public License applies to all
|
that copy, so the ordinary GNU General Public License applies to all
|
||||||
subsequent copies and derivative works made from that copy.
|
subsequent copies and derivative works made from that copy.
|
||||||
@@ -267,7 +267,7 @@ Library will still fall under Section 6.)
|
|||||||
distribute the object code for the work under the terms of Section 6.
|
distribute the object code for the work under the terms of Section 6.
|
||||||
Any executables containing that work also fall under Section 6,
|
Any executables containing that work also fall under Section 6,
|
||||||
whether or not they are linked directly with the Library itself.
|
whether or not they are linked directly with the Library itself.
|
||||||
|
|
||||||
6. As an exception to the Sections above, you may also combine or
|
6. As an exception to the Sections above, you may also combine or
|
||||||
link a "work that uses the Library" with the Library to produce a
|
link a "work that uses the Library" with the Library to produce a
|
||||||
work containing portions of the Library, and distribute that work
|
work containing portions of the Library, and distribute that work
|
||||||
@@ -329,7 +329,7 @@ restrictions of other proprietary libraries that do not normally
|
|||||||
accompany the operating system. Such a contradiction means you cannot
|
accompany the operating system. Such a contradiction means you cannot
|
||||||
use both them and the Library together in an executable that you
|
use both them and the Library together in an executable that you
|
||||||
distribute.
|
distribute.
|
||||||
|
|
||||||
7. You may place library facilities that are a work based on the
|
7. You may place library facilities that are a work based on the
|
||||||
Library side-by-side in a single library together with other library
|
Library side-by-side in a single library together with other library
|
||||||
facilities not covered by this License, and distribute such a combined
|
facilities not covered by this License, and distribute such a combined
|
||||||
@@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further
|
|||||||
restrictions on the recipients' exercise of the rights granted herein.
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
You are not responsible for enforcing compliance by third parties with
|
You are not responsible for enforcing compliance by third parties with
|
||||||
this License.
|
this License.
|
||||||
|
|
||||||
11. If, as a consequence of a court judgment or allegation of patent
|
11. If, as a consequence of a court judgment or allegation of patent
|
||||||
infringement or for any other reason (not limited to patent issues),
|
infringement or for any other reason (not limited to patent issues),
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
@@ -422,7 +422,7 @@ conditions either of that version or of any later version published by
|
|||||||
the Free Software Foundation. If the Library does not specify a
|
the Free Software Foundation. If the Library does not specify a
|
||||||
license version number, you may choose any version ever published by
|
license version number, you may choose any version ever published by
|
||||||
the Free Software Foundation.
|
the Free Software Foundation.
|
||||||
|
|
||||||
14. If you wish to incorporate parts of the Library into other free
|
14. If you wish to incorporate parts of the Library into other free
|
||||||
programs whose distribution conditions are incompatible with these,
|
programs whose distribution conditions are incompatible with these,
|
||||||
write to the author to ask for permission. For software which is
|
write to the author to ask for permission. For software which is
|
||||||
@@ -456,7 +456,7 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
|||||||
DAMAGES.
|
DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Libraries
|
How to Apply These Terms to Your New Libraries
|
||||||
|
|
||||||
If you develop a new library, and you want it to be of the greatest
|
If you develop a new library, and you want it to be of the greatest
|
||||||
|
16699
ChangeLog-old
Normal file
16699
ChangeLog-old
Normal file
File diff suppressed because it is too large
Load Diff
985
HACKING
Normal file
985
HACKING
Normal file
@@ -0,0 +1,985 @@
|
|||||||
|
-*- buffer-read-only: t -*- vi: set ro:
|
||||||
|
DO NOT EDIT THIS FILE! IT IS GENERATED AUTOMATICALLY
|
||||||
|
from docs/hacking.html.in!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Contributor guidelines
|
||||||
|
======================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
General tips for contributing patches
|
||||||
|
=====================================
|
||||||
|
(1) Discuss any large changes on the mailing list first. Post patches early and
|
||||||
|
listen to feedback.
|
||||||
|
|
||||||
|
(2) Post patches in unified diff format, with git rename detection enabled. You
|
||||||
|
need a one-time setup of:
|
||||||
|
|
||||||
|
git config diff.renames true
|
||||||
|
|
||||||
|
After that, a command similar to this should work:
|
||||||
|
|
||||||
|
diff -urp libvirt.orig/ libvirt.modified/ > libvirt-myfeature.patch
|
||||||
|
|
||||||
|
or:
|
||||||
|
|
||||||
|
git diff > libvirt-myfeature.patch
|
||||||
|
|
||||||
|
Also, for code motion patches, you may find that "git diff --patience"
|
||||||
|
provides an easier-to-read patch. However, the usual workflow of libvirt
|
||||||
|
developer is:
|
||||||
|
|
||||||
|
git checkout master
|
||||||
|
git pull
|
||||||
|
git checkout -t origin -b workbranch
|
||||||
|
Hack, committing any changes along the way
|
||||||
|
|
||||||
|
More hints on compiling can be found here <compiling.html>. When you want to
|
||||||
|
post your patches:
|
||||||
|
|
||||||
|
git pull --rebase
|
||||||
|
(fix any conflicts)
|
||||||
|
git send-email --cover-letter --no-chain-reply-to --annotate \
|
||||||
|
--to=libvir-list@redhat.com master
|
||||||
|
|
||||||
|
(Note that the "git send-email" subcommand may not be in the main git package
|
||||||
|
and using it may require installation of a separate package, for example the
|
||||||
|
"git-email" package in Fedora.) For a single patch you can omit
|
||||||
|
"--cover-letter", but a series of two or more patches needs a cover letter. If
|
||||||
|
you get tired of typing "--to=libvir-list@redhat.com" designation you can set
|
||||||
|
it in git config:
|
||||||
|
|
||||||
|
git config sendemail.to libvir-list@redhat.com
|
||||||
|
|
||||||
|
Please follow this as close as you can, especially the rebase and git
|
||||||
|
send-email part, as it makes life easier for other developers to review your
|
||||||
|
patch set. One should avoid sending patches as attachments, but rather send
|
||||||
|
them in email body along with commit message. If a developer is sending
|
||||||
|
another version of the patch (e.g. to address review comments), he is advised
|
||||||
|
to note differences to previous versions after the "---" line in the patch so
|
||||||
|
that it helps reviewers but doesn't become part of git history. Moreover, such
|
||||||
|
patch needs to be prefixed correctly with "--subject-prefix=PATCHv2" appended
|
||||||
|
to "git send-email" (substitute "v2" with the correct version if needed
|
||||||
|
though).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(3) In your commit message, make the summary line reasonably short (60 characters
|
||||||
|
is typical), followed by a blank line, followed by any longer description of
|
||||||
|
why your patch makes sense. If the patch fixes a regression, and you know what
|
||||||
|
commit introduced the problem, mentioning that is useful. If the patch
|
||||||
|
resolves a bugzilla report, mentioning the URL of the bug number is useful;
|
||||||
|
but also summarize the issue rather than making all readers follow the link.
|
||||||
|
You can use 'git shortlog -30' to get an idea of typical summary lines.
|
||||||
|
Libvirt does not currently attach any meaning to Signed-off-by: lines, so it
|
||||||
|
is up to you if you want to include or omit them in the commit message.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(4) Split large changes into a series of smaller patches, self-contained if
|
||||||
|
possible, with an explanation of each patch and an explanation of how the
|
||||||
|
sequence of patches fits together. Moreover, please keep in mind that it's
|
||||||
|
required to be able to compile cleanly (*including* "make check" and "make
|
||||||
|
syntax-check") after each patch. A feature does not have to work until the end
|
||||||
|
of a series, but intermediate patches must compile and not cause test-suite
|
||||||
|
failures (this is to preserve the usefulness of "git bisect", among other
|
||||||
|
things).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(5) Make sure your patches apply against libvirt GIT. Developers only follow GIT
|
||||||
|
and don't care much about released versions.
|
||||||
|
|
||||||
|
(6) Run the automated tests on your code before submitting any changes. In
|
||||||
|
particular, configure with compile warnings set to -Werror. This is done
|
||||||
|
automatically for a git checkout; from a tarball, use:
|
||||||
|
|
||||||
|
./configure --enable-werror
|
||||||
|
|
||||||
|
and run the tests:
|
||||||
|
|
||||||
|
make check
|
||||||
|
make syntax-check
|
||||||
|
make -C tests valgrind
|
||||||
|
|
||||||
|
Valgrind <http://valgrind.org/> is a test that checks for memory management
|
||||||
|
issues, such as leaks or use of uninitialized variables.
|
||||||
|
|
||||||
|
Some tests are skipped by default in a development environment, based on the
|
||||||
|
time they take in comparison to the likelihood that those tests will turn up
|
||||||
|
problems during incremental builds. These tests default to being run when
|
||||||
|
building from a tarball or with the configure option --enable-expensive-tests;
|
||||||
|
you can also force a one-time toggle of these tests by setting
|
||||||
|
VIR_TEST_EXPENSIVE to 0 or 1 at make time, as in:
|
||||||
|
|
||||||
|
make check VIR_TEST_EXPENSIVE=1
|
||||||
|
|
||||||
|
If you encounter any failing tests, the VIR_TEST_DEBUG environment variable
|
||||||
|
may provide extra information to debug the failures. Larger values of
|
||||||
|
VIR_TEST_DEBUG may provide larger amounts of information:
|
||||||
|
|
||||||
|
VIR_TEST_DEBUG=1 make check (or)
|
||||||
|
VIR_TEST_DEBUG=2 make check
|
||||||
|
|
||||||
|
When debugging failures during development, it is possible to focus in on just
|
||||||
|
the failing subtests by using TESTS and VIR_TEST_RANGE:
|
||||||
|
|
||||||
|
make check VIR_TEST_DEBUG=1 VIR_TEST_RANGE=3-5 TESTS=qemuxml2argvtest
|
||||||
|
|
||||||
|
Also, individual tests can be run from inside the "tests/" directory, like:
|
||||||
|
|
||||||
|
./qemuxml2xmltest
|
||||||
|
|
||||||
|
There is also a "./run" script at the top level, to make it easier to run
|
||||||
|
programs that have not yet been installed, as well as to wrap invocations of
|
||||||
|
various tests under gdb or Valgrind.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(7) The Valgrind test should produce similar output to "make check". If the output
|
||||||
|
has traces within libvirt API's, then investigation is required in order to
|
||||||
|
determine the cause of the issue. Output such as the following indicates some
|
||||||
|
sort of leak:
|
||||||
|
|
||||||
|
==5414== 4 bytes in 1 blocks are definitely lost in loss record 3 of 89
|
||||||
|
==5414== at 0x4A0881C: malloc (vg_replace_malloc.c:270)
|
||||||
|
==5414== by 0x34DE0AAB85: xmlStrndup (in /usr/lib64/libxml2.so.2.7.8)
|
||||||
|
==5414== by 0x4CC97A6: virDomainVideoDefParseXML (domain_conf.c:7410)
|
||||||
|
==5414== by 0x4CD581D: virDomainDefParseXML (domain_conf.c:10188)
|
||||||
|
==5414== by 0x4CD8C73: virDomainDefParseNode (domain_conf.c:10640)
|
||||||
|
==5414== by 0x4CD8DDB: virDomainDefParse (domain_conf.c:10590)
|
||||||
|
==5414== by 0x41CB1D: testCompareXMLToArgvHelper (qemuxml2argvtest.c:100)
|
||||||
|
==5414== by 0x41E20F: virtTestRun (testutils.c:161)
|
||||||
|
==5414== by 0x41C7CB: mymain (qemuxml2argvtest.c:866)
|
||||||
|
==5414== by 0x41E84A: virtTestMain (testutils.c:723)
|
||||||
|
==5414== by 0x34D9021734: (below main) (in /usr/lib64/libc-2.15.so)
|
||||||
|
|
||||||
|
In this example, the "virDomainDefParseXML()" had an error path where the
|
||||||
|
"virDomainVideoDefPtr video" pointer was not properly disposed. By simply
|
||||||
|
adding a "virDomainVideoDefFree(video);" in the error path, the issue was
|
||||||
|
resolved.
|
||||||
|
|
||||||
|
Another common mistake is calling a printing function, such as "VIR_DEBUG()"
|
||||||
|
without initializing a variable to be printed. The following example involved
|
||||||
|
a call which could return an error, but not set variables passed by reference
|
||||||
|
to the call. The solution was to initialize the variables prior to the call.
|
||||||
|
|
||||||
|
==4749== Use of uninitialised value of size 8
|
||||||
|
==4749== at 0x34D904650B: _itoa_word (in /usr/lib64/libc-2.15.so)
|
||||||
|
==4749== by 0x34D9049118: vfprintf (in /usr/lib64/libc-2.15.so)
|
||||||
|
==4749== by 0x34D9108F60: __vasprintf_chk (in /usr/lib64/libc-2.15.so)
|
||||||
|
==4749== by 0x4CAEEF7: virVasprintf (stdio2.h:199)
|
||||||
|
==4749== by 0x4C8A55E: virLogVMessage (virlog.c:814)
|
||||||
|
==4749== by 0x4C8AA96: virLogMessage (virlog.c:751)
|
||||||
|
==4749== by 0x4DA0056: virNetTLSContextCheckCertKeyUsage (virnettlscontext.c:225)
|
||||||
|
==4749== by 0x4DA06DB: virNetTLSContextCheckCert (virnettlscontext.c:439)
|
||||||
|
==4749== by 0x4DA1620: virNetTLSContextNew (virnettlscontext.c:562)
|
||||||
|
==4749== by 0x4DA26FC: virNetTLSContextNewServer (virnettlscontext.c:927)
|
||||||
|
==4749== by 0x409C39: testTLSContextInit (virnettlscontexttest.c:467)
|
||||||
|
==4749== by 0x40AB8F: virtTestRun (testutils.c:161)
|
||||||
|
|
||||||
|
Valgrind will also find some false positives or code paths which cannot be
|
||||||
|
resolved by making changes to the libvirt code. For these paths, it is
|
||||||
|
possible to add a filter to avoid the errors. For example:
|
||||||
|
|
||||||
|
==4643== 7 bytes in 1 blocks are possibly lost in loss record 4 of 20
|
||||||
|
==4643== at 0x4A0881C: malloc (vg_replace_malloc.c:270)
|
||||||
|
==4643== by 0x34D90853F1: strdup (in /usr/lib64/libc-2.15.so)
|
||||||
|
==4643== by 0x34EEC2C08A: ??? (in /usr/lib64/libnl.so.1.1)
|
||||||
|
==4643== by 0x34EEC15B81: ??? (in /usr/lib64/libnl.so.1.1)
|
||||||
|
==4643== by 0x34D8C0EE15: call_init.part.0 (in /usr/lib64/ld-2.15.so)
|
||||||
|
==4643== by 0x34D8C0EECF: _dl_init (in /usr/lib64/ld-2.15.so)
|
||||||
|
==4643== by 0x34D8C01569: ??? (in /usr/lib64/ld-2.15.so)
|
||||||
|
|
||||||
|
|
||||||
|
In this instance, it is acceptable to modify the "tests/.valgrind.supp" file
|
||||||
|
in order to add a suppression filter. The filter should be unique enough to
|
||||||
|
not suppress real leaks, but it should be generic enough to cover multiple
|
||||||
|
code paths. The format of the entry can be found in the documentation found at
|
||||||
|
the Valgrind home page <http://valgrind.org/>. The following trace was added
|
||||||
|
to "tests/.valgrind.supp" in order to suppress the warning:
|
||||||
|
|
||||||
|
{
|
||||||
|
dlInitMemoryLeak1
|
||||||
|
Memcheck:Leak
|
||||||
|
fun:?alloc
|
||||||
|
...
|
||||||
|
fun:call_init.part.0
|
||||||
|
fun:_dl_init
|
||||||
|
...
|
||||||
|
obj:*/lib*/ld-2.*so*
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(8) Update tests and/or documentation, particularly if you are adding a new
|
||||||
|
feature or changing the output of a program.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
There is more on this subject, including lots of links to background reading
|
||||||
|
on the subject, on Richard Jones' guide to working with open source projects
|
||||||
|
<http://people.redhat.com/rjones/how-to-supply-code-to-open-source-projects/>.
|
||||||
|
|
||||||
|
|
||||||
|
Code indentation
|
||||||
|
================
|
||||||
|
Libvirt's C source code generally adheres to some basic code-formatting
|
||||||
|
conventions. The existing code base is not totally consistent on this front,
|
||||||
|
but we do prefer that contributed code be formatted similarly. In short, use
|
||||||
|
spaces-not-TABs for indentation, use 4 spaces for each indentation level, and
|
||||||
|
other than that, follow the K&R style.
|
||||||
|
|
||||||
|
If you use Emacs, the project includes a file .dir-locals.el that sets up the
|
||||||
|
preferred indentation. If you use vim, append the following to your ~/.vimrc
|
||||||
|
file:
|
||||||
|
|
||||||
|
set nocompatible
|
||||||
|
filetype on
|
||||||
|
set autoindent
|
||||||
|
set smartindent
|
||||||
|
set cindent
|
||||||
|
set tabstop=8
|
||||||
|
set shiftwidth=4
|
||||||
|
set expandtab
|
||||||
|
set cinoptions=(0,:0,l1,t0,L3
|
||||||
|
filetype plugin indent on
|
||||||
|
au FileType make setlocal noexpandtab
|
||||||
|
au BufRead,BufNewFile *.am setlocal noexpandtab
|
||||||
|
match ErrorMsg /\s\+$\| \+\ze\t/
|
||||||
|
|
||||||
|
Or if you don't want to mess your ~/.vimrc up, you can save the above into a
|
||||||
|
file called .lvimrc (not .vimrc) located at the root of libvirt source, then
|
||||||
|
install a vim script from
|
||||||
|
http://www.vim.org/scripts/script.php?script_id=1408, which will load the
|
||||||
|
.lvimrc only when you edit libvirt code.
|
||||||
|
|
||||||
|
|
||||||
|
Code formatting (especially for new code)
|
||||||
|
=========================================
|
||||||
|
With new code, we can be even more strict. Please apply the following function
|
||||||
|
(using GNU indent) to any new code. Note that this also gives you an idea of
|
||||||
|
the type of spacing we prefer around operators and keywords:
|
||||||
|
|
||||||
|
indent-libvirt()
|
||||||
|
{
|
||||||
|
indent -bad -bap -bbb -bli4 -br -ce -brs -cs -i4 -l75 -lc75 \
|
||||||
|
-sbi4 -psl -saf -sai -saw -sbi4 -ss -sc -cdw -cli4 -npcs -nbc \
|
||||||
|
--no-tabs "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
Note that sometimes you'll have to post-process that output further, by piping
|
||||||
|
it through "expand -i", since some leading TABs can get through. Usually
|
||||||
|
they're in macro definitions or strings, and should be converted anyhow.
|
||||||
|
|
||||||
|
Libvirt requires a C99 compiler for various reasons. However, most of the code
|
||||||
|
base prefers to stick to C89 syntax unless there is a compelling reason
|
||||||
|
otherwise. For example, it is preferable to use "/* */" comments rather than
|
||||||
|
"//". Also, when declaring local variables, the prevailing style has been to
|
||||||
|
declare them at the beginning of a scope, rather than immediately before use.
|
||||||
|
|
||||||
|
|
||||||
|
Bracket spacing
|
||||||
|
===============
|
||||||
|
The keywords "if", "for", "while", and "switch" must have a single space
|
||||||
|
following them before the opening bracket. E.g.
|
||||||
|
|
||||||
|
if(foo) // Bad
|
||||||
|
if (foo) // Good
|
||||||
|
|
||||||
|
Function implementations mustnothave any whitespace between the function name and the opening bracket. E.g.
|
||||||
|
|
||||||
|
int foo (int wizz) // Bad
|
||||||
|
int foo(int wizz) // Good
|
||||||
|
|
||||||
|
Function calls mustnothave any whitespace between the function name and the opening bracket. E.g.
|
||||||
|
|
||||||
|
bar = foo (wizz); // Bad
|
||||||
|
bar = foo(wizz); // Good
|
||||||
|
|
||||||
|
Function typedefs mustnothave any whitespace between the closing bracket of the function name and
|
||||||
|
opening bracket of the arg list. E.g.
|
||||||
|
|
||||||
|
typedef int (*foo) (int wizz); // Bad
|
||||||
|
typedef int (*foo)(int wizz); // Good
|
||||||
|
|
||||||
|
There must not be any whitespace immediately following any opening bracket, or
|
||||||
|
immediately prior to any closing bracket. E.g.
|
||||||
|
|
||||||
|
int foo( int wizz ); // Bad
|
||||||
|
int foo(int wizz); // Good
|
||||||
|
|
||||||
|
|
||||||
|
Commas
|
||||||
|
======
|
||||||
|
Commas should always be followed by a space or end of line, and never have
|
||||||
|
leading space; this is enforced during 'make syntax-check'.
|
||||||
|
|
||||||
|
call(a,b ,c);// Bad
|
||||||
|
call(a, b, c); // Good
|
||||||
|
|
||||||
|
When declaring an enum or using a struct initializer that occupies more than
|
||||||
|
one line, use a trailing comma. That way, future edits to extend the list only
|
||||||
|
have to add a line, rather than modify an existing line to add the
|
||||||
|
intermediate comma. Any sentinel enumerator value with a name ending in _LAST
|
||||||
|
is exempt, since you would extend such an enum before the _LAST element.
|
||||||
|
Another reason to favor trailing commas is that it requires less effort to
|
||||||
|
produce via code generators. Note that the syntax checker is unable to enforce
|
||||||
|
a style of trailing commas, so there are counterexamples in existing code
|
||||||
|
which do not use it; also, while C99 allows trailing commas, remember that
|
||||||
|
JSON and XDR do not.
|
||||||
|
|
||||||
|
enum {
|
||||||
|
VALUE_ONE,
|
||||||
|
VALUE_TWO // Bad
|
||||||
|
};
|
||||||
|
enum {
|
||||||
|
VALUE_THREE,
|
||||||
|
VALUE_FOUR, // Good
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Semicolons
|
||||||
|
==========
|
||||||
|
Semicolons should never have a space beforehand. Inside the condition of a
|
||||||
|
"for" loop, there should always be a space or line break after each semicolon,
|
||||||
|
except for the special case of an infinite loop (although more infinite loops
|
||||||
|
use "while"). While not enforced, loop counters generally use post-increment.
|
||||||
|
|
||||||
|
for (i = 0 ;i < limit ; ++i) { // Bad
|
||||||
|
for (i = 0; i < limit; i++) { // Good
|
||||||
|
for (;;) { // ok
|
||||||
|
while (1) { // Better
|
||||||
|
|
||||||
|
Empty loop bodies are better represented with curly braces and a comment,
|
||||||
|
although use of a semicolon is not currently rejected.
|
||||||
|
|
||||||
|
while ((rc = waitpid(pid, &st, 0) == -1) &&
|
||||||
|
errno == EINTR); // ok
|
||||||
|
while ((rc = waitpid(pid, &st, 0) == -1) &&
|
||||||
|
errno == EINTR) { // Better
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Curly braces
|
||||||
|
============
|
||||||
|
Omit the curly braces around an "if", "while", "for" etc. body only when that
|
||||||
|
body occupies a single line. In every other case we require the braces. This
|
||||||
|
ensures that it is trivially easy to identify a single-'statement' loop: each
|
||||||
|
has only one 'line' in its body.
|
||||||
|
|
||||||
|
Omitting braces with a single-line body is fine:
|
||||||
|
|
||||||
|
while (expr) // one-line body -> omitting curly braces is ok
|
||||||
|
single_line_stmt();
|
||||||
|
|
||||||
|
However, the moment your loop/if/else body extends on to a second line, for
|
||||||
|
whatever reason (even if it's just an added comment), then you should add
|
||||||
|
braces. Otherwise, it would be too easy to insert a statement just before that
|
||||||
|
comment (without adding braces), thinking it is already a multi-statement loop:
|
||||||
|
|
||||||
|
while (true) // BAD! multi-line body with no braces
|
||||||
|
/* comment... */
|
||||||
|
single_line_stmt();
|
||||||
|
|
||||||
|
Do this instead:
|
||||||
|
|
||||||
|
while (true) { // Always put braces around a multi-line body.
|
||||||
|
/* comment... */
|
||||||
|
single_line_stmt();
|
||||||
|
}
|
||||||
|
|
||||||
|
There is one exception: when the second body line is not at the same
|
||||||
|
indentation level as the first body line:
|
||||||
|
|
||||||
|
if (expr)
|
||||||
|
die("a diagnostic that would make this line"
|
||||||
|
" extend past the 80-column limit"));
|
||||||
|
|
||||||
|
It is safe to omit the braces in the code above, since the further-indented
|
||||||
|
second body line makes it obvious that this is still a single-statement body.
|
||||||
|
|
||||||
|
To reiterate, don't do this:
|
||||||
|
|
||||||
|
if (expr) // BAD: no braces around...
|
||||||
|
while (expr_2) { // ... a multi-line body
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
Do this, instead:
|
||||||
|
|
||||||
|
if (expr) {
|
||||||
|
while (expr_2) {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
However, there is one exception in the other direction, when even a one-line
|
||||||
|
block should have braces. That occurs when that one-line, brace-less block is
|
||||||
|
an "if" or "else" block, and the counterpart block *does* use braces. In that
|
||||||
|
case, put braces around both blocks. Also, if the "else" block is much shorter
|
||||||
|
than the "if" block, consider negating the "if"-condition and swapping the
|
||||||
|
bodies, putting the short block first and making the longer, multi-line block
|
||||||
|
be the "else" block.
|
||||||
|
|
||||||
|
if (expr) {
|
||||||
|
...
|
||||||
|
...
|
||||||
|
}
|
||||||
|
else
|
||||||
|
x = y; // BAD: braceless "else" with braced "then",
|
||||||
|
// and short block last
|
||||||
|
|
||||||
|
if (expr)
|
||||||
|
x = y; // BAD: braceless "if" with braced "else"
|
||||||
|
else {
|
||||||
|
...
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
Keeping braces consistent and putting the short block first is preferred,
|
||||||
|
especially when the multi-line body is more than a few lines long, because it
|
||||||
|
is easier to read and grasp the semantics of an if-then-else block when the
|
||||||
|
simpler block occurs first, rather than after the more involved block:
|
||||||
|
|
||||||
|
if (!expr) {
|
||||||
|
x = y; // putting the smaller block first is more readable
|
||||||
|
} else {
|
||||||
|
...
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
But if negating a complex condition is too ugly, then at least add braces:
|
||||||
|
|
||||||
|
if (complex expr not worth negating) {
|
||||||
|
...
|
||||||
|
...
|
||||||
|
} else {
|
||||||
|
x = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
Use hanging braces for compound statements: the opening brace of a compound
|
||||||
|
statement should be on the same line as the condition being tested. Only
|
||||||
|
top-level function bodies, nested scopes, and compound structure declarations
|
||||||
|
should ever have { on a line by itself.
|
||||||
|
|
||||||
|
void
|
||||||
|
foo(int a, int b)
|
||||||
|
{ // correct - function body
|
||||||
|
int 2d[][] = {
|
||||||
|
{ // correct - complex initialization
|
||||||
|
1, 2,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
if (a)
|
||||||
|
{ // BAD: compound brace on its own line
|
||||||
|
do_stuff();
|
||||||
|
}
|
||||||
|
{ // correct - nested scope
|
||||||
|
int tmp;
|
||||||
|
if (a < b) { // correct - hanging brace
|
||||||
|
tmp = b;
|
||||||
|
b = a;
|
||||||
|
a = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Preprocessor
|
||||||
|
============
|
||||||
|
Macros defined with an ALL_CAPS name should generally be assumed to be unsafe
|
||||||
|
with regards to arguments with side-effects (that is, MAX(a++, b--) might
|
||||||
|
increment a or decrement b too many or too few times). Exceptions to this rule
|
||||||
|
are explicitly documented for macros in viralloc.h and virstring.h.
|
||||||
|
|
||||||
|
For variadic macros, stick with C99 syntax:
|
||||||
|
|
||||||
|
#define vshPrint(_ctl, ...) fprintf(stdout, __VA_ARGS__)
|
||||||
|
|
||||||
|
Use parenthesis when checking if a macro is defined, and use indentation to
|
||||||
|
track nesting:
|
||||||
|
|
||||||
|
#if defined(HAVE_POSIX_FALLOCATE) && !defined(HAVE_FALLOCATE)
|
||||||
|
# define fallocate(a, ignored, b, c) posix_fallocate(a, b, c)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
C types
|
||||||
|
=======
|
||||||
|
Use the right type.
|
||||||
|
|
||||||
|
Scalars
|
||||||
|
-------
|
||||||
|
- If you're using "int" or "long", odds are good that there's a better type.
|
||||||
|
|
||||||
|
- If a variable is counting something, be sure to declare it with an unsigned
|
||||||
|
type.
|
||||||
|
|
||||||
|
- If it's memory-size-related, use "size_t" (use "ssize_t" only if required).
|
||||||
|
|
||||||
|
- If it's file-size related, use uintmax_t, or maybe "off_t".
|
||||||
|
|
||||||
|
- If it's file-offset related (i.e., signed), use "off_t".
|
||||||
|
|
||||||
|
- If it's just counting small numbers use "unsigned int"; (on all but oddball
|
||||||
|
embedded systems, you can assume that that type is at least four bytes wide).
|
||||||
|
|
||||||
|
- If a variable has boolean semantics, give it the "bool" type and use the
|
||||||
|
corresponding "true" and "false" macros. It's ok to include <stdbool.h>, since
|
||||||
|
libvirt's use of gnulib ensures that it exists and is usable.
|
||||||
|
|
||||||
|
- In the unusual event that you require a specific width, use a standard type
|
||||||
|
like "int32_t", "uint32_t", "uint64_t", etc.
|
||||||
|
|
||||||
|
- While using "bool" is good for readability, it comes with minor caveats:
|
||||||
|
|
||||||
|
-- Don't use "bool" in places where the type size must be constant across all
|
||||||
|
systems, like public interfaces and on-the-wire protocols. Note that it would
|
||||||
|
be possible (albeit wasteful) to use "bool" in libvirt's logical wire
|
||||||
|
protocol, since XDR maps that to its lower-level "bool_t" type, which *is*
|
||||||
|
fixed-size.
|
||||||
|
|
||||||
|
-- Don't compare a bool variable against the literal, "true", since a value with
|
||||||
|
a logical non-false value need not be "1". I.e., don't write "if (seen ==
|
||||||
|
true) ...". Rather, write "if (seen)...".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Of course, take all of the above with a grain of salt. If you're about to use
|
||||||
|
some system interface that requires a type like "size_t", "pid_t" or "off_t",
|
||||||
|
use matching types for any corresponding variables.
|
||||||
|
|
||||||
|
Also, if you try to use e.g., "unsigned int" as a type, and that conflicts
|
||||||
|
with the signedness of a related variable, sometimes it's best just to use the
|
||||||
|
*wrong* type, if 'pulling the thread' and fixing all related variables would
|
||||||
|
be too invasive.
|
||||||
|
|
||||||
|
Finally, while using descriptive types is important, be careful not to go
|
||||||
|
overboard. If whatever you're doing causes warnings, or requires casts, then
|
||||||
|
reconsider or ask for help.
|
||||||
|
|
||||||
|
Pointers
|
||||||
|
--------
|
||||||
|
Ensure that all of your pointers are 'const-correct'. Unless a pointer is used
|
||||||
|
to modify the pointed-to storage, give it the "const" attribute. That way, the
|
||||||
|
reader knows up-front that this is a read-only pointer. Perhaps more
|
||||||
|
importantly, if we're diligent about this, when you see a non-const pointer,
|
||||||
|
you're guaranteed that it is used to modify the storage it points to, or it is
|
||||||
|
aliased to another pointer that is.
|
||||||
|
|
||||||
|
|
||||||
|
Low level memory management
|
||||||
|
===========================
|
||||||
|
Use of the malloc/free/realloc/calloc APIs is deprecated in the libvirt
|
||||||
|
codebase, because they encourage a number of serious coding bugs and do not
|
||||||
|
enable compile time verification of checks for NULL. Instead of these
|
||||||
|
routines, use the macros from viralloc.h.
|
||||||
|
|
||||||
|
- To allocate a single object:
|
||||||
|
|
||||||
|
virDomainPtr domain;
|
||||||
|
|
||||||
|
if (VIR_ALLOC(domain) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To allocate an array of objects:
|
||||||
|
|
||||||
|
virDomainPtr domains;
|
||||||
|
size_t ndomains = 10;
|
||||||
|
|
||||||
|
if (VIR_ALLOC_N(domains, ndomains) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To allocate an array of object pointers:
|
||||||
|
|
||||||
|
virDomainPtr *domains;
|
||||||
|
size_t ndomains = 10;
|
||||||
|
|
||||||
|
if (VIR_ALLOC_N(domains, ndomains) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To re-allocate the array of domains to be 1 element longer (however, note that
|
||||||
|
repeatedly expanding an array by 1 scales quadratically, so this is
|
||||||
|
recommended only for smaller arrays):
|
||||||
|
|
||||||
|
virDomainPtr domains;
|
||||||
|
size_t ndomains = 0;
|
||||||
|
|
||||||
|
if (VIR_EXPAND_N(domains, ndomains, 1) < 0)
|
||||||
|
return NULL;
|
||||||
|
domains[ndomains - 1] = domain;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To ensure an array has room to hold at least one more element (this approach
|
||||||
|
scales better, but requires tracking allocation separately from usage)
|
||||||
|
|
||||||
|
virDomainPtr domains;
|
||||||
|
size_t ndomains = 0;
|
||||||
|
size_t ndomains_max = 0;
|
||||||
|
|
||||||
|
if (VIR_RESIZE_N(domains, ndomains_max, ndomains, 1) < 0)
|
||||||
|
return NULL;
|
||||||
|
domains[ndomains++] = domain;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To trim an array of domains from its allocated size down to the actual used
|
||||||
|
size:
|
||||||
|
|
||||||
|
virDomainPtr domains;
|
||||||
|
size_t ndomains = x;
|
||||||
|
size_t ndomains_max = y;
|
||||||
|
|
||||||
|
VIR_SHRINK_N(domains, ndomains_max, ndomains_max - ndomains);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To free an array of domains:
|
||||||
|
|
||||||
|
virDomainPtr domains;
|
||||||
|
size_t ndomains = x;
|
||||||
|
size_t ndomains_max = y;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < ndomains; i++)
|
||||||
|
VIR_FREE(domains[i]);
|
||||||
|
VIR_FREE(domains);
|
||||||
|
ndomains_max = ndomains = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
File handling
|
||||||
|
=============
|
||||||
|
Usage of the "fdopen()", "close()", "fclose()" APIs is deprecated in libvirt
|
||||||
|
code base to help avoiding double-closing of files or file descriptors, which
|
||||||
|
is particularly dangerous in a multi-threaded application. Instead of these
|
||||||
|
APIs, use the macros from virfile.h
|
||||||
|
|
||||||
|
- Open a file from a file descriptor:
|
||||||
|
|
||||||
|
if ((file = VIR_FDOPEN(fd, "r")) == NULL) {
|
||||||
|
virReportSystemError(errno, "%s",
|
||||||
|
_("failed to open file from file descriptor"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
/* fd is now invalid; only access the file using file variable */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Close a file descriptor:
|
||||||
|
|
||||||
|
if (VIR_CLOSE(fd) < 0) {
|
||||||
|
virReportSystemError(errno, "%s", _("failed to close file"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Close a file:
|
||||||
|
|
||||||
|
if (VIR_FCLOSE(file) < 0) {
|
||||||
|
virReportSystemError(errno, "%s", _("failed to close file"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- Close a file or file descriptor in an error path, without losing the previous
|
||||||
|
"errno" value:
|
||||||
|
|
||||||
|
VIR_FORCE_CLOSE(fd);
|
||||||
|
VIR_FORCE_FCLOSE(file);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
String comparisons
|
||||||
|
==================
|
||||||
|
Do not use the strcmp, strncmp, etc functions directly. Instead use one of the
|
||||||
|
following semantically named macros
|
||||||
|
|
||||||
|
- For strict equality:
|
||||||
|
|
||||||
|
STREQ(a,b)
|
||||||
|
STRNEQ(a,b)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- For case insensitive equality:
|
||||||
|
|
||||||
|
STRCASEEQ(a,b)
|
||||||
|
STRCASENEQ(a,b)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- For strict equality of a substring:
|
||||||
|
|
||||||
|
STREQLEN(a,b,n)
|
||||||
|
STRNEQLEN(a,b,n)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- For case insensitive equality of a substring:
|
||||||
|
|
||||||
|
STRCASEEQLEN(a,b,n)
|
||||||
|
STRCASENEQLEN(a,b,n)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- For strict equality of a prefix:
|
||||||
|
|
||||||
|
STRPREFIX(a,b)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- To avoid having to check if a or b are NULL:
|
||||||
|
|
||||||
|
STREQ_NULLABLE(a, b)
|
||||||
|
STRNEQ_NULLABLE(a, b)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
String copying
|
||||||
|
==============
|
||||||
|
Do not use the strncpy function. According to the man page, it does *not*
|
||||||
|
guarantee a NULL-terminated buffer, which makes it extremely dangerous to use.
|
||||||
|
Instead, use one of the functionally equivalent functions:
|
||||||
|
|
||||||
|
virStrncpy(char *dest, const char *src, size_t n, size_t destbytes)
|
||||||
|
|
||||||
|
The first three arguments have the same meaning as for strncpy; namely the
|
||||||
|
destination, source, and number of bytes to copy, respectively. The last
|
||||||
|
argument is the number of bytes available in the destination string; if a copy
|
||||||
|
of the source string (including a \0) will not fit into the destination, no
|
||||||
|
bytes are copied and the routine returns NULL. Otherwise, n bytes from the
|
||||||
|
source are copied into the destination and a trailing \0 is appended.
|
||||||
|
|
||||||
|
virStrcpy(char *dest, const char *src, size_t destbytes)
|
||||||
|
|
||||||
|
Use this variant if you know you want to copy the entire src string into dest.
|
||||||
|
Note that this is a macro, so arguments could be evaluated more than once.
|
||||||
|
This is equivalent to virStrncpy(dest, src, strlen(src), destbytes)
|
||||||
|
|
||||||
|
virStrcpyStatic(char *dest, const char *src)
|
||||||
|
|
||||||
|
Use this variant if you know you want to copy the entire src string into dest
|
||||||
|
*and* you know that your destination string is a static string (i.e. that
|
||||||
|
sizeof(dest) returns something meaningful). Note that this is a macro, so
|
||||||
|
arguments could be evaluated more than once. This is equivalent to
|
||||||
|
virStrncpy(dest, src, strlen(src), sizeof(dest)).
|
||||||
|
|
||||||
|
VIR_STRDUP(char *dst, const char *src);
|
||||||
|
VIR_STRNDUP(char *dst, const char *src, size_t n);
|
||||||
|
|
||||||
|
You should avoid using strdup or strndup directly as they do not report
|
||||||
|
out-of-memory error, and do not allow a NULL source. Use VIR_STRDUP or
|
||||||
|
VIR_STRNDUP macros instead, which return 0 for NULL source, 1 for successful
|
||||||
|
copy, and -1 for allocation failure with the error already reported. In very
|
||||||
|
specific cases, when you don't want to report the out-of-memory error, you can
|
||||||
|
use VIR_STRDUP_QUIET or VIR_STRNDUP_QUIET, but such usage is very rare and
|
||||||
|
usually considered a flaw.
|
||||||
|
|
||||||
|
|
||||||
|
Variable length string buffer
|
||||||
|
=============================
|
||||||
|
If there is a need for complex string concatenations, avoid using the usual
|
||||||
|
sequence of malloc/strcpy/strcat/snprintf functions and make use of the
|
||||||
|
virBuffer API described in virbuffer.h
|
||||||
|
|
||||||
|
Typical usage is as follows:
|
||||||
|
|
||||||
|
char *
|
||||||
|
somefunction(...)
|
||||||
|
{
|
||||||
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
virBufferAddLit(&buf, "<domain>\n");
|
||||||
|
virBufferAsprintf(&buf, " <memory>%d</memory>\n", memory);
|
||||||
|
...
|
||||||
|
virBufferAddLit(&buf, "</domain>\n");
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
if (virBufferCheckError(&buf) < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return virBufferContentAndReset(&buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Include files
|
||||||
|
=============
|
||||||
|
There are now quite a large number of include files, both libvirt internal and
|
||||||
|
external, and system includes. To manage all this complexity it's best to
|
||||||
|
stick to the following general plan for all *.c source files:
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright notice
|
||||||
|
* ....
|
||||||
|
* ....
|
||||||
|
* ....
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <config.h> Must come first in every file.
|
||||||
|
|
||||||
|
#include <stdio.h> Any system includes you need.
|
||||||
|
#include <string.h>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
#if WITH_NUMACTL Some system includes aren't supported
|
||||||
|
# include <numa.h> everywhere so need these #if guards.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "internal.h" Include this first, after system includes.
|
||||||
|
|
||||||
|
#include "util.h" Any libvirt internal header files.
|
||||||
|
#include "buf.h"
|
||||||
|
|
||||||
|
static int
|
||||||
|
myInternalFunc() The actual code.
|
||||||
|
{
|
||||||
|
...
|
||||||
|
|
||||||
|
Of particular note: *Do not* include libvirt/libvirt.h, libvirt/virterror.h,
|
||||||
|
libvirt/libvirt-qemu.h, or libvirt/libvirt-lxc.h. They are included by
|
||||||
|
"internal.h" already and there are some special reasons why you cannot include
|
||||||
|
these files explicitly. One of the special cases, "libvirt/libvirt.h" is
|
||||||
|
included prior to "internal.h" in "remote_protocol.x", to avoid exposing
|
||||||
|
*_LAST enum elements.
|
||||||
|
|
||||||
|
|
||||||
|
Printf-style functions
|
||||||
|
======================
|
||||||
|
Whenever you add a new printf-style function, i.e., one with a format string
|
||||||
|
argument and following "..." in its prototype, be sure to use gcc's printf
|
||||||
|
attribute directive in the prototype. For example, here's the one for
|
||||||
|
virAsprintf, in util.h:
|
||||||
|
|
||||||
|
int virAsprintf(char **strp, const char *fmt, ...)
|
||||||
|
ATTRIBUTE_FORMAT(printf, 2, 3);
|
||||||
|
|
||||||
|
This makes it so gcc's -Wformat and -Wformat-security options can do their
|
||||||
|
jobs and cross-check format strings with the number and types of arguments.
|
||||||
|
|
||||||
|
When printing to a string, consider using virBuffer for incremental
|
||||||
|
allocations, virAsprintf for a one-shot allocation, and snprintf for
|
||||||
|
fixed-width buffers. Do not use sprintf, even if you can prove the buffer
|
||||||
|
won't overflow, since gnulib does not provide the same portability guarantees
|
||||||
|
for sprintf as it does for snprintf.
|
||||||
|
|
||||||
|
|
||||||
|
Use of goto
|
||||||
|
===========
|
||||||
|
The use of goto is not forbidden, and goto is widely used throughout libvirt.
|
||||||
|
While the uncontrolled use of goto will quickly lead to unmaintainable code,
|
||||||
|
there is a place for it in well structured code where its use increases
|
||||||
|
readability and maintainability. In general, if goto is used for error
|
||||||
|
recovery, it's likely to be ok, otherwise, be cautious or avoid it all
|
||||||
|
together.
|
||||||
|
|
||||||
|
The typical use of goto is to jump to cleanup code in the case of a long list
|
||||||
|
of actions, any of which may fail and cause the entire operation to fail. In
|
||||||
|
this case, a function will have a single label at the end of the function.
|
||||||
|
It's almost always ok to use this style. In particular, if the cleanup code
|
||||||
|
only involves free'ing memory, then having multiple labels is overkill.
|
||||||
|
VIR_FREE() and every function named XXXFree() in libvirt is required to handle
|
||||||
|
NULL as its arg. Thus you can safely call free on all the variables even if
|
||||||
|
they were not yet allocated (yes they have to have been initialized to NULL).
|
||||||
|
This is much simpler and clearer than having multiple labels.
|
||||||
|
|
||||||
|
There are a couple of signs that a particular use of goto is not ok:
|
||||||
|
|
||||||
|
- You're using multiple labels. If you find yourself using multiple labels,
|
||||||
|
you're strongly encouraged to rework your code to eliminate all but one of
|
||||||
|
them.
|
||||||
|
|
||||||
|
- The goto jumps back up to a point above the current line of code being
|
||||||
|
executed. Please use some combination of looping constructs to re-execute code
|
||||||
|
instead; it's almost certainly going to be more understandable by others. One
|
||||||
|
well-known exception to this rule is restarting an i/o operation following
|
||||||
|
EINTR.
|
||||||
|
|
||||||
|
- The goto jumps down to an arbitrary place in the middle of a function followed
|
||||||
|
by further potentially failing calls. You should almost certainly be using a
|
||||||
|
conditional and a block instead of a goto. Perhaps some of your function's
|
||||||
|
logic would be better pulled out into a helper function.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Although libvirt does not encourage the Linux kernel wind/unwind style of
|
||||||
|
multiple labels, there's a good general discussion of the issue archived at
|
||||||
|
KernelTrap <http://kerneltrap.org/node/553/2131>
|
||||||
|
|
||||||
|
When using goto, please use one of these standard labels if it makes sense:
|
||||||
|
|
||||||
|
error: A path only taken upon return with an error code
|
||||||
|
cleanup: A path taken upon return with success code + optional error
|
||||||
|
no_memory: A path only taken upon return with an OOM error code
|
||||||
|
retry: If needing to jump upwards (e.g., retry on EINTR)
|
||||||
|
|
||||||
|
Top-level labels should be indented by one space (putting them on the
|
||||||
|
beginning of the line confuses function context detection in git):
|
||||||
|
|
||||||
|
int foo()
|
||||||
|
{
|
||||||
|
/* ... do stuff ... */
|
||||||
|
cleanup:
|
||||||
|
/* ... do other stuff ... */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Libvirt committer guidelines
|
||||||
|
============================
|
||||||
|
The AUTHORS files indicates the list of people with commit access right who
|
||||||
|
can actually merge the patches.
|
||||||
|
|
||||||
|
The general rule for committing a patch is to make sure it has been reviewed
|
||||||
|
properly in the mailing-list first, usually if a couple of people gave an ACK
|
||||||
|
or +1 to a patch and nobody raised an objection on the list it should be good
|
||||||
|
to go. If the patch touches a part of the code where you're not the main
|
||||||
|
maintainer, or where you do not have a very clear idea of how things work,
|
||||||
|
it's better to wait for a more authoritative feedback though. Before
|
||||||
|
committing, please also rebuild locally, run 'make check syntax-check', and
|
||||||
|
make sure you don't raise errors. Try to look for warnings too; for example,
|
||||||
|
configure with
|
||||||
|
|
||||||
|
--enable-compile-warnings=error
|
||||||
|
|
||||||
|
which adds -Werror to compile flags, so no warnings get missed
|
||||||
|
|
||||||
|
An exception to 'review and approval on the list first' is fixing failures to
|
||||||
|
build:
|
||||||
|
|
||||||
|
- if a recently committed patch breaks compilation on a platform or for a given
|
||||||
|
driver, then it's fine to commit a minimal fix directly without getting the
|
||||||
|
review feedback first
|
||||||
|
|
||||||
|
- if make check or make syntax-check breaks, if there is an obvious fix, it's
|
||||||
|
fine to commit immediately. The patch should still be sent to the list (or
|
||||||
|
tell what the fix was if trivial), and 'make check syntax-check' should pass
|
||||||
|
too, before committing anything
|
||||||
|
|
||||||
|
- fixes for documentation and code comments can be managed in the same way, but
|
||||||
|
still make sure they get reviewed if non-trivial.
|
118
Makefile.am
Normal file
118
Makefile.am
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
## 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 src daemon tools docs gnulib/tests \
|
||||||
|
tests po examples/object-events examples/hellolibvirt \
|
||||||
|
examples/dominfo examples/domsuspend examples/apparmor \
|
||||||
|
examples/xml/nwfilter examples/openauth examples/systemtap \
|
||||||
|
tools/wireshark examples/dommigrate \
|
||||||
|
examples/lxcconvert examples/domtop
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
|
XML_EXAMPLES = \
|
||||||
|
$(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/examples/xml/, \
|
||||||
|
test/*.xml storage/*.xml)))
|
||||||
|
|
||||||
|
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 \
|
||||||
|
autobuild.sh \
|
||||||
|
Makefile.nonreentrant \
|
||||||
|
autogen.sh \
|
||||||
|
cfg.mk \
|
||||||
|
run.in \
|
||||||
|
AUTHORS.in \
|
||||||
|
$(XML_EXAMPLES)
|
||||||
|
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = libvirt.pc libvirt-qemu.pc libvirt-lxc.pc
|
||||||
|
|
||||||
|
NEWS: $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html.in
|
||||||
|
$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
|
||||||
|
$(XSLTPROC) --nonet $(top_srcdir)/docs/news.xsl \
|
||||||
|
$(top_srcdir)/docs/news.html.in \
|
||||||
|
| perl -0777 -pe 's/\n\n+$$/\n/' \
|
||||||
|
| perl -pe 's/[ \t]+$$//' \
|
||||||
|
> $@-t && mv $@-t $@ ; fi
|
||||||
|
|
||||||
|
$(top_srcdir)/HACKING: $(top_srcdir)/docs/hacking1.xsl \
|
||||||
|
$(top_srcdir)/docs/hacking2.xsl \
|
||||||
|
$(top_srcdir)/docs/wrapstring.xsl \
|
||||||
|
$(top_srcdir)/docs/hacking.html.in
|
||||||
|
$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
|
||||||
|
$(XSLTPROC) --nonet $(top_srcdir)/docs/hacking1.xsl \
|
||||||
|
$(top_srcdir)/docs/hacking.html.in | \
|
||||||
|
$(XSLTPROC) --nonet $(top_srcdir)/docs/hacking2.xsl - \
|
||||||
|
| perl -0777 -pe 's/\n\n+$$/\n/' \
|
||||||
|
> $@-t && mv $@-t $@ ; fi;
|
||||||
|
|
||||||
|
rpm: clean
|
||||||
|
@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
|
||||||
|
|
||||||
|
check-local: all tests
|
||||||
|
|
||||||
|
cov: clean-cov
|
||||||
|
mkdir $(top_builddir)/coverage
|
||||||
|
$(LCOV) -c -o $(top_builddir)/coverage/libvirt.info.tmp \
|
||||||
|
-d $(top_builddir)/src -d $(top_builddir)/daemon \
|
||||||
|
-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
|
||||||
|
|
||||||
|
# disable this check
|
||||||
|
distuninstallcheck:
|
||||||
|
|
||||||
|
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 \
|
||||||
|
out="`cd $(srcdir) && git log --pretty=format:'%aN <%aE>' | sort -u`" && \
|
||||||
|
perl -p -e "s/#authorslist#// and print '$$out'" \
|
||||||
|
< $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \
|
||||||
|
mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \
|
||||||
|
fi
|
@@ -15,9 +15,9 @@
|
|||||||
## <http://www.gnu.org/licenses/>.
|
## <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#
|
#
|
||||||
# Generated by running the following on Fedora 26:
|
# Generated by running the following on Fedora 9:
|
||||||
#
|
#
|
||||||
# nm -D --defined-only /lib64/libc.so.6 \
|
# nm -D --defined-only /lib/libc.so.6 \
|
||||||
# | grep '_r$' \
|
# | grep '_r$' \
|
||||||
# | awk '{print $3}' \
|
# | awk '{print $3}' \
|
||||||
# | grep -v __ \
|
# | grep -v __ \
|
||||||
@@ -43,7 +43,6 @@ NON_REENTRANT += ether_ntoa
|
|||||||
NON_REENTRANT += fcvt
|
NON_REENTRANT += fcvt
|
||||||
NON_REENTRANT += fgetgrent
|
NON_REENTRANT += fgetgrent
|
||||||
NON_REENTRANT += fgetpwent
|
NON_REENTRANT += fgetpwent
|
||||||
NON_REENTRANT += fgetsgent
|
|
||||||
NON_REENTRANT += fgetspent
|
NON_REENTRANT += fgetspent
|
||||||
NON_REENTRANT += getaliasbyname
|
NON_REENTRANT += getaliasbyname
|
||||||
NON_REENTRANT += getaliasent
|
NON_REENTRANT += getaliasent
|
||||||
@@ -73,8 +72,6 @@ NON_REENTRANT += getrpcent
|
|||||||
NON_REENTRANT += getservbyname
|
NON_REENTRANT += getservbyname
|
||||||
NON_REENTRANT += getservbyport
|
NON_REENTRANT += getservbyport
|
||||||
NON_REENTRANT += getservent
|
NON_REENTRANT += getservent
|
||||||
NON_REENTRANT += getsgent
|
|
||||||
NON_REENTRANT += getsgnam
|
|
||||||
NON_REENTRANT += getspent
|
NON_REENTRANT += getspent
|
||||||
NON_REENTRANT += getspnam
|
NON_REENTRANT += getspnam
|
||||||
NON_REENTRANT += getutent
|
NON_REENTRANT += getutent
|
||||||
@@ -98,7 +95,6 @@ NON_REENTRANT += random
|
|||||||
NON_REENTRANT += rand
|
NON_REENTRANT += rand
|
||||||
NON_REENTRANT += seed48
|
NON_REENTRANT += seed48
|
||||||
NON_REENTRANT += setstate
|
NON_REENTRANT += setstate
|
||||||
NON_REENTRANT += sgetsgent
|
|
||||||
NON_REENTRANT += sgetspent
|
NON_REENTRANT += sgetspent
|
||||||
NON_REENTRANT += srand48
|
NON_REENTRANT += srand48
|
||||||
NON_REENTRANT += srandom
|
NON_REENTRANT += srandom
|
||||||
@@ -117,11 +113,3 @@ NON_REENTRANT += inet_nsap_ntoa
|
|||||||
NON_REENTRANT += inet_ntoa
|
NON_REENTRANT += inet_ntoa
|
||||||
NON_REENTRANT += inet_ntop
|
NON_REENTRANT += inet_ntop
|
||||||
NON_REENTRANT += inet_pton
|
NON_REENTRANT += inet_pton
|
||||||
|
|
||||||
# Separate two nothings by space to get one space in a variable
|
|
||||||
space =
|
|
||||||
space +=
|
|
||||||
# The space needs to be in a variable otherwise it would be ignored.
|
|
||||||
# And there must be no spaces around the commas because they would
|
|
||||||
# not be ignored, logically.
|
|
||||||
NON_REENTRANT_RE=$(subst $(space),|,$(NON_REENTRANT))
|
|
13
README
Normal file
13
README
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
LibVirt : simple API for virtualization
|
||||||
|
|
||||||
|
Libvirt is a C toolkit to interact with the virtualization capabilities
|
||||||
|
of recent versions of Linux (and other OSes). It is free software
|
||||||
|
available under the GNU Lesser General Public License. Virtualization of
|
||||||
|
the Linux Operating System means the ability to run multiple instances of
|
||||||
|
Operating Systems concurrently on a single hardware system where the basic
|
||||||
|
resources are driven by a Linux instance. The library aim at providing
|
||||||
|
long term stable C API initially for the Xen paravirtualization but
|
||||||
|
should be able to integrate other virtualization mechanisms if needed.
|
||||||
|
|
||||||
|
Daniel Veillard <veillard@redhat.com>
|
57
README-hacking
Normal file
57
README-hacking
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
-*- 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 HACKING for more detailed libvirt 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 git://libvirt.org/libvirt
|
||||||
|
$ 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:
|
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
|
|
22
TODO
Normal file
22
TODO
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
libvirt TODO list
|
||||||
|
=================
|
||||||
|
|
||||||
|
The TODO list changes frequently, so is maintained online
|
||||||
|
in the libvirt bugzilla
|
||||||
|
|
||||||
|
http://bugzilla.redhat.com/
|
||||||
|
|
||||||
|
Search against
|
||||||
|
|
||||||
|
Product: Virtualization Tools
|
||||||
|
Component: libvirt
|
||||||
|
Subject: RFE
|
||||||
|
|
||||||
|
Or browse dependent bugs under
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=libvirtTodo
|
||||||
|
|
||||||
|
Summarized reports automatically generated from bugzilla
|
||||||
|
and provided online at
|
||||||
|
|
||||||
|
http://libvirt.org/todo.html
|
122
autobuild.sh
Executable file
122
autobuild.sh
Executable file
@@ -0,0 +1,122 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -v
|
||||||
|
|
||||||
|
# Make things clean.
|
||||||
|
|
||||||
|
test -n "$1" && RESULTS=$1 || RESULTS=results.log
|
||||||
|
: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder}
|
||||||
|
|
||||||
|
# If run under the autobuilder, we must use --nodeps with rpmbuild;
|
||||||
|
# but this can lead to odd error diagnosis for normal development.
|
||||||
|
nodeps=
|
||||||
|
if test "${AUTOBUILD_COUNTER+set}"; then
|
||||||
|
nodeps=--nodeps
|
||||||
|
fi
|
||||||
|
|
||||||
|
test -f Makefile && make -k distclean || :
|
||||||
|
rm -rf coverage
|
||||||
|
|
||||||
|
rm -rf build
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
# Run with options not normally exercised by the rpm build, for
|
||||||
|
# more complete code coverage.
|
||||||
|
../autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
|
||||||
|
--enable-expensive-tests \
|
||||||
|
--enable-test-coverage \
|
||||||
|
--disable-nls \
|
||||||
|
--enable-werror \
|
||||||
|
--enable-static
|
||||||
|
|
||||||
|
# If the MAKEFLAGS envvar does not yet include a -j option,
|
||||||
|
# add -jN where N depends on the number of processors.
|
||||||
|
case $MAKEFLAGS in
|
||||||
|
*-j*) ;;
|
||||||
|
*) n=$(getconf _NPROCESSORS_ONLN 2> /dev/null)
|
||||||
|
test "$n" -gt 0 || n=1
|
||||||
|
n=$(expr $n + 1)
|
||||||
|
MAKEFLAGS="$MAKEFLAGS -j$n"
|
||||||
|
export MAKEFLAGS
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
# set -o pipefail is a bashism; this use of exec is the POSIX alternative
|
||||||
|
exec 3>&1
|
||||||
|
st=$(
|
||||||
|
exec 4>&1 >&3
|
||||||
|
{ make check syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
|
||||||
|
)
|
||||||
|
exec 3>&-
|
||||||
|
test "$st" = 0
|
||||||
|
test -x /usr/bin/lcov && make cov
|
||||||
|
|
||||||
|
rm -f *.tar.gz
|
||||||
|
make dist
|
||||||
|
|
||||||
|
if test -n "$AUTOBUILD_COUNTER" ; then
|
||||||
|
EXTRA_RELEASE=".auto$AUTOBUILD_COUNTER"
|
||||||
|
else
|
||||||
|
NOW=`date +"%s"`
|
||||||
|
EXTRA_RELEASE=".$USER$NOW"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f /usr/bin/rpmbuild ; then
|
||||||
|
rpmbuild $nodeps \
|
||||||
|
--define "extra_release $EXTRA_RELEASE" \
|
||||||
|
--define "_sourcedir `pwd`" \
|
||||||
|
-ba --clean libvirt.spec
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test mingw32 cross-compile
|
||||||
|
if test -x /usr/bin/i686-w64-mingw32-gcc ; then
|
||||||
|
make distclean
|
||||||
|
|
||||||
|
PKG_CONFIG_LIBDIR="/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig" \
|
||||||
|
PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
|
||||||
|
CC="i686-w64-mingw32-gcc" \
|
||||||
|
../configure \
|
||||||
|
--build=$(uname -m)-w64-linux \
|
||||||
|
--host=i686-w64-mingw32 \
|
||||||
|
--prefix="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
|
||||||
|
--enable-expensive-tests \
|
||||||
|
--enable-werror
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test mingw64 cross-compile
|
||||||
|
if test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
|
||||||
|
make distclean
|
||||||
|
|
||||||
|
PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig" \
|
||||||
|
PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
|
||||||
|
CC="x86_64-w64-mingw32-gcc" \
|
||||||
|
../configure \
|
||||||
|
--build=$(uname -m)-w64-linux \
|
||||||
|
--host=x86_64-w64-mingw32 \
|
||||||
|
--prefix="$AUTOBUILD_INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw" \
|
||||||
|
--enable-expensive-tests \
|
||||||
|
--enable-werror
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if test -x /usr/bin/i686-w64-mingw32-gcc && test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
|
||||||
|
if test -f /usr/bin/rpmbuild ; then
|
||||||
|
rpmbuild $nodeps \
|
||||||
|
--define "extra_release $EXTRA_RELEASE" \
|
||||||
|
--define "_sourcedir `pwd`" \
|
||||||
|
-ba --clean mingw-libvirt.spec
|
||||||
|
fi
|
||||||
|
fi
|
113
autogen.sh
Executable file
113
autogen.sh
Executable file
@@ -0,0 +1,113 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Run this to generate all the initial makefiles, etc.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
srcdir=`dirname "$0"`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
THEDIR=`pwd`
|
||||||
|
cd "$srcdir"
|
||||||
|
|
||||||
|
test -f src/libvirt.c || {
|
||||||
|
echo "You must run this script in the top-level libvirt directory"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
EXTRA_ARGS=
|
||||||
|
no_git=
|
||||||
|
if test "x$1" = "x--no-git"; then
|
||||||
|
no_git=" $1"
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
if test -z "$NOCONFIGURE" ; then
|
||||||
|
if test "x$1" = "x--system"; then
|
||||||
|
shift
|
||||||
|
prefix=/usr
|
||||||
|
libdir=$prefix/lib
|
||||||
|
sysconfdir=/etc
|
||||||
|
localstatedir=/var
|
||||||
|
if [ -d /usr/lib64 ]; then
|
||||||
|
libdir=$prefix/lib64
|
||||||
|
fi
|
||||||
|
EXTRA_ARGS="--prefix=$prefix --sysconfdir=$sysconfdir --localstatedir=$localstatedir --libdir=$libdir"
|
||||||
|
echo "Running ./configure with $EXTRA_ARGS $@"
|
||||||
|
else
|
||||||
|
if test -z "$*" && test ! -f "$THEDIR/config.status"; 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."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
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.
|
||||||
|
bootstrap_hash()
|
||||||
|
{
|
||||||
|
if test "$no_git"; then
|
||||||
|
echo no-git
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
git submodule status | sed 's/^[ +-]//;s/ .*//'
|
||||||
|
git hash-object bootstrap.conf
|
||||||
|
git ls-tree -d HEAD gnulib/local | awk '{print $3}'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure that whenever we pull in a gnulib update or otherwise change to a
|
||||||
|
# different version (i.e., when switching branches), we also rerun ./bootstrap.
|
||||||
|
# Also, running 'make rpm' tends to litter the po/ directory, and some people
|
||||||
|
# like to run 'git clean -x -f po' to fix it; but only ./bootstrap regenerates
|
||||||
|
# the required file po/Makevars.
|
||||||
|
# Only run bootstrap from a git checkout, never from a tarball.
|
||||||
|
if test -d .git || test -f .git; then
|
||||||
|
curr_status=.git-module-status t=
|
||||||
|
if test "$no_git"; then
|
||||||
|
t=no-git
|
||||||
|
elif test -d .gnulib; then
|
||||||
|
t=$(bootstrap_hash; git diff .gnulib)
|
||||||
|
fi
|
||||||
|
case $t:${CLEAN_SUBMODULE+set} in
|
||||||
|
*:set) ;;
|
||||||
|
*-dirty*)
|
||||||
|
echo "error: gnulib submodule is dirty, please investigate" 2>&1
|
||||||
|
echo "set env-var CLEAN_SUBMODULE to discard gnulib changes" 2>&1
|
||||||
|
exit 1 ;;
|
||||||
|
esac
|
||||||
|
# Keep this test in sync with cfg.mk:_update_required
|
||||||
|
if test "$t" = "$(cat $curr_status 2>/dev/null)" \
|
||||||
|
&& test -f "po/Makevars" && test -f AUTHORS; then
|
||||||
|
# good, it's up to date, all we need is autoreconf
|
||||||
|
autoreconf -if
|
||||||
|
else
|
||||||
|
if test -z "$no_git" && test ${CLEAN_SUBMODULE+set}; then
|
||||||
|
echo cleaning up submodules...
|
||||||
|
git submodule foreach 'git clean -dfqx && git reset --hard'
|
||||||
|
fi
|
||||||
|
echo running bootstrap$no_git...
|
||||||
|
./bootstrap$no_git --bootstrap-sync && bootstrap_hash > $curr_status \
|
||||||
|
|| { echo "Failed to bootstrap, please investigate."; exit 1; }
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
test -n "$NOCONFIGURE" && exit 0
|
||||||
|
|
||||||
|
cd "$THEDIR"
|
||||||
|
|
||||||
|
if test "x$OBJ_DIR" != x; then
|
||||||
|
mkdir -p "$OBJ_DIR"
|
||||||
|
cd "$OBJ_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -z "$*" && test -z "$EXTRA_ARGS" && test -f config.status; then
|
||||||
|
./config.status --recheck
|
||||||
|
else
|
||||||
|
$srcdir/configure $EXTRA_ARGS "$@"
|
||||||
|
fi && {
|
||||||
|
echo
|
||||||
|
echo "Now type 'make' to compile libvirt."
|
||||||
|
}
|
999
bootstrap
Executable file
999
bootstrap
Executable file
@@ -0,0 +1,999 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Print a version string.
|
||||||
|
scriptversion=2013-12-05.23; # UTC
|
||||||
|
|
||||||
|
# Bootstrap this package from checked-out sources.
|
||||||
|
|
||||||
|
# Copyright (C) 2003-2014 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 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 General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Originally written by Paul Eggert. The canonical version of this
|
||||||
|
# script is maintained as build-aux/bootstrap in gnulib, however, to
|
||||||
|
# be useful to your project, you should place a copy of it under
|
||||||
|
# version control in the top-level directory of your project. The
|
||||||
|
# intent is that all customization can be done with a bootstrap.conf
|
||||||
|
# file also maintained in your version control; gnulib comes with a
|
||||||
|
# template build-aux/bootstrap.conf to get you started.
|
||||||
|
|
||||||
|
# Please report bugs or propose patches to bug-gnulib@gnu.org.
|
||||||
|
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
|
||||||
|
# Ensure file names are sorted consistently across platforms.
|
||||||
|
LC_ALL=C
|
||||||
|
export LC_ALL
|
||||||
|
|
||||||
|
# Ensure that CDPATH is not set. Otherwise, the output from cd
|
||||||
|
# would cause trouble in at least one use below.
|
||||||
|
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||||
|
|
||||||
|
local_gl_dir=gl
|
||||||
|
|
||||||
|
me=$0
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $me [OPTION]...
|
||||||
|
Bootstrap this package from the checked-out sources.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--gnulib-srcdir=DIRNAME specify the local directory where gnulib
|
||||||
|
sources reside. Use this if you already
|
||||||
|
have gnulib sources on your machine, and
|
||||||
|
do not want to waste your bandwidth downloading
|
||||||
|
them again. Defaults to \$GNULIB_SRCDIR
|
||||||
|
--bootstrap-sync if this bootstrap script is not identical to
|
||||||
|
the version in the local gnulib sources,
|
||||||
|
update this script, and then restart it with
|
||||||
|
/bin/sh or the shell \$CONFIG_SHELL
|
||||||
|
--no-bootstrap-sync do not check whether bootstrap is out of sync
|
||||||
|
--copy copy files instead of creating symbolic links
|
||||||
|
--force attempt to bootstrap even if the sources seem
|
||||||
|
not to have been checked out
|
||||||
|
--no-git do not use git to update gnulib. Requires that
|
||||||
|
--gnulib-srcdir point to a correct gnulib snapshot
|
||||||
|
--skip-po do not download po files
|
||||||
|
|
||||||
|
If the file $me.conf exists in the same directory as this script, its
|
||||||
|
contents are read as shell variables to configure the bootstrap.
|
||||||
|
|
||||||
|
For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
|
||||||
|
are honored.
|
||||||
|
|
||||||
|
Running without arguments will suffice in most cases.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# warnf_ FORMAT-STRING ARG1...
|
||||||
|
warnf_ ()
|
||||||
|
{
|
||||||
|
warnf_format_=$1
|
||||||
|
shift
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
case $* in
|
||||||
|
*$nl*) me_=$(printf "$me"|tr "$nl|" '??')
|
||||||
|
printf "$warnf_format_" "$@" | sed "s|^|$me_: |" ;;
|
||||||
|
*) printf "$me: $warnf_format_" "$@" ;;
|
||||||
|
esac >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
# warn_ WORD1...
|
||||||
|
warn_ ()
|
||||||
|
{
|
||||||
|
# If IFS does not start with ' ', set it and emit the warning in a subshell.
|
||||||
|
case $IFS in
|
||||||
|
' '*) warnf_ '%s\n' "$*";;
|
||||||
|
*) (IFS=' '; warn_ "$@");;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# die WORD1...
|
||||||
|
die() { warn_ "$@"; exit 1; }
|
||||||
|
|
||||||
|
# Configuration.
|
||||||
|
|
||||||
|
# Name of the Makefile.am
|
||||||
|
gnulib_mk=gnulib.mk
|
||||||
|
|
||||||
|
# List of gnulib modules needed.
|
||||||
|
gnulib_modules=
|
||||||
|
|
||||||
|
# Any gnulib files needed that are not in modules.
|
||||||
|
gnulib_files=
|
||||||
|
|
||||||
|
: ${AUTOPOINT=autopoint}
|
||||||
|
: ${AUTORECONF=autoreconf}
|
||||||
|
|
||||||
|
# A function to be called right after gnulib-tool is run.
|
||||||
|
# Override it via your own definition in bootstrap.conf.
|
||||||
|
bootstrap_post_import_hook() { :; }
|
||||||
|
|
||||||
|
# A function to be called after everything else in this script.
|
||||||
|
# Override it via your own definition in bootstrap.conf.
|
||||||
|
bootstrap_epilogue() { :; }
|
||||||
|
|
||||||
|
# The command to download all .po files for a specified domain into
|
||||||
|
# a specified directory. Fill in the first %s is the domain name, and
|
||||||
|
# the second with the destination directory. Use rsync's -L and -r
|
||||||
|
# options because the latest/%s directory and the .po files within are
|
||||||
|
# all symlinks.
|
||||||
|
po_download_command_format=\
|
||||||
|
"rsync --delete --exclude '*.s1' -Lrtvz \
|
||||||
|
'translationproject.org::tp/latest/%s/' '%s'"
|
||||||
|
|
||||||
|
# Fallback for downloading .po files (if rsync fails).
|
||||||
|
po_download_command_format2=\
|
||||||
|
"wget --mirror -nd -q -np -A.po -P '%s' \
|
||||||
|
http://translationproject.org/latest/%s/"
|
||||||
|
|
||||||
|
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
|
||||||
|
# fall back to the package name (1st argument with munging)
|
||||||
|
extract_package_name='
|
||||||
|
/^AC_INIT(\[*/{
|
||||||
|
s///
|
||||||
|
/^[^,]*,[^,]*,[^,]*,[ []*\([^][ ,)]\)/{
|
||||||
|
s//\1/
|
||||||
|
s/[],)].*//
|
||||||
|
p
|
||||||
|
q
|
||||||
|
}
|
||||||
|
s/[],)].*//
|
||||||
|
s/^GNU //
|
||||||
|
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
|
||||||
|
s/[^abcdefghijklmnopqrstuvwxyz0123456789_]/-/g
|
||||||
|
p
|
||||||
|
}
|
||||||
|
'
|
||||||
|
package=$(sed -n "$extract_package_name" configure.ac) \
|
||||||
|
|| die 'cannot find package name in configure.ac'
|
||||||
|
gnulib_name=lib$package
|
||||||
|
|
||||||
|
build_aux=build-aux
|
||||||
|
source_base=lib
|
||||||
|
m4_base=m4
|
||||||
|
doc_base=doc
|
||||||
|
tests_base=tests
|
||||||
|
gnulib_extra_files=''
|
||||||
|
|
||||||
|
# Additional gnulib-tool options to use. Use "\newline" to break lines.
|
||||||
|
gnulib_tool_option_extras=
|
||||||
|
|
||||||
|
# Other locale categories that need message catalogs.
|
||||||
|
EXTRA_LOCALE_CATEGORIES=
|
||||||
|
|
||||||
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
||||||
|
XGETTEXT_OPTIONS='\\\
|
||||||
|
--flag=_:1:pass-c-format\\\
|
||||||
|
--flag=N_:1:pass-c-format\\\
|
||||||
|
--flag=error:3:c-format --flag=error_at_line:5:c-format\\\
|
||||||
|
'
|
||||||
|
|
||||||
|
# Package bug report address and copyright holder for gettext files
|
||||||
|
COPYRIGHT_HOLDER='Free Software Foundation, Inc.'
|
||||||
|
MSGID_BUGS_ADDRESS=bug-$package@gnu.org
|
||||||
|
|
||||||
|
# Files we don't want to import.
|
||||||
|
excluded_files=
|
||||||
|
|
||||||
|
# File that should exist in the top directory of a checked out hierarchy,
|
||||||
|
# but not in a distribution tarball.
|
||||||
|
checkout_only_file=README-hacking
|
||||||
|
|
||||||
|
# Whether to use copies instead of symlinks.
|
||||||
|
copy=false
|
||||||
|
|
||||||
|
# Set this to '.cvsignore .gitignore' in bootstrap.conf if you want
|
||||||
|
# those files to be generated in directories like lib/, m4/, and po/.
|
||||||
|
# Or set it to 'auto' to make this script select which to use based
|
||||||
|
# on which version control system (if any) is used in the source directory.
|
||||||
|
vc_ignore=auto
|
||||||
|
|
||||||
|
# Set this to true in bootstrap.conf to enable --bootstrap-sync by
|
||||||
|
# default.
|
||||||
|
bootstrap_sync=false
|
||||||
|
|
||||||
|
# Use git to update gnulib sources
|
||||||
|
use_git=true
|
||||||
|
|
||||||
|
check_exists() {
|
||||||
|
($1 --version </dev/null) >/dev/null 2>&1
|
||||||
|
test $? -lt 126
|
||||||
|
}
|
||||||
|
|
||||||
|
# find_tool ENVVAR NAMES...
|
||||||
|
# -------------------------
|
||||||
|
# Search for a required program. Use the value of ENVVAR, if set,
|
||||||
|
# otherwise find the first of the NAMES that can be run.
|
||||||
|
# If found, set ENVVAR to the program name, die otherwise.
|
||||||
|
#
|
||||||
|
# FIXME: code duplication, see also gnu-web-doc-update.
|
||||||
|
find_tool ()
|
||||||
|
{
|
||||||
|
find_tool_envvar=$1
|
||||||
|
shift
|
||||||
|
find_tool_names=$@
|
||||||
|
eval "find_tool_res=\$$find_tool_envvar"
|
||||||
|
if test x"$find_tool_res" = x; then
|
||||||
|
for i; do
|
||||||
|
if check_exists $i; then
|
||||||
|
find_tool_res=$i
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if test x"$find_tool_res" = x; then
|
||||||
|
warn_ "one of these is required: $find_tool_names;"
|
||||||
|
die "alternatively set $find_tool_envvar to a compatible tool"
|
||||||
|
fi
|
||||||
|
eval "$find_tool_envvar=\$find_tool_res"
|
||||||
|
eval "export $find_tool_envvar"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Override the default configuration, if necessary.
|
||||||
|
# Make sure that bootstrap.conf is sourced from the current directory
|
||||||
|
# if we were invoked as "sh bootstrap".
|
||||||
|
case "$0" in
|
||||||
|
*/*) test -r "$0.conf" && . "$0.conf" ;;
|
||||||
|
*) test -r "$0.conf" && . ./"$0.conf" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Extra files from gnulib, which override files from other sources.
|
||||||
|
test -z "${gnulib_extra_files}" && \
|
||||||
|
gnulib_extra_files="
|
||||||
|
build-aux/install-sh
|
||||||
|
build-aux/mdate-sh
|
||||||
|
build-aux/texinfo.tex
|
||||||
|
build-aux/depcomp
|
||||||
|
build-aux/config.guess
|
||||||
|
build-aux/config.sub
|
||||||
|
doc/INSTALL
|
||||||
|
"
|
||||||
|
|
||||||
|
if test "$vc_ignore" = auto; then
|
||||||
|
vc_ignore=
|
||||||
|
test -d .git && vc_ignore=.gitignore
|
||||||
|
test -d CVS && vc_ignore="$vc_ignore .cvsignore"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Translate configuration into internal form.
|
||||||
|
|
||||||
|
# Parse options.
|
||||||
|
|
||||||
|
for option
|
||||||
|
do
|
||||||
|
case $option in
|
||||||
|
--help)
|
||||||
|
usage
|
||||||
|
exit;;
|
||||||
|
--gnulib-srcdir=*)
|
||||||
|
GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
|
||||||
|
--skip-po)
|
||||||
|
SKIP_PO=t;;
|
||||||
|
--force)
|
||||||
|
checkout_only_file=;;
|
||||||
|
--copy)
|
||||||
|
copy=true;;
|
||||||
|
--bootstrap-sync)
|
||||||
|
bootstrap_sync=true;;
|
||||||
|
--no-bootstrap-sync)
|
||||||
|
bootstrap_sync=false;;
|
||||||
|
--no-git)
|
||||||
|
use_git=false;;
|
||||||
|
*)
|
||||||
|
die "$option: unknown option";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
$use_git || test -d "$GNULIB_SRCDIR" \
|
||||||
|
|| die "Error: --no-git requires --gnulib-srcdir"
|
||||||
|
|
||||||
|
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
|
||||||
|
die "Bootstrapping from a non-checked-out distribution is risky."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip blank and comment lines to leave significant entries.
|
||||||
|
gitignore_entries() {
|
||||||
|
sed '/^#/d; /^$/d' "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# If $STR is not already on a line by itself in $FILE, insert it at the start.
|
||||||
|
# Entries are inserted at the start of the ignore list to ensure existing
|
||||||
|
# entries starting with ! are not overridden. Such entries support
|
||||||
|
# whitelisting exceptions after a more generic blacklist pattern.
|
||||||
|
insert_if_absent() {
|
||||||
|
file=$1
|
||||||
|
str=$2
|
||||||
|
test -f $file || touch $file
|
||||||
|
test -r $file || die "Error: failed to read ignore file: $file"
|
||||||
|
duplicate_entries=$(gitignore_entries $file | sort | uniq -d)
|
||||||
|
if [ "$duplicate_entries" ] ; then
|
||||||
|
die "Error: Duplicate entries in $file: " $duplicate_entries
|
||||||
|
fi
|
||||||
|
linesold=$(gitignore_entries $file | wc -l)
|
||||||
|
linesnew=$( { echo "$str"; cat $file; } | gitignore_entries | sort -u | wc -l)
|
||||||
|
if [ $linesold != $linesnew ] ; then
|
||||||
|
{ echo "$str" | cat - $file > $file.bak && mv $file.bak $file; } \
|
||||||
|
|| die "insert_if_absent $file $str: failed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
|
||||||
|
# insert_if_absent.
|
||||||
|
insert_vc_ignore() {
|
||||||
|
vc_ignore_file="$1"
|
||||||
|
pattern="$2"
|
||||||
|
case $vc_ignore_file in
|
||||||
|
*.gitignore)
|
||||||
|
# A .gitignore entry that does not start with '/' applies
|
||||||
|
# recursively to subdirectories, so prepend '/' to every
|
||||||
|
# .gitignore entry.
|
||||||
|
pattern=$(echo "$pattern" | sed s,^,/,);;
|
||||||
|
esac
|
||||||
|
insert_if_absent "$vc_ignore_file" "$pattern"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
|
||||||
|
found_aux_dir=no
|
||||||
|
grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
|
||||||
|
>/dev/null && found_aux_dir=yes
|
||||||
|
grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
|
||||||
|
>/dev/null && found_aux_dir=yes
|
||||||
|
test $found_aux_dir = yes \
|
||||||
|
|| die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it"
|
||||||
|
|
||||||
|
# If $build_aux doesn't exist, create it now, otherwise some bits
|
||||||
|
# below will malfunction. If creating it, also mark it as ignored.
|
||||||
|
if test ! -d $build_aux; then
|
||||||
|
mkdir $build_aux
|
||||||
|
for dot_ig in x $vc_ignore; do
|
||||||
|
test $dot_ig = x && continue
|
||||||
|
insert_vc_ignore $dot_ig $build_aux
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Note this deviates from the version comparison in automake
|
||||||
|
# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
|
||||||
|
# but this should suffice as we won't be specifying old
|
||||||
|
# version formats or redundant trailing .0 in bootstrap.conf.
|
||||||
|
# If we did want full compatibility then we should probably
|
||||||
|
# use m4_version_compare from autoconf.
|
||||||
|
sort_ver() { # sort -V is not generally available
|
||||||
|
ver1="$1"
|
||||||
|
ver2="$2"
|
||||||
|
|
||||||
|
# split on '.' and compare each component
|
||||||
|
i=1
|
||||||
|
while : ; do
|
||||||
|
p1=$(echo "$ver1" | cut -d. -f$i)
|
||||||
|
p2=$(echo "$ver2" | cut -d. -f$i)
|
||||||
|
if [ ! "$p1" ]; then
|
||||||
|
echo "$1 $2"
|
||||||
|
break
|
||||||
|
elif [ ! "$p2" ]; then
|
||||||
|
echo "$2 $1"
|
||||||
|
break
|
||||||
|
elif [ ! "$p1" = "$p2" ]; then
|
||||||
|
if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison
|
||||||
|
echo "$2 $1"
|
||||||
|
elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison
|
||||||
|
echo "$1 $2"
|
||||||
|
else # numeric, then lexicographic comparison
|
||||||
|
lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1)
|
||||||
|
if [ "$lp" = "$p2" ]; then
|
||||||
|
echo "$1 $2"
|
||||||
|
else
|
||||||
|
echo "$2 $1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
i=$(($i+1))
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
get_version() {
|
||||||
|
app=$1
|
||||||
|
|
||||||
|
$app --version >/dev/null 2>&1 || return 1
|
||||||
|
|
||||||
|
$app --version 2>&1 |
|
||||||
|
sed -n '# Move version to start of line.
|
||||||
|
s/.*[v ]\([0-9]\)/\1/
|
||||||
|
|
||||||
|
# Skip lines that do not start with version.
|
||||||
|
/^[0-9]/!d
|
||||||
|
|
||||||
|
# Remove characters after the version.
|
||||||
|
s/[^.a-z0-9-].*//
|
||||||
|
|
||||||
|
# The first component must be digits only.
|
||||||
|
s/^\([0-9]*\)[a-z-].*/\1/
|
||||||
|
|
||||||
|
#the following essentially does s/5.005/5.5/
|
||||||
|
s/\.0*\([1-9]\)/.\1/g
|
||||||
|
p
|
||||||
|
q'
|
||||||
|
}
|
||||||
|
|
||||||
|
check_versions() {
|
||||||
|
ret=0
|
||||||
|
|
||||||
|
while read app req_ver; do
|
||||||
|
# We only need libtoolize from the libtool package.
|
||||||
|
if test "$app" = libtool; then
|
||||||
|
app=libtoolize
|
||||||
|
fi
|
||||||
|
# Exempt git if --no-git is in effect.
|
||||||
|
if test "$app" = git; then
|
||||||
|
$use_git || continue
|
||||||
|
fi
|
||||||
|
# Honor $APP variables ($TAR, $AUTOCONF, etc.)
|
||||||
|
appvar=$(echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_')
|
||||||
|
test "$appvar" = TAR && appvar=AMTAR
|
||||||
|
case $appvar in
|
||||||
|
GZIP) ;; # Do not use $GZIP: it contains gzip options.
|
||||||
|
*) eval "app=\${$appvar-$app}" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Handle the still-experimental Automake-NG programs specially.
|
||||||
|
# They remain named as the mainstream Automake programs ("automake",
|
||||||
|
# and "aclocal") to avoid gratuitous incompatibilities with
|
||||||
|
# pre-existing usages (by, say, autoreconf, or custom autogen.sh
|
||||||
|
# scripts), but correctly identify themselves (as being part of
|
||||||
|
# "GNU automake-ng") when asked their version.
|
||||||
|
case $app in
|
||||||
|
automake-ng|aclocal-ng)
|
||||||
|
app=${app%-ng}
|
||||||
|
($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || {
|
||||||
|
warn_ "Error: '$app' not found or not from Automake-NG"
|
||||||
|
ret=1
|
||||||
|
continue
|
||||||
|
} ;;
|
||||||
|
esac
|
||||||
|
if [ "$req_ver" = "-" ]; then
|
||||||
|
# Merely require app to exist; not all prereq apps are well-behaved
|
||||||
|
# so we have to rely on $? rather than get_version.
|
||||||
|
if ! check_exists $app; then
|
||||||
|
warn_ "Error: '$app' not found"
|
||||||
|
ret=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Require app to produce a new enough version string.
|
||||||
|
inst_ver=$(get_version $app)
|
||||||
|
if [ ! "$inst_ver" ]; then
|
||||||
|
warn_ "Error: '$app' not found"
|
||||||
|
ret=1
|
||||||
|
else
|
||||||
|
latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
|
||||||
|
if [ ! "$latest_ver" = "$inst_ver" ]; then
|
||||||
|
warnf_ '%s\n' \
|
||||||
|
"Error: '$app' version == $inst_ver is too old" \
|
||||||
|
" '$app' version >= $req_ver is required"
|
||||||
|
ret=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
print_versions() {
|
||||||
|
echo "Program Min_version"
|
||||||
|
echo "----------------------"
|
||||||
|
printf %s "$buildreq"
|
||||||
|
echo "----------------------"
|
||||||
|
# can't depend on column -t
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find sha1sum, named gsha1sum on MacPorts, shasum on Mac OS X 10.6.
|
||||||
|
# Also find the compatible sha1 utility on the BSDs
|
||||||
|
if test x"$SKIP_PO" = x; then
|
||||||
|
find_tool SHA1SUM sha1sum gsha1sum shasum sha1
|
||||||
|
fi
|
||||||
|
|
||||||
|
use_libtool=0
|
||||||
|
# We'd like to use grep -E, to see if any of LT_INIT,
|
||||||
|
# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
|
||||||
|
# but that's not portable enough (e.g., for Solaris).
|
||||||
|
grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
|
||||||
|
&& use_libtool=1
|
||||||
|
grep '^[ ]*LT_INIT' configure.ac >/dev/null \
|
||||||
|
&& use_libtool=1
|
||||||
|
if test $use_libtool = 1; then
|
||||||
|
find_tool LIBTOOLIZE glibtoolize libtoolize
|
||||||
|
fi
|
||||||
|
|
||||||
|
# gnulib-tool requires at least automake and autoconf.
|
||||||
|
# If either is not listed, add it (with minimum version) as a prerequisite.
|
||||||
|
case $buildreq in
|
||||||
|
*automake*) ;;
|
||||||
|
*) buildreq="automake 1.9
|
||||||
|
$buildreq" ;;
|
||||||
|
esac
|
||||||
|
case $buildreq in
|
||||||
|
*autoconf*) ;;
|
||||||
|
*) buildreq="autoconf 2.59
|
||||||
|
$buildreq" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# When we can deduce that gnulib-tool will require patch,
|
||||||
|
# and when patch is not already listed as a prerequisite, add it, too.
|
||||||
|
if test -d "$local_gl_dir" \
|
||||||
|
&& ! find "$local_gl_dir" -name '*.diff' -exec false {} +; then
|
||||||
|
case $buildreq in
|
||||||
|
*patch*) ;;
|
||||||
|
*) buildreq="patch -
|
||||||
|
$buildreq" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! printf "$buildreq" | check_versions; then
|
||||||
|
echo >&2
|
||||||
|
if test -f README-prereq; then
|
||||||
|
die "See README-prereq for how to get the prerequisite programs"
|
||||||
|
else
|
||||||
|
die "Please install the prerequisite programs"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Warn the user if autom4te appears to be broken; this causes known
|
||||||
|
# issues with at least gettext 0.18.3.
|
||||||
|
probe=$(echo 'm4_quote([hi])' | autom4te -l M4sugar -t 'm4_quote:$%' -)
|
||||||
|
if test "x$probe" != xhi; then
|
||||||
|
warn_ "WARNING: your autom4te wrapper eats stdin;"
|
||||||
|
warn_ "if bootstrap fails, consider upgrading your autotools"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$0: Bootstrapping from checked-out $package sources..."
|
||||||
|
|
||||||
|
# See if we can use gnulib's git-merge-changelog merge driver.
|
||||||
|
if $use_git && test -d .git && check_exists git; then
|
||||||
|
if git config merge.merge-changelog.driver >/dev/null ; then
|
||||||
|
:
|
||||||
|
elif check_exists git-merge-changelog; then
|
||||||
|
echo "$0: initializing git-merge-changelog driver"
|
||||||
|
git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
|
||||||
|
git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
|
||||||
|
else
|
||||||
|
echo "$0: consider installing git-merge-changelog from gnulib"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
cleanup_gnulib() {
|
||||||
|
status=$?
|
||||||
|
rm -fr "$gnulib_path"
|
||||||
|
exit $status
|
||||||
|
}
|
||||||
|
|
||||||
|
git_modules_config () {
|
||||||
|
test -f .gitmodules && git config --file .gitmodules "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
if $use_git; then
|
||||||
|
gnulib_path=$(git_modules_config submodule.gnulib.path)
|
||||||
|
test -z "$gnulib_path" && gnulib_path=gnulib
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get gnulib files. Populate $GNULIB_SRCDIR, possibly updating a
|
||||||
|
# submodule, for use in the rest of the script.
|
||||||
|
|
||||||
|
case ${GNULIB_SRCDIR--} in
|
||||||
|
-)
|
||||||
|
# Note that $use_git is necessarily true in this case.
|
||||||
|
if git_modules_config submodule.gnulib.url >/dev/null; then
|
||||||
|
echo "$0: getting gnulib files..."
|
||||||
|
git submodule init || exit $?
|
||||||
|
git submodule update || exit $?
|
||||||
|
|
||||||
|
elif [ ! -d "$gnulib_path" ]; then
|
||||||
|
echo "$0: getting gnulib files..."
|
||||||
|
|
||||||
|
trap cleanup_gnulib 1 2 13 15
|
||||||
|
|
||||||
|
shallow=
|
||||||
|
git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
|
||||||
|
git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
|
||||||
|
cleanup_gnulib
|
||||||
|
|
||||||
|
trap - 1 2 13 15
|
||||||
|
fi
|
||||||
|
GNULIB_SRCDIR=$gnulib_path
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Use GNULIB_SRCDIR directly or as a reference.
|
||||||
|
if $use_git && test -d "$GNULIB_SRCDIR"/.git && \
|
||||||
|
git_modules_config submodule.gnulib.url >/dev/null; then
|
||||||
|
echo "$0: getting gnulib files..."
|
||||||
|
if git submodule -h|grep -- --reference > /dev/null; then
|
||||||
|
# Prefer the one-liner available in git 1.6.4 or newer.
|
||||||
|
git submodule update --init --reference "$GNULIB_SRCDIR" \
|
||||||
|
"$gnulib_path" || exit $?
|
||||||
|
else
|
||||||
|
# This fallback allows at least git 1.5.5.
|
||||||
|
if test -f "$gnulib_path"/gnulib-tool; then
|
||||||
|
# Since file already exists, assume submodule init already complete.
|
||||||
|
git submodule update || exit $?
|
||||||
|
else
|
||||||
|
# Older git can't clone into an empty directory.
|
||||||
|
rmdir "$gnulib_path" 2>/dev/null
|
||||||
|
git clone --reference "$GNULIB_SRCDIR" \
|
||||||
|
"$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
|
||||||
|
&& git submodule init && git submodule update \
|
||||||
|
|| exit $?
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
GNULIB_SRCDIR=$gnulib_path
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# $GNULIB_SRCDIR now points to the version of gnulib to use, and
|
||||||
|
# we no longer need to use git or $gnulib_path below here.
|
||||||
|
|
||||||
|
if $bootstrap_sync; then
|
||||||
|
cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
|
||||||
|
echo "$0: updating bootstrap and restarting..."
|
||||||
|
case $(sh -c 'echo "$1"' -- a) in
|
||||||
|
a) ignored=--;;
|
||||||
|
*) ignored=ignored;;
|
||||||
|
esac
|
||||||
|
exec sh -c \
|
||||||
|
'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
|
||||||
|
$ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \
|
||||||
|
"$0" "$@" --no-bootstrap-sync
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
|
||||||
|
<$gnulib_tool || exit $?
|
||||||
|
|
||||||
|
# Get translations.
|
||||||
|
|
||||||
|
download_po_files() {
|
||||||
|
subdir=$1
|
||||||
|
domain=$2
|
||||||
|
echo "$me: getting translations into $subdir for $domain..."
|
||||||
|
cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
|
||||||
|
eval "$cmd" && return
|
||||||
|
# Fallback to HTTP.
|
||||||
|
cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
|
||||||
|
eval "$cmd"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Mirror .po files to $po_dir/.reference and copy only the new
|
||||||
|
# or modified ones into $po_dir. Also update $po_dir/LINGUAS.
|
||||||
|
# Note po files that exist locally only are left in $po_dir but will
|
||||||
|
# not be included in LINGUAS and hence will not be distributed.
|
||||||
|
update_po_files() {
|
||||||
|
# Directory containing primary .po files.
|
||||||
|
# Overwrite them only when we're sure a .po file is new.
|
||||||
|
po_dir=$1
|
||||||
|
domain=$2
|
||||||
|
|
||||||
|
# Mirror *.po files into this dir.
|
||||||
|
# Usually contains *.s1 checksum files.
|
||||||
|
ref_po_dir="$po_dir/.reference"
|
||||||
|
|
||||||
|
test -d $ref_po_dir || mkdir $ref_po_dir || return
|
||||||
|
download_po_files $ref_po_dir $domain \
|
||||||
|
&& ls "$ref_po_dir"/*.po 2>/dev/null |
|
||||||
|
sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
|
||||||
|
|
||||||
|
langs=$(cd $ref_po_dir && echo *.po | sed 's/\.po//g')
|
||||||
|
test "$langs" = '*' && langs=x
|
||||||
|
for po in $langs; do
|
||||||
|
case $po in x) continue;; esac
|
||||||
|
new_po="$ref_po_dir/$po.po"
|
||||||
|
cksum_file="$ref_po_dir/$po.s1"
|
||||||
|
if ! test -f "$cksum_file" ||
|
||||||
|
! test -f "$po_dir/$po.po" ||
|
||||||
|
! $SHA1SUM -c "$cksum_file" < "$new_po" > /dev/null 2>&1; then
|
||||||
|
echo "$me: updated $po_dir/$po.po..."
|
||||||
|
cp "$new_po" "$po_dir/$po.po" \
|
||||||
|
&& $SHA1SUM < "$new_po" > "$cksum_file" || return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
case $SKIP_PO in
|
||||||
|
'')
|
||||||
|
if test -d po; then
|
||||||
|
update_po_files po $package || exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -d runtime-po; then
|
||||||
|
update_po_files runtime-po $package-runtime || exit
|
||||||
|
fi;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
symlink_to_dir()
|
||||||
|
{
|
||||||
|
src=$1/$2
|
||||||
|
dst=${3-$2}
|
||||||
|
|
||||||
|
test -f "$src" && {
|
||||||
|
|
||||||
|
# If the destination directory doesn't exist, create it.
|
||||||
|
# This is required at least for "lib/uniwidth/cjk.h".
|
||||||
|
dst_dir=$(dirname "$dst")
|
||||||
|
if ! test -d "$dst_dir"; then
|
||||||
|
mkdir -p "$dst_dir"
|
||||||
|
|
||||||
|
# If we've just created a directory like lib/uniwidth,
|
||||||
|
# tell version control system(s) it's ignorable.
|
||||||
|
# FIXME: for now, this does only one level
|
||||||
|
parent=$(dirname "$dst_dir")
|
||||||
|
for dot_ig in x $vc_ignore; do
|
||||||
|
test $dot_ig = x && continue
|
||||||
|
ig=$parent/$dot_ig
|
||||||
|
insert_vc_ignore $ig "${dst_dir##*/}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $copy; then
|
||||||
|
{
|
||||||
|
test ! -h "$dst" || {
|
||||||
|
echo "$me: rm -f $dst" &&
|
||||||
|
rm -f "$dst"
|
||||||
|
}
|
||||||
|
} &&
|
||||||
|
test -f "$dst" &&
|
||||||
|
cmp -s "$src" "$dst" || {
|
||||||
|
echo "$me: cp -fp $src $dst" &&
|
||||||
|
cp -fp "$src" "$dst"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
# Leave any existing symlink alone, if it already points to the source,
|
||||||
|
# so that broken build tools that care about symlink times
|
||||||
|
# aren't confused into doing unnecessary builds. Conversely, if the
|
||||||
|
# existing symlink's time stamp is older than the source, make it afresh,
|
||||||
|
# so that broken tools aren't confused into skipping needed builds. See
|
||||||
|
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
|
||||||
|
test -h "$dst" &&
|
||||||
|
src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
|
||||||
|
dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
|
||||||
|
test "$src_i" = "$dst_i" &&
|
||||||
|
both_ls=$(ls -dt "$src" "$dst") &&
|
||||||
|
test "X$both_ls" = "X$dst$nl$src" || {
|
||||||
|
dot_dots=
|
||||||
|
case $src in
|
||||||
|
/*) ;;
|
||||||
|
*)
|
||||||
|
case /$dst/ in
|
||||||
|
*//* | */../* | */./* | /*/*/*/*/*/)
|
||||||
|
die "invalid symlink calculation: $src -> $dst";;
|
||||||
|
/*/*/*/*/) dot_dots=../../../;;
|
||||||
|
/*/*/*/) dot_dots=../../;;
|
||||||
|
/*/*/) dot_dots=../;;
|
||||||
|
esac;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "$me: ln -fs $dot_dots$src $dst" &&
|
||||||
|
ln -fs "$dot_dots$src" "$dst"
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
version_controlled_file() {
|
||||||
|
parent=$1
|
||||||
|
file=$2
|
||||||
|
if test -d .git; then
|
||||||
|
git rm -n "$file" > /dev/null 2>&1
|
||||||
|
elif test -d .svn; then
|
||||||
|
svn log -r HEAD "$file" > /dev/null 2>&1
|
||||||
|
elif test -d CVS; then
|
||||||
|
grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null |
|
||||||
|
grep '^/[^/]*/[0-9]' > /dev/null
|
||||||
|
else
|
||||||
|
warn_ "no version control for $file?"
|
||||||
|
false
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# NOTE: we have to be careful to run both autopoint and libtoolize
|
||||||
|
# before gnulib-tool, since gnulib-tool is likely to provide newer
|
||||||
|
# versions of files "installed" by these two programs.
|
||||||
|
# Then, *after* gnulib-tool (see below), we have to be careful to
|
||||||
|
# run autoreconf in such a way that it does not run either of these
|
||||||
|
# two just-pre-run programs.
|
||||||
|
|
||||||
|
# Import from gettext.
|
||||||
|
with_gettext=yes
|
||||||
|
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
|
||||||
|
with_gettext=no
|
||||||
|
|
||||||
|
if test $with_gettext = yes || test $use_libtool = 1; then
|
||||||
|
|
||||||
|
tempbase=.bootstrap$$
|
||||||
|
trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15
|
||||||
|
|
||||||
|
> $tempbase.0 > $tempbase.1 &&
|
||||||
|
find . ! -type d -print | sort > $tempbase.0 || exit
|
||||||
|
|
||||||
|
if test $with_gettext = yes; then
|
||||||
|
# Released autopoint has the tendency to install macros that have been
|
||||||
|
# obsoleted in current gnulib, so run this before gnulib-tool.
|
||||||
|
echo "$0: $AUTOPOINT --force"
|
||||||
|
$AUTOPOINT --force || exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Autoreconf runs aclocal before libtoolize, which causes spurious
|
||||||
|
# warnings if the initial aclocal is confused by the libtoolized
|
||||||
|
# (or worse out-of-date) macro directory.
|
||||||
|
# libtoolize 1.9b added the --install option; but we support back
|
||||||
|
# to libtoolize 1.5.22, where the install action was default.
|
||||||
|
if test $use_libtool = 1; then
|
||||||
|
install=
|
||||||
|
case $($LIBTOOLIZE --help) in
|
||||||
|
*--install*) install=--install ;;
|
||||||
|
esac
|
||||||
|
echo "running: $LIBTOOLIZE $install --copy"
|
||||||
|
$LIBTOOLIZE $install --copy
|
||||||
|
fi
|
||||||
|
|
||||||
|
find . ! -type d -print | sort >$tempbase.1
|
||||||
|
old_IFS=$IFS
|
||||||
|
IFS=$nl
|
||||||
|
for file in $(comm -13 $tempbase.0 $tempbase.1); do
|
||||||
|
IFS=$old_IFS
|
||||||
|
parent=${file%/*}
|
||||||
|
version_controlled_file "$parent" "$file" || {
|
||||||
|
for dot_ig in x $vc_ignore; do
|
||||||
|
test $dot_ig = x && continue
|
||||||
|
ig=$parent/$dot_ig
|
||||||
|
insert_vc_ignore "$ig" "${file##*/}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
done
|
||||||
|
IFS=$old_IFS
|
||||||
|
|
||||||
|
rm -f $tempbase.0 $tempbase.1
|
||||||
|
trap - 1 2 13 15
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Import from gnulib.
|
||||||
|
|
||||||
|
gnulib_tool_options="\
|
||||||
|
--import\
|
||||||
|
--no-changelog\
|
||||||
|
--aux-dir $build_aux\
|
||||||
|
--doc-base $doc_base\
|
||||||
|
--lib $gnulib_name\
|
||||||
|
--m4-base $m4_base/\
|
||||||
|
--source-base $source_base/\
|
||||||
|
--tests-base $tests_base\
|
||||||
|
--local-dir $local_gl_dir\
|
||||||
|
$gnulib_tool_option_extras\
|
||||||
|
"
|
||||||
|
if test $use_libtool = 1; then
|
||||||
|
case "$gnulib_tool_options " in
|
||||||
|
*' --libtool '*) ;;
|
||||||
|
*) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
|
||||||
|
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
|
||||||
|
|
||||||
|
for file in $gnulib_files; do
|
||||||
|
symlink_to_dir "$GNULIB_SRCDIR" $file \
|
||||||
|
|| die "failed to symlink $file"
|
||||||
|
done
|
||||||
|
|
||||||
|
bootstrap_post_import_hook \
|
||||||
|
|| die "bootstrap_post_import_hook failed"
|
||||||
|
|
||||||
|
# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
|
||||||
|
# gnulib-populated directories. Such .m4 files would cause aclocal to fail.
|
||||||
|
# The following requires GNU find 4.2.3 or newer. Considering the usual
|
||||||
|
# portability constraints of this script, that may seem a very demanding
|
||||||
|
# requirement, but it should be ok. Ignore any failure, which is fine,
|
||||||
|
# since this is only a convenience to help developers avoid the relatively
|
||||||
|
# unusual case in which a symlinked-to .m4 file is git-removed from gnulib
|
||||||
|
# between successive runs of this script.
|
||||||
|
find "$m4_base" "$source_base" \
|
||||||
|
-depth \( -name '*.m4' -o -name '*.[ch]' \) \
|
||||||
|
-type l -xtype l -delete > /dev/null 2>&1
|
||||||
|
|
||||||
|
# Invoke autoreconf with --force --install to ensure upgrades of tools
|
||||||
|
# such as ylwrap.
|
||||||
|
AUTORECONFFLAGS="--verbose --install --force -I $m4_base $ACLOCAL_FLAGS"
|
||||||
|
|
||||||
|
# Some systems (RHEL 5) are using ancient autotools, for which the
|
||||||
|
# --no-recursive option had not been invented. Detect that lack and
|
||||||
|
# omit the option when it's not supported. FIXME in 2017: remove this
|
||||||
|
# hack when RHEL 5 autotools are updated, or when they become irrelevant.
|
||||||
|
case $($AUTORECONF --help) in
|
||||||
|
*--no-recursive*) AUTORECONFFLAGS="$AUTORECONFFLAGS --no-recursive";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
|
||||||
|
echo "running: AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS"
|
||||||
|
AUTOPOINT=true LIBTOOLIZE=true $AUTORECONF $AUTORECONFFLAGS \
|
||||||
|
|| die "autoreconf failed"
|
||||||
|
|
||||||
|
# Get some extra files from gnulib, overriding existing files.
|
||||||
|
for file in $gnulib_extra_files; do
|
||||||
|
case $file in
|
||||||
|
*/INSTALL) dst=INSTALL;;
|
||||||
|
build-aux/*) dst=$build_aux/${file#build-aux/};;
|
||||||
|
*) dst=$file;;
|
||||||
|
esac
|
||||||
|
symlink_to_dir "$GNULIB_SRCDIR" $file $dst \
|
||||||
|
|| die "failed to symlink $file"
|
||||||
|
done
|
||||||
|
|
||||||
|
if test $with_gettext = yes; then
|
||||||
|
# Create gettext configuration.
|
||||||
|
echo "$0: Creating po/Makevars from po/Makevars.template ..."
|
||||||
|
rm -f po/Makevars
|
||||||
|
sed '
|
||||||
|
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
|
||||||
|
/^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
|
||||||
|
/^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'|
|
||||||
|
/^XGETTEXT_OPTIONS *=/{
|
||||||
|
s/$/ \\/
|
||||||
|
a\
|
||||||
|
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
|
||||||
|
}
|
||||||
|
' po/Makevars.template >po/Makevars \
|
||||||
|
|| die 'cannot generate po/Makevars'
|
||||||
|
|
||||||
|
# If the 'gettext' module is in use, grab the latest Makefile.in.in.
|
||||||
|
# If only the 'gettext-h' module is in use, assume autopoint already
|
||||||
|
# put the correct version of this file into place.
|
||||||
|
case $gnulib_modules in
|
||||||
|
*gettext-h*) ;;
|
||||||
|
*gettext*)
|
||||||
|
cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \
|
||||||
|
|| die "cannot create po/Makefile.in.in"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -d runtime-po; then
|
||||||
|
# Similarly for runtime-po/Makevars, but not quite the same.
|
||||||
|
rm -f runtime-po/Makevars
|
||||||
|
sed '
|
||||||
|
/^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
|
||||||
|
/^subdir *=.*/s/=.*/= runtime-po/
|
||||||
|
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
|
||||||
|
/^XGETTEXT_OPTIONS *=/{
|
||||||
|
s/$/ \\/
|
||||||
|
a\
|
||||||
|
'"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
|
||||||
|
}
|
||||||
|
' po/Makevars.template >runtime-po/Makevars \
|
||||||
|
|| die 'cannot generate runtime-po/Makevars'
|
||||||
|
|
||||||
|
# Copy identical files from po to runtime-po.
|
||||||
|
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
bootstrap_epilogue
|
||||||
|
|
||||||
|
echo "$0: done. Now you can run './configure'."
|
||||||
|
|
||||||
|
# Local variables:
|
||||||
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
# time-stamp-start: "scriptversion="
|
||||||
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
|
# time-stamp-time-zone: "UTC"
|
||||||
|
# time-stamp-end: "; # UTC"
|
||||||
|
# End:
|
247
bootstrap.conf
Normal file
247
bootstrap.conf
Normal file
@@ -0,0 +1,247 @@
|
|||||||
|
# Bootstrap configuration.
|
||||||
|
|
||||||
|
# Copyright (C) 2010-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 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-one-bits
|
||||||
|
crypto/md5
|
||||||
|
crypto/sha256
|
||||||
|
dirname-lgpl
|
||||||
|
environ
|
||||||
|
execinfo
|
||||||
|
fclose
|
||||||
|
fcntl
|
||||||
|
fcntl-h
|
||||||
|
fdatasync
|
||||||
|
ffs
|
||||||
|
ffsl
|
||||||
|
fnmatch
|
||||||
|
fsync
|
||||||
|
func
|
||||||
|
getaddrinfo
|
||||||
|
getcwd-lgpl
|
||||||
|
gethostname
|
||||||
|
getpass
|
||||||
|
getpeername
|
||||||
|
getsockname
|
||||||
|
gettext-h
|
||||||
|
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
|
||||||
|
random_r
|
||||||
|
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
|
||||||
|
useless-if-before-free
|
||||||
|
usleep
|
||||||
|
vasprintf
|
||||||
|
verify
|
||||||
|
vc-list-files
|
||||||
|
vsnprintf
|
||||||
|
waitpid
|
||||||
|
warnings
|
||||||
|
'
|
||||||
|
|
||||||
|
# Additional xgettext options to use. Use "\\\newline" to break lines.
|
||||||
|
XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
||||||
|
--flag=virAsprintf:2:c-format\\\
|
||||||
|
--from-code=UTF-8\\\
|
||||||
|
'
|
||||||
|
|
||||||
|
# This is not a GNU package, so the default bug address is invalid,
|
||||||
|
# and the translation project is not in use.
|
||||||
|
MSGID_BUGS_ADDRESS=libvir-list@redhat.com
|
||||||
|
COPYRIGHT_HOLDER='Red Hat, Inc.'
|
||||||
|
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
|
||||||
|
|
||||||
|
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
|
||||||
|
# appears in configure.ac, exclude some unnecessary files.
|
||||||
|
# Without grep's -E option (not portable enough, pre-configure),
|
||||||
|
# the following test is ugly. Also, this depends on the existence
|
||||||
|
# of configure.ac, not the obsolescent-named configure.in. But if
|
||||||
|
# you're using this infrastructure, you should care about such things.
|
||||||
|
|
||||||
|
gettext_external=0
|
||||||
|
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
|
||||||
|
gettext_external=1
|
||||||
|
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
|
||||||
|
gettext_external=1
|
||||||
|
|
||||||
|
if test $gettext_external = 1; then
|
||||||
|
# Gettext supplies these files, but we don't need them since
|
||||||
|
# we don't have an intl subdirectory.
|
||||||
|
excluded_files='
|
||||||
|
m4/glibc2.m4
|
||||||
|
m4/intdiv0.m4
|
||||||
|
m4/lcmessage.m4
|
||||||
|
m4/uintmax_t.m4
|
||||||
|
m4/ulonglong.m4
|
||||||
|
m4/visibility.m4
|
||||||
|
'
|
||||||
|
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. As a special case, we want
|
||||||
|
# to require the equivalent of the Fedora python-devel package, but
|
||||||
|
# RHEL 5 lacks the witness python-config package; we hack around that
|
||||||
|
# old environment below.
|
||||||
|
buildreq="\
|
||||||
|
autoconf 2.59
|
||||||
|
automake 1.9.6
|
||||||
|
autopoint -
|
||||||
|
gettext 0.17
|
||||||
|
git 1.5.5
|
||||||
|
gzip -
|
||||||
|
libtool -
|
||||||
|
patch -
|
||||||
|
perl 5.5
|
||||||
|
pkg-config -
|
||||||
|
python-config -
|
||||||
|
rpcgen -
|
||||||
|
tar -
|
||||||
|
xmllint -
|
||||||
|
xsltproc -
|
||||||
|
"
|
||||||
|
# Use rpm as a fallback to bypass the bootstrap probe for python-config,
|
||||||
|
# for the sake of RHEL 5; without requiring it on newer systems that
|
||||||
|
# have python-config to begin with.
|
||||||
|
if `(${PYTHON_CONFIG-python-config} --version;
|
||||||
|
test $? -lt 126 || rpm -q python-devel) >/dev/null 2>&1`; then
|
||||||
|
PYTHON_CONFIG=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 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,13 +0,0 @@
|
|||||||
# define variables
|
|
||||||
|
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
top_builddir = @top_builddir@
|
|
||||||
FLAKE8 = @flake8_path@
|
|
||||||
RUNUTF8 = @runutf8@
|
|
||||||
PYTHON = @PYTHON3@
|
|
||||||
GREP = @GREP@
|
|
||||||
SED = @SED@
|
|
||||||
AWK = @AWK@
|
|
||||||
|
|
||||||
# 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/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: $!";
|
161
build-aux/bracket-spacing.pl
Executable file
161
build-aux/bracket-spacing.pl
Executable file
@@ -0,0 +1,161 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# bracket-spacing.pl: Report any usage of 'function (..args..)'
|
||||||
|
# Also check for other syntax issues, such as correct use of ';'
|
||||||
|
#
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
my $ret = 0;
|
||||||
|
my $incomment = 0;
|
||||||
|
|
||||||
|
foreach my $file (@ARGV) {
|
||||||
|
open FILE, $file;
|
||||||
|
|
||||||
|
while (defined (my $line = <FILE>)) {
|
||||||
|
my $data = $line;
|
||||||
|
|
||||||
|
# Kill any quoted , ; = or "
|
||||||
|
$data =~ s/'[";,=]'/'X'/g;
|
||||||
|
|
||||||
|
# Kill any quoted strings
|
||||||
|
$data =~ s,"([^\\\"]|\\.)*","XXX",g;
|
||||||
|
|
||||||
|
# Kill any C++ style comments
|
||||||
|
$data =~ s,//.*$,//,;
|
||||||
|
|
||||||
|
next if $data =~ /^#/;
|
||||||
|
|
||||||
|
# Kill contents of multi-line comments
|
||||||
|
# and detect end of multi-line comments
|
||||||
|
if ($incomment) {
|
||||||
|
if ($data =~ m,\*/,) {
|
||||||
|
$incomment = 0;
|
||||||
|
$data =~ s,^.*\*/,*/,;
|
||||||
|
} else {
|
||||||
|
$data = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Kill single line comments, and detect
|
||||||
|
# start of multi-line comments
|
||||||
|
if ($data =~ m,/\*.*\*/,) {
|
||||||
|
$data =~ s,/\*.*\*/,/* */,;
|
||||||
|
} elsif ($data =~ m,/\*,) {
|
||||||
|
$incomment = 1;
|
||||||
|
$data =~ s,/\*.*,/*,;
|
||||||
|
}
|
||||||
|
|
||||||
|
# We need to match things like
|
||||||
|
#
|
||||||
|
# int foo (int bar, bool wizz);
|
||||||
|
# foo (bar, wizz);
|
||||||
|
#
|
||||||
|
# but not match things like:
|
||||||
|
#
|
||||||
|
# typedef int (*foo)(bar wizz)
|
||||||
|
#
|
||||||
|
# we can't do this (efficiently) without
|
||||||
|
# missing things like
|
||||||
|
#
|
||||||
|
# foo (*bar, wizz);
|
||||||
|
#
|
||||||
|
while ($data =~ /(\w+)\s\((?!\*)/) {
|
||||||
|
my $kw = $1;
|
||||||
|
|
||||||
|
# Allow space after keywords only
|
||||||
|
if ($kw =~ /^(if|for|while|switch|return)$/) {
|
||||||
|
$data =~ s/($kw\s\()/XXX(/;
|
||||||
|
} else {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Require whitespace immediately after keywords,
|
||||||
|
# but none after the opening bracket
|
||||||
|
while ($data =~ /\b(if|for|while|switch|return)\(/ ||
|
||||||
|
$data =~ /\b(if|for|while|switch|return)\s+\(\s/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Forbid whitespace between )( of a function typedef
|
||||||
|
while ($data =~ /\(\*\w+\)\s+\(/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Forbid whitespace following ( or prior to )
|
||||||
|
while ($data =~ /\S\s+\)/ ||
|
||||||
|
$data =~ /\(\s+\S/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Forbid whitespace before ";" or ",". Things like below are allowed:
|
||||||
|
#
|
||||||
|
# 1) The expression is empty for "for" loop. E.g.
|
||||||
|
# for (i = 0; ; i++)
|
||||||
|
#
|
||||||
|
# 2) An empty statement. E.g.
|
||||||
|
# while (write(statuswrite, &status, 1) == -1 &&
|
||||||
|
# errno == EINTR)
|
||||||
|
# ;
|
||||||
|
#
|
||||||
|
while ($data =~ /[^;\s]\s+[;,]/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Require EOL, macro line continuation, or whitespace after ";".
|
||||||
|
# Allow "for (;;)" as an exception.
|
||||||
|
while ($data =~ /;[^ \\\n;)]/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Require EOL, space, or enum/struct end after comma.
|
||||||
|
while ($data =~ /,[^ \\\n)}]/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Require spaces around assignment '=', compounds and '=='
|
||||||
|
# with the exception of virAssertCmpInt()
|
||||||
|
$data =~ s/(virAssertCmpInt\(.* ).?=,/$1op,/;
|
||||||
|
while ($data =~ /[^ ]\b[!<>&|\-+*\/%\^=]?=[^=]/ ||
|
||||||
|
$data =~ /=[^= \\\n]/) {
|
||||||
|
print "$file:$.: $line";
|
||||||
|
$ret = 1;
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close FILE;
|
||||||
|
}
|
||||||
|
|
||||||
|
exit $ret;
|
@@ -1,162 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
#
|
|
||||||
# check-spacing.pl: Report any usage of 'function (..args..)'
|
|
||||||
# Also check for other syntax issues, such as correct use of ';'
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
my $ret = 0;
|
|
||||||
my $incomment = 0;
|
|
||||||
|
|
||||||
foreach my $file (@ARGV) {
|
|
||||||
open FILE, $file;
|
|
||||||
|
|
||||||
while (defined (my $line = <FILE>)) {
|
|
||||||
my $data = $line;
|
|
||||||
# For temporary modifications
|
|
||||||
my $tmpdata;
|
|
||||||
|
|
||||||
# Kill any quoted , ; = or "
|
|
||||||
$data =~ s/'[";,=]'/'X'/g;
|
|
||||||
|
|
||||||
# Kill any quoted strings
|
|
||||||
$data =~ s,"(?:[^\\\"]|\\.)*","XXX",g;
|
|
||||||
|
|
||||||
next if $data =~ /^#/;
|
|
||||||
|
|
||||||
# Kill contents of multi-line comments
|
|
||||||
# and detect end of multi-line comments
|
|
||||||
if ($incomment) {
|
|
||||||
if ($data =~ m,\*/,) {
|
|
||||||
$incomment = 0;
|
|
||||||
$data =~ s,^.*\*/,*/,;
|
|
||||||
} else {
|
|
||||||
$data = "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kill single line comments, and detect
|
|
||||||
# start of multi-line comments
|
|
||||||
if ($data =~ m,/\*.*\*/,) {
|
|
||||||
$data =~ s,/\*.*\*/,/* */,;
|
|
||||||
} elsif ($data =~ m,/\*,) {
|
|
||||||
$incomment = 1;
|
|
||||||
$data =~ s,/\*.*,/*,;
|
|
||||||
}
|
|
||||||
|
|
||||||
# We need to match things like
|
|
||||||
#
|
|
||||||
# int foo (int bar, bool wizz);
|
|
||||||
# foo (bar, wizz);
|
|
||||||
#
|
|
||||||
# but not match things like:
|
|
||||||
#
|
|
||||||
# typedef int (*foo)(bar wizz)
|
|
||||||
#
|
|
||||||
# we can't do this (efficiently) without
|
|
||||||
# missing things like
|
|
||||||
#
|
|
||||||
# foo (*bar, wizz);
|
|
||||||
#
|
|
||||||
# We also don't want to spoil the $data so it can be used
|
|
||||||
# later on.
|
|
||||||
$tmpdata = $data;
|
|
||||||
while ($tmpdata =~ /(\w+)\s\((?!\*)/) {
|
|
||||||
my $kw = $1;
|
|
||||||
|
|
||||||
# Allow space after keywords only
|
|
||||||
if ($kw =~ /^(?:if|for|while|switch|return)$/) {
|
|
||||||
$tmpdata =~ s/(?:$kw\s\()/XXX(/;
|
|
||||||
} else {
|
|
||||||
print "Whitespace after non-keyword:\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
last;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Require whitespace immediately after keywords
|
|
||||||
if ($data =~ /\b(?:if|for|while|switch|return)\(/) {
|
|
||||||
print "No whitespace after keyword:\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Forbid whitespace between )( of a function typedef
|
|
||||||
if ($data =~ /\(\*\w+\)\s+\(/) {
|
|
||||||
print "Whitespace between ')' and '(':\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Forbid whitespace following ( or prior to )
|
|
||||||
# but allow whitespace before ) on a single line
|
|
||||||
# (optionally followed by a semicolon)
|
|
||||||
if (($data =~ /\s\)/ && not $data =~ /^\s+\);?$/) ||
|
|
||||||
$data =~ /\((?!$)\s/) {
|
|
||||||
print "Whitespace after '(' or before ')':\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Forbid whitespace before ";" or ",". Things like below are allowed:
|
|
||||||
#
|
|
||||||
# 1) The expression is empty for "for" loop. E.g.
|
|
||||||
# for (i = 0; ; i++)
|
|
||||||
#
|
|
||||||
# 2) An empty statement. E.g.
|
|
||||||
# while (write(statuswrite, &status, 1) == -1 &&
|
|
||||||
# errno == EINTR)
|
|
||||||
# ;
|
|
||||||
#
|
|
||||||
if ($data =~ /\s[;,]/) {
|
|
||||||
unless ($data =~ /\S; ; / ||
|
|
||||||
$data =~ /^\s+;/) {
|
|
||||||
print "Whitespace before semicolon or comma:\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Require EOL, macro line continuation, or whitespace after ";".
|
|
||||||
# Allow "for (;;)" as an exception.
|
|
||||||
if ($data =~ /;[^ \\\n;)]/) {
|
|
||||||
print "Invalid character after semicolon:\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Require EOL, space, or enum/struct end after comma.
|
|
||||||
if ($data =~ /,[^ \\\n)}]/) {
|
|
||||||
print "Invalid character after comma:\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Require spaces around assignment '=', compounds and '=='
|
|
||||||
if ($data =~ /[^ ]\b[!<>&|\-+*\/%\^=]?=/ ||
|
|
||||||
$data =~ /=[^= \\\n]/) {
|
|
||||||
print "Spacing around '=' or '==':\n";
|
|
||||||
print "$file:$.: $line";
|
|
||||||
$ret = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close FILE;
|
|
||||||
}
|
|
||||||
|
|
||||||
exit $ret;
|
|
@@ -1,72 +0,0 @@
|
|||||||
flake8_path = ''
|
|
||||||
if flake8_prog.found()
|
|
||||||
flake8_path = flake8_prog.full_path()
|
|
||||||
endif
|
|
||||||
|
|
||||||
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', check: true)
|
|
||||||
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
|
|
||||||
|
|
||||||
awk_prog = find_program('awk')
|
|
||||||
|
|
||||||
syntax_check_conf = configuration_data({
|
|
||||||
'top_srcdir': meson.project_source_root(),
|
|
||||||
'top_builddir': meson.project_build_root(),
|
|
||||||
'flake8_path': flake8_path,
|
|
||||||
'runutf8': ' '.join(runutf8),
|
|
||||||
'PYTHON3': python3_prog.full_path(),
|
|
||||||
'GREP': grep_prog.full_path(),
|
|
||||||
'SED': sed_prog.full_path(),
|
|
||||||
'AWK': awk_prog.full_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(), 'sc_@0@'.format(target) ],
|
|
||||||
depends: [
|
|
||||||
potfiles_dep,
|
|
||||||
],
|
|
||||||
suite: 'syntax-check',
|
|
||||||
)
|
|
||||||
endforeach
|
|
||||||
endif
|
|
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,94 +0,0 @@
|
|||||||
==============
|
|
||||||
CI for libvirt
|
|
||||||
==============
|
|
||||||
|
|
||||||
This document provides some information related to the CI capabilities for the
|
|
||||||
libvirt project.
|
|
||||||
|
|
||||||
|
|
||||||
GitLab CI tuning
|
|
||||||
================
|
|
||||||
|
|
||||||
The behaviour of GitLab CI can be tuned through a number of variables
|
|
||||||
which can be set at push time, or through the UI. See ``ci/gitlab.yml``
|
|
||||||
for further details.
|
|
||||||
|
|
||||||
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-w64`_,
|
|
||||||
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-w64: https://www.mingw-w64.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,98 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
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 \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
yajl-devel
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,80 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
apk update
|
|
||||||
apk upgrade
|
|
||||||
apk add \
|
|
||||||
acl-dev \
|
|
||||||
attr-dev \
|
|
||||||
audit-dev \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
ceph-dev \
|
|
||||||
clang \
|
|
||||||
curl-dev \
|
|
||||||
cyrus-sasl-dev \
|
|
||||||
diffutils \
|
|
||||||
eudev-dev \
|
|
||||||
fuse-dev \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib-dev \
|
|
||||||
gnutls-dev \
|
|
||||||
grep \
|
|
||||||
iproute2 \
|
|
||||||
iptables \
|
|
||||||
kmod \
|
|
||||||
libcap-ng-dev \
|
|
||||||
libnl3-dev \
|
|
||||||
libpcap-dev \
|
|
||||||
libpciaccess-dev \
|
|
||||||
libselinux-dev \
|
|
||||||
libssh-dev \
|
|
||||||
libssh2-dev \
|
|
||||||
libtirpc-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-utils \
|
|
||||||
libxslt \
|
|
||||||
lvm2 \
|
|
||||||
lvm2-dev \
|
|
||||||
make \
|
|
||||||
meson \
|
|
||||||
musl-dev \
|
|
||||||
netcf-dev \
|
|
||||||
nfs-utils \
|
|
||||||
numactl-dev \
|
|
||||||
open-iscsi \
|
|
||||||
parted-dev \
|
|
||||||
perl \
|
|
||||||
pkgconf \
|
|
||||||
polkit \
|
|
||||||
py3-docutils \
|
|
||||||
py3-flake8 \
|
|
||||||
python3 \
|
|
||||||
qemu-img \
|
|
||||||
readline-dev \
|
|
||||||
samurai \
|
|
||||||
sed \
|
|
||||||
util-linux-dev \
|
|
||||||
wireshark-dev \
|
|
||||||
xen-dev \
|
|
||||||
yajl-dev
|
|
||||||
apk list | 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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,81 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
apk update
|
|
||||||
apk upgrade
|
|
||||||
apk add \
|
|
||||||
acl-dev \
|
|
||||||
attr-dev \
|
|
||||||
audit-dev \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
ceph-dev \
|
|
||||||
clang \
|
|
||||||
curl-dev \
|
|
||||||
cyrus-sasl-dev \
|
|
||||||
diffutils \
|
|
||||||
eudev-dev \
|
|
||||||
fuse-dev \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib-dev \
|
|
||||||
gnutls-dev \
|
|
||||||
grep \
|
|
||||||
iproute2 \
|
|
||||||
iptables \
|
|
||||||
kmod \
|
|
||||||
libcap-ng-dev \
|
|
||||||
libnl3-dev \
|
|
||||||
libpcap-dev \
|
|
||||||
libpciaccess-dev \
|
|
||||||
libselinux-dev \
|
|
||||||
libssh-dev \
|
|
||||||
libssh2-dev \
|
|
||||||
libtirpc-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-utils \
|
|
||||||
libxslt \
|
|
||||||
lvm2 \
|
|
||||||
lvm2-dev \
|
|
||||||
make \
|
|
||||||
meson \
|
|
||||||
musl-dev \
|
|
||||||
netcf-dev \
|
|
||||||
nfs-utils \
|
|
||||||
numactl-dev \
|
|
||||||
open-iscsi \
|
|
||||||
parted-dev \
|
|
||||||
perl \
|
|
||||||
pkgconf \
|
|
||||||
polkit \
|
|
||||||
py3-docutils \
|
|
||||||
py3-flake8 \
|
|
||||||
python3 \
|
|
||||||
qemu-img \
|
|
||||||
readline-dev \
|
|
||||||
rpcgen \
|
|
||||||
samurai \
|
|
||||||
sed \
|
|
||||||
util-linux-dev \
|
|
||||||
wireshark-dev \
|
|
||||||
xen-dev \
|
|
||||||
yajl-dev
|
|
||||||
apk list | 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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,99 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf distro-sync -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 epel-next-release
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
cpp \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
yajl-devel
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,98 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf distro-sync -y
|
|
||||||
dnf install 'dnf-command(config-manager)' -y
|
|
||||||
dnf config-manager --set-enabled -y crb
|
|
||||||
dnf install -y epel-release
|
|
||||||
dnf install -y epel-next-release
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
cpp \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
dwarves \
|
|
||||||
ebtables \
|
|
||||||
firewalld-filesystem \
|
|
||||||
fuse-devel \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib2-devel \
|
|
||||||
glibc-devel \
|
|
||||||
glibc-langpack-en \
|
|
||||||
gnutls-devel \
|
|
||||||
grep \
|
|
||||||
iproute \
|
|
||||||
iproute-tc \
|
|
||||||
iptables \
|
|
||||||
iscsi-initiator-utils \
|
|
||||||
kmod \
|
|
||||||
libacl-devel \
|
|
||||||
libattr-devel \
|
|
||||||
libblkid-devel \
|
|
||||||
libcap-ng-devel \
|
|
||||||
libcurl-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-pip \
|
|
||||||
python3-setuptools \
|
|
||||||
python3-wheel \
|
|
||||||
qemu-img \
|
|
||||||
readline-devel \
|
|
||||||
rpcgen \
|
|
||||||
rpm-build \
|
|
||||||
sanlock-devel \
|
|
||||||
scrub \
|
|
||||||
sed \
|
|
||||||
systemd-devel \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
yajl-devel
|
|
||||||
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
|
|
||||||
/usr/bin/pip3 install flake8
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,115 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture arm64
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="aarch64-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=aarch64-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture armel
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="arm-linux-gnueabi"
|
|
||||||
export MESON_OPTS="--cross-file=arm-linux-gnueabi"
|
|
@@ -1,115 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture armhf
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="arm-linux-gnueabihf"
|
|
||||||
export MESON_OPTS="--cross-file=arm-linux-gnueabihf"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture i386
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="i686-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=i686-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture mips64el
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="mips64el-linux-gnuabi64"
|
|
||||||
export MESON_OPTS="--cross-file=mips64el-linux-gnuabi64"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture mipsel
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="mipsel-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=mipsel-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture ppc64el
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="powerpc64le-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=powerpc64le-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture s390x
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="s390x-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=s390x-linux-gnu"
|
|
@@ -1,98 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,115 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture arm64
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="aarch64-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=aarch64-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture armel
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="arm-linux-gnueabi"
|
|
||||||
export MESON_OPTS="--cross-file=arm-linux-gnueabi"
|
|
@@ -1,115 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture armhf
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="arm-linux-gnueabihf"
|
|
||||||
export MESON_OPTS="--cross-file=arm-linux-gnueabihf"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture i386
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="i686-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=i686-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture mips64el
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="mips64el-linux-gnuabi64"
|
|
||||||
export MESON_OPTS="--cross-file=mips64el-linux-gnuabi64"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture mipsel
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="mipsel-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=mipsel-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture ppc64el
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="powerpc64le-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=powerpc64le-linux-gnu"
|
|
@@ -1,114 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen
|
|
||||||
dpkg-reconfigure locales
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
dpkg --add-architecture s390x
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y dpkg-dev
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="s390x-linux-gnu"
|
|
||||||
export MESON_OPTS="--cross-file=s390x-linux-gnu"
|
|
@@ -1,97 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,97 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-devel \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
xen-devel \
|
|
||||||
yajl-devel
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,74 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y
|
|
||||||
dnf install -y \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="i686-w64-mingw32"
|
|
||||||
export MESON_OPTS="--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
|
|
@@ -1,74 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y
|
|
||||||
dnf install -y \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="x86_64-w64-mingw32"
|
|
||||||
export MESON_OPTS="--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
|
|
@@ -1,96 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-devel \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
xen-devel \
|
|
||||||
yajl-devel
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,75 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y --nogpgcheck fedora-gpg-keys
|
|
||||||
dnf distro-sync -y
|
|
||||||
dnf install -y \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="i686-w64-mingw32"
|
|
||||||
export MESON_OPTS="--cross-file=/usr/share/mingw/toolchain-mingw32.meson"
|
|
@@ -1,75 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y --nogpgcheck fedora-gpg-keys
|
|
||||||
dnf distro-sync -y
|
|
||||||
dnf install -y \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
||||||
|
|
||||||
export ABI="x86_64-w64-mingw32"
|
|
||||||
export MESON_OPTS="--cross-file=/usr/share/mingw/toolchain-mingw64.meson"
|
|
@@ -1,97 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
dnf update -y --nogpgcheck fedora-gpg-keys
|
|
||||||
dnf distro-sync -y
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
cppi \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-devel \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
xen-devel \
|
|
||||||
yajl-devel
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,99 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
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 \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
xen-devel
|
|
||||||
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
|
|
||||||
/usr/bin/pip3 install meson==0.56.0
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,96 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
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 \
|
|
||||||
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 \
|
|
||||||
python39-flake8 \
|
|
||||||
qemu-tools \
|
|
||||||
readline-devel \
|
|
||||||
rpcgen \
|
|
||||||
rpm-build \
|
|
||||||
sanlock-devel \
|
|
||||||
scrub \
|
|
||||||
sed \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
systemtap-sdt-devel \
|
|
||||||
wireshark-devel \
|
|
||||||
xen-devel
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,102 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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
|
|
||||||
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
|
|
||||||
/usr/bin/pip3 install meson==0.56.0
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -1,98 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
function install_buildenv() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update
|
|
||||||
apt-get dist-upgrade -y
|
|
||||||
apt-get install --no-install-recommends -y \
|
|
||||||
augeas-lenses \
|
|
||||||
augeas-tools \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
codespell \
|
|
||||||
cpp \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
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 \
|
|
||||||
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
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
|
|
||||||
export LANG="en_US.UTF-8"
|
|
||||||
export MAKE="/usr/bin/make"
|
|
||||||
export NINJA="/usr/bin/ninja"
|
|
||||||
export PYTHON="/usr/bin/python3"
|
|
@@ -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 --print-errorlogs || (cat ~/Library/Logs/DiagnosticReports/*.crash && exit 1)
|
|
@@ -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 fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py39-docutils py39-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 fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py39-docutils py39-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 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/almalinux: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 \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
@@ -1,80 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
FROM docker.io/library/alpine:3.15
|
|
||||||
|
|
||||||
RUN apk update && \
|
|
||||||
apk upgrade && \
|
|
||||||
apk add \
|
|
||||||
acl-dev \
|
|
||||||
attr-dev \
|
|
||||||
audit-dev \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
ceph-dev \
|
|
||||||
clang \
|
|
||||||
curl-dev \
|
|
||||||
cyrus-sasl-dev \
|
|
||||||
diffutils \
|
|
||||||
eudev-dev \
|
|
||||||
fuse-dev \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib-dev \
|
|
||||||
gnutls-dev \
|
|
||||||
grep \
|
|
||||||
iproute2 \
|
|
||||||
iptables \
|
|
||||||
kmod \
|
|
||||||
libcap-ng-dev \
|
|
||||||
libnl3-dev \
|
|
||||||
libpcap-dev \
|
|
||||||
libpciaccess-dev \
|
|
||||||
libselinux-dev \
|
|
||||||
libssh-dev \
|
|
||||||
libssh2-dev \
|
|
||||||
libtirpc-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-utils \
|
|
||||||
libxslt \
|
|
||||||
lvm2 \
|
|
||||||
lvm2-dev \
|
|
||||||
make \
|
|
||||||
meson \
|
|
||||||
musl-dev \
|
|
||||||
netcf-dev \
|
|
||||||
nfs-utils \
|
|
||||||
numactl-dev \
|
|
||||||
open-iscsi \
|
|
||||||
parted-dev \
|
|
||||||
perl \
|
|
||||||
pkgconf \
|
|
||||||
polkit \
|
|
||||||
py3-docutils \
|
|
||||||
py3-flake8 \
|
|
||||||
python3 \
|
|
||||||
qemu-img \
|
|
||||||
readline-dev \
|
|
||||||
samurai \
|
|
||||||
sed \
|
|
||||||
util-linux-dev \
|
|
||||||
wireshark-dev \
|
|
||||||
xen-dev \
|
|
||||||
yajl-dev && \
|
|
||||||
apk list | 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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
@@ -1,81 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
FROM docker.io/library/alpine:edge
|
|
||||||
|
|
||||||
RUN apk update && \
|
|
||||||
apk upgrade && \
|
|
||||||
apk add \
|
|
||||||
acl-dev \
|
|
||||||
attr-dev \
|
|
||||||
audit-dev \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
ceph-dev \
|
|
||||||
clang \
|
|
||||||
curl-dev \
|
|
||||||
cyrus-sasl-dev \
|
|
||||||
diffutils \
|
|
||||||
eudev-dev \
|
|
||||||
fuse-dev \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib-dev \
|
|
||||||
gnutls-dev \
|
|
||||||
grep \
|
|
||||||
iproute2 \
|
|
||||||
iptables \
|
|
||||||
kmod \
|
|
||||||
libcap-ng-dev \
|
|
||||||
libnl3-dev \
|
|
||||||
libpcap-dev \
|
|
||||||
libpciaccess-dev \
|
|
||||||
libselinux-dev \
|
|
||||||
libssh-dev \
|
|
||||||
libssh2-dev \
|
|
||||||
libtirpc-dev \
|
|
||||||
libxml2-dev \
|
|
||||||
libxml2-utils \
|
|
||||||
libxslt \
|
|
||||||
lvm2 \
|
|
||||||
lvm2-dev \
|
|
||||||
make \
|
|
||||||
meson \
|
|
||||||
musl-dev \
|
|
||||||
netcf-dev \
|
|
||||||
nfs-utils \
|
|
||||||
numactl-dev \
|
|
||||||
open-iscsi \
|
|
||||||
parted-dev \
|
|
||||||
perl \
|
|
||||||
pkgconf \
|
|
||||||
polkit \
|
|
||||||
py3-docutils \
|
|
||||||
py3-flake8 \
|
|
||||||
python3 \
|
|
||||||
qemu-img \
|
|
||||||
readline-dev \
|
|
||||||
rpcgen \
|
|
||||||
samurai \
|
|
||||||
sed \
|
|
||||||
util-linux-dev \
|
|
||||||
wireshark-dev \
|
|
||||||
xen-dev \
|
|
||||||
yajl-dev && \
|
|
||||||
apk list | 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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
@@ -1,101 +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 distro-sync -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 epel-next-release && \
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
cpp \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
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 \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
@@ -1,101 +0,0 @@
|
|||||||
# THIS FILE WAS AUTO-GENERATED
|
|
||||||
#
|
|
||||||
# $ lcitool manifest ci/manifest.yml
|
|
||||||
#
|
|
||||||
# https://gitlab.com/libvirt/libvirt-ci
|
|
||||||
|
|
||||||
FROM quay.io/centos/centos:stream9
|
|
||||||
|
|
||||||
RUN dnf distro-sync -y && \
|
|
||||||
dnf install 'dnf-command(config-manager)' -y && \
|
|
||||||
dnf config-manager --set-enabled -y crb && \
|
|
||||||
dnf install -y epel-release && \
|
|
||||||
dnf install -y epel-next-release && \
|
|
||||||
dnf install -y \
|
|
||||||
audit-libs-devel \
|
|
||||||
augeas \
|
|
||||||
bash-completion \
|
|
||||||
ca-certificates \
|
|
||||||
ccache \
|
|
||||||
clang \
|
|
||||||
cpp \
|
|
||||||
cyrus-sasl-devel \
|
|
||||||
device-mapper-devel \
|
|
||||||
diffutils \
|
|
||||||
dwarves \
|
|
||||||
ebtables \
|
|
||||||
firewalld-filesystem \
|
|
||||||
fuse-devel \
|
|
||||||
gcc \
|
|
||||||
gettext \
|
|
||||||
git \
|
|
||||||
glib2-devel \
|
|
||||||
glibc-devel \
|
|
||||||
glibc-langpack-en \
|
|
||||||
gnutls-devel \
|
|
||||||
grep \
|
|
||||||
iproute \
|
|
||||||
iproute-tc \
|
|
||||||
iptables \
|
|
||||||
iscsi-initiator-utils \
|
|
||||||
kmod \
|
|
||||||
libacl-devel \
|
|
||||||
libattr-devel \
|
|
||||||
libblkid-devel \
|
|
||||||
libcap-ng-devel \
|
|
||||||
libcurl-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-pip \
|
|
||||||
python3-setuptools \
|
|
||||||
python3-wheel \
|
|
||||||
qemu-img \
|
|
||||||
readline-devel \
|
|
||||||
rpcgen \
|
|
||||||
rpm-build \
|
|
||||||
sanlock-devel \
|
|
||||||
scrub \
|
|
||||||
sed \
|
|
||||||
systemd-devel \
|
|
||||||
systemd-rpm-macros \
|
|
||||||
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
|
|
||||||
|
|
||||||
RUN /usr/bin/pip3 install flake8
|
|
||||||
|
|
||||||
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
@@ -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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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: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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
@@ -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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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,120 +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 \
|
|
||||||
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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
|
|
||||||
ENV LANG "en_US.UTF-8"
|
|
||||||
ENV MAKE "/usr/bin/make"
|
|
||||||
ENV NINJA "/usr/bin/ninja"
|
|
||||||
ENV PYTHON "/usr/bin/python3"
|
|
||||||
|
|
||||||
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"
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user