libguestfs: Use python3 for builds and the Python PIP package.
[goaljobs-goals.git] / config.ml
1 (* This contains lots of configuration specifics which are
2  * unlikely to be useful unless you are me ...
3  *)
4
5 open Goaljobs
6 open Printf
7
8 (* General. *)
9 let buildtmp = sprintf "%s/tmp/builds" (Sys.getenv "HOME")
10
11 (* Fedora *)
12 let fedora_dir = Sys.getenv "HOME" // "d/fedora"
13 let fedora_repo pkg branch = fedora_dir // pkg // branch
14 let fedora_specfile pkg branch =
15   sprintf "%s/%s.spec" (fedora_repo pkg branch) pkg
16
17 (* libguestfs *)
18 let libguestfs_query_mins = 60
19
20 let websites_repo =
21   sprintf "%s/d/websites" (Sys.getenv "HOME")
22 let libguestfs_website_repo =
23   sprintf "%s/libguestfs" websites_repo
24 let libguestfs_builder_repo =
25   sprintf "%s/libguestfs-builder" websites_repo
26 let libguestfs_download_repo =
27   sprintf "%s/libguestfs-download" websites_repo
28
29 let libguestfs_localconfigure source =
30   let configure =
31     match source with
32       `Git -> "./autogen.sh"
33     | `Tarball -> "./configure" in
34   sprintf "\
35 #!/bin/bash -
36 . localenv
37
38 # erlang is disabled because it is broken in Rawhide:
39 # https://bugzilla.redhat.com/show_bug.cgi?id=1316206
40
41 %s \\
42   PYTHON=/usr/bin/python3 \\
43   --prefix /usr \\
44   --disable-static \\
45   --with-default-backend=libvirt \\
46   --enable-gtk-doc \\
47   --disable-golang \\
48   --disable-erlang \\
49   --with-virt-v2v-nbdkit-python-plugin=python3 \\
50   -C \\
51   \"$@\"
52 " configure
53
54 let libguestfs_localenv supermin =
55   "\
56 # Use the real virt-builder configuration from /etc.
57 export XDG_CONFIG_DIRS=/etc
58
59 # Fails under valgrind because of a leak in the fuse library,
60 # although I could not work out exactly why.
61 export SKIP_TEST_PARALLEL_MOUNT_LOCAL=1
62
63 # Fails under valgrind because cpio subprocess has a memory leak.
64 export SKIP_TEST_FILE_ARCHITECTURE_11=1
65 export SKIP_TEST_FILE_ARCHITECTURE_15=1
66
67 # Fails under valgrind because xzcat subprocess has a memory leak.
68 export SKIP_TEST_FILE_ARCHITECTURE_17=1
69
70 # This test fails because we build the ISO after encoding the checksum
71 # of the ISO in the test itself.  Need to fix the test to work out the
72 # checksum at runtime.
73 export SKIP_TEST_CHECKSUM_DEVICE=1
74
75 # Disable parallel virt-alignment-scan & virt-df tests (RHBZ#1025942).
76 export SKIP_TEST_VIRT_ALIGNMENT_SCAN_GUESTS_SH=1
77 export SKIP_TEST_VIRT_DF_GUESTS_SH=1
78
79 # fusermount behaviour seems to have broken the test (RHBZ#1220751).
80 export SKIP_TEST_FUSE_UMOUNT_RACE_SH=1
81 export SKIP_TEST_GUESTMOUNT_FD=1
82
83 # xfs_admin has no effect in Rawhide (RHBZ#1233220).
84 export SKIP_TEST_XFS_ADMIN=1
85 export SKIP_TEST_XFS_MISC_PL=1
86
87 # syslinux broken by mtools (RHBZ#1275087).
88 export SKIP_TEST_SYSLINUX_PL=1
89
90 # See https://www.redhat.com/archives/libguestfs/2015-November/msg00144.html
91 export SKIP_TEST_INOTIFY_ADD_WATCH=1
92
93 # libguestfs: error: mkfs_btrfs: /dev/sda1: not enough free space
94 # (RHBZ#1291715).
95 export SKIP_TEST_BTRFS_IMAGE_0=1
96
97 # Yawn, btrfs broken again. RHBZ#1372037
98 export SKIP_TEST_BTRFS_DEVICES_SH=1
99
100 # Kernel takes lots of RAM for virtio-scsi RHBZ#1478201
101 export SKIP_TEST_255_DISKS_SH=1
102 export SKIP_TEST_ADD_LOTS_OF_DISKS_SH=1
103
104 # virtio-9p modules don't all get loaded RHBZ#1499896
105 export SKIP_TEST_9P_SH=1
106
107 # These tests are broken by libvirt not supporting qemu >= 2.10 locking.
108 # REMOVE THIS when fixed.
109 export SKIP_TEST820RHBZ912499_PY=1
110
111 # ntfsclone is broken in Rawhide (RHBZ#1601146).
112 export SKIP_TEST_NTFSCLONE_SH=1
113
114 # Kernel broken.
115 # https://bugzilla.redhat.com/show_bug.cgi?id=1657200
116 export SKIP_TEST_BIG_DIRS_PL=1
117
118 # Setting hostname on Ubuntu 18.04 is broken.
119 # https://bugzilla.redhat.com/show_bug.cgi?id=1658307
120 export SKIP_TEST_SETTINGS_UBUNTU_18_04_SH=1
121 " ^
122     match supermin with
123     | None -> ""
124     | Some (supermin, supermin_helper) ->
125       sprintf "\
126 # Needs a modified path to supermin binaries:
127 export SUPERMIN=%s
128 export SUPERMIN_HELPER=%s
129
130 " supermin supermin_helper