├── README.md
├── data
├── 7.6
│ ├── centos_rpm_sourcerpm-2018-09-12.txt
│ ├── comparison-XS7.5-XS7.6.txt
│ └── download-centos-2018-09-12.log
├── 8.0
│ ├── comparison-XS7.6-CH8.0.txt
│ ├── packages_provenance.csv
│ └── yum-builddep.log
├── 8.1
│ ├── comparison-CH8.0-CH8.1.txt
│ ├── packages_provenance.csv
│ └── yum-builddep.log
├── 8.2
│ ├── comparison-CH8.1-CH8.2.txt
│ ├── comparison-CH8.2-CH8.2.1-SRPMs.txt
│ ├── comparison-CH8.2-CH8.2.1.txt
│ └── packages_provenance.csv
├── 8.3
│ ├── comparison-CH8.2.1-CH8.3preview-RPMs.txt
│ ├── comparison-CH8.2.1-CH8.3preview-SRPMs.txt
│ └── packages_provenance.csv
├── centos_rpm_sourcerpm-2019-02-11.txt
├── epel_rpm_sourcerpm-2019-02-11.txt
├── epel_rpm_sourcerpm-2019-05-06.txt
├── epel_rpm_sourcerpm-2021-03-18.txt
├── epel_rpm_sourcerpm-2021-05-03.txt
└── epel_rpm_sourcerpm-2021-08-09.txt
├── iso
├── 7.4
│ ├── .treeinfo
│ ├── README.md
│ ├── boot
│ │ └── isolinux
│ │ │ ├── pg_help
│ │ │ ├── pg_main
│ │ │ └── splash.lss
│ └── groups.xml
├── 7.5
│ ├── .treeinfo
│ ├── EULA
│ ├── LICENSES
│ ├── README.md
│ ├── boot
│ │ └── isolinux
│ │ │ ├── pg_help
│ │ │ ├── pg_main
│ │ │ └── splash.lss
│ ├── groups-XS.xml
│ ├── groups.xml
│ └── install
│ │ └── EULA
├── 7.6
│ ├── .treeinfo
│ ├── EULA
│ ├── LICENSES
│ ├── README.md
│ ├── boot
│ │ └── isolinux
│ │ │ ├── pg_help
│ │ │ ├── pg_main
│ │ │ └── splash.lss
│ ├── groups-XS.xml
│ ├── groups.xml
│ └── install
│ │ └── EULA
├── 8.0
│ ├── .treeinfo
│ ├── EULA
│ ├── LICENSES
│ ├── README.md
│ ├── boot
│ │ └── isolinux
│ │ │ ├── pg_help
│ │ │ ├── pg_main
│ │ │ └── splash.lss
│ ├── groups-XS.xml
│ ├── groups.xml
│ └── install
│ │ └── EULA
├── 8.1
│ ├── .treeinfo
│ ├── README.md
│ ├── boot
│ │ └── isolinux
│ │ │ ├── pg_help
│ │ │ ├── pg_main
│ │ │ └── splash.lss
│ └── groups-XS.xml
├── 8.2.1
│ ├── .treeinfo
│ └── boot
│ │ └── isolinux
│ │ ├── pg_help
│ │ ├── pg_main
│ │ └── splash.lss
├── 8.2
│ ├── .treeinfo
│ ├── README.md
│ ├── boot
│ │ └── isolinux
│ │ │ ├── pg_help
│ │ │ ├── pg_main
│ │ │ └── splash.lss
│ └── groups-XS.xml
└── 8.3
│ ├── .treeinfo
│ ├── boot
│ └── isolinux
│ │ ├── pg_help
│ │ ├── pg_main
│ │ └── splash.lss
│ └── comps-XS.xml
├── misc
├── assets
│ ├── logo-glossy-small.png
│ ├── stretch-goals-ks-campaign.png
│ └── xcp-ng-hiw.png
├── ks_pledges.md
├── ks_project_description.md
└── ks_script.md
├── pyproject.toml
├── scripts
├── .gitignore
├── compare_packages.py
├── create_rpm_git_repo.py
├── diff_rpms.sh
├── download_centos.py
├── gen-iso.sh
├── import_srpm.py
├── iso-remaster
│ ├── README.md
│ ├── iso-remaster.sh
│ └── samples
│ │ ├── patch-installimg.sh
│ │ └── patch-iso.sh
├── koji
│ ├── README.md
│ ├── create_user_target.py
│ ├── koji_build.py
│ ├── koji_garbage_collector.sh
│ ├── koji_import_rpms.py
│ ├── mock-chroot-cleanup
│ ├── requirements.txt
│ ├── sync_repo_from_koji.py
│ ├── untag_lone_builds.py
│ └── update_vendor_tags.py
├── manage-isos.sh
├── pkg_in_pipe
│ ├── .gitignore
│ ├── Dockerfile
│ ├── README.md
│ └── pkg_in_pipe.py
├── retire_rpm_git_repo.py
├── rpm_owners
│ ├── clean.py
│ ├── packages.json
│ └── set_github_code_owners.py
├── rpmwatcher
│ ├── README.md
│ ├── docker_commands.txt
│ ├── rpmwatcher_extract_deps.py
│ ├── rpmwatcher_extract_roles.py
│ ├── rpmwatcher_format_reports.py
│ ├── rpmwatcher_update.py
│ ├── run.sh
│ └── sync_repos.sh
└── setup_offline_xcpng_repos
└── setup.cfg
/README.md:
--------------------------------------------------------------------------------
1 |
XCP-ng
2 | Turnkey Open Source Virtualization Platform
3 |
4 | 
5 |
6 | XCP-ng: the user-friendly, high-performance virtualization solution, developed collaboratively for unrestricted features and open-source accessibility.
7 |
8 | ## ⚡️ Quick start
9 |
10 | Download [the ISO here](https://mirrors.xcp-ng.org/isos/8.2/xcp-ng-8.2.1.iso?https=1), and [install it](https://xcp-ng.org/#easy-to-install) on your own hardware.
11 |
12 | ## 📚 Documentation
13 |
14 | The official documentation is available at https://docs.xcp-ng.org
15 |
16 | ## 🚀 Features
17 |
18 | - **Powerful virtualization platform**: run, snapshot, live migrate & grow any kind of workload/Operating system on top of XCP-ng, even containers!
19 | - **Turnkey:** no complicated setup, XCP-ng is a true appliance with everything pre-configured and ready to run your VMs!
20 | - **Security:** based on the Xen hypervisor technology, XCP-ng is one of the most secure virtualization platform on the market, both technologically and with a really [serious security workflow](https://docs.xcp-ng.org/project/security).
21 | - **Manageable at scale:** there's many integrated ways to manage your XCP-ng host, both locally and remotely with a CLI, GUI and API. [Xen Orchestra](https://vates.tech/xen-orchestra/) is the de facto administration & backup platform for it.
22 | - **Fully Open Source:** no paywalls or complicated licenses, all the features are free
23 | - **Pro supported:** want to run in production? XCP-ng is part of the [Vates VMS](https://vates.tech/) stack that got you covered from the virtualization platform to the administration & backup tools.
24 |
25 | ## 📸 Screenshots
26 |
27 | 
28 |
29 | 
30 |
31 | ## 🧑🚀 Community
32 |
33 | XCP-ng has a living community that you can join on our [forum](https://xcp-ng.org/forum/).
34 |
35 | The project is open to [contributions](https://docs.xcp-ng.org/project/contributing/), [bug reports](https://github.com/xcp-ng/xcp/wiki/How-to-report-bugs) and you can also [host a mirror](https://github.com/xcp-ng/xcp/wiki/Mirrors) for XCP-ng.
36 |
--------------------------------------------------------------------------------
/iso/7.4/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 2.5.0
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 7.4.0
8 |
9 | [build]
10 | number = release/jura/master/100
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-XS-7-LCM
14 | key2 = RPM-GPG-KEY-XS-7
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 |
--------------------------------------------------------------------------------
/iso/7.4/README.md:
--------------------------------------------------------------------------------
1 | ## How to build XCP-ng ISO
2 |
3 | ### Splash image and other
4 |
5 | In your ISO folder, you need to create a `boot/isolinux` and add:
6 |
7 | * `pg_help`
8 | * `pg_main`
9 | * `splash.lss` (see below)
10 |
11 | In the root SO folder:
12 |
13 | * `.treeinfo`
14 |
15 | To generate the splash image (`boot/isolinux/splash.lss`), you need:
16 |
17 | * a 640x240 banner
18 | * In Gimp: Image/mode/index colors/14 (=16 including B&W)
19 | * export in gif format, ie `splash.gif`
20 | * `giftopnm < splash.gif > splash.ppm`
21 | * `ppmtolss16 < splash.ppm > splash.lss`
22 |
23 | > Note: in Fedora/CentOS/RH like, those packages are needed to create the splash image:
24 |
25 | * `syslinux-perl`
26 | * `netpbm-progs`
27 |
28 | ### Create repodata
29 |
30 | Go into the future ISO folder, and run `createrepo` using the `groups.xml` in this repo:
31 |
32 |
33 | ```
34 | # createrepo . -o . -g ../groups.xml
35 | ```
36 |
37 | ### install.img modification
38 |
39 | 1. `bzip2 -d install.img`
40 | 2. `mkdir tmp && cd tmp && cpio -id < ../install.img.out`
41 | 3. Edit your files
42 | 4. As root (because of some read-protected files such as etc/gshadow-): `find . | cpio --create --format='newc' > /tmp/newinstall`
43 | 5. `bzip2 /tmp/newinstall`
44 | 6. `mv /tmp/newinstall /tmp/install.img`
45 | 7. Replace it into the ISO
46 |
47 | ### ISO generation
48 |
49 | You need `genisoimage` program.
50 |
51 | Usage:
52 |
53 | ```
54 | # cd isofolder/
55 | # genisoimage -o ../xcpng.iso -v -r -J -V "XCP-ng 7.4" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
56 | ```
57 |
58 | This will create a `xcpng.iso` file into your parent directory.
59 |
60 | To get the ISO bootable on USB:
61 |
62 | ```
63 | # isohybrid --uefi xcpng.iso
64 | ```
65 | ### Write the ISO to a USB key
66 |
67 | ```
68 | # dd if=xcpng.iso of=/dev/sdX bs=4M status=progress oflag=direct && sync
69 | ```
70 |
71 | ### Misc
72 |
73 | To get modify a package description without "rebuilding" it completely, you can use `rpmrebuild -e -p your.rpm`
74 |
--------------------------------------------------------------------------------
/iso/7.4/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade without a serial console, type
8 | 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | (This is an advanced option and should be used with care and as
13 | directed by a Technical Support Representative.)
14 | - To perform a memory test, type 0ememtest 05.
15 |
16 | 0f[F1-Standard] [F2-Advanced]05
17 |
--------------------------------------------------------------------------------
/iso/7.4/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/7.4/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/7.4/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/7.4/groups.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | QCS-CLI
12 | QConvergeConsoleCLI-Citrix
13 | aic94xx-firmware
14 | bash-completion
15 | blktap
16 | bzip2
17 | cifs-utils
18 | compat-db47
19 | compat-libstdc++-33
20 | control-slice
21 | conversion-plugin
22 | cronie-noanacron
23 | dlm
24 | dracut-network
25 | e2fsprogs
26 | efibootmgr
27 | elxocmcore
28 | expect
29 | fcoe-utils
30 | fontconfig
31 | gdisk
32 | gfs2-utils
33 | gnu-free-sans-fonts
34 | gnupg
35 | gpumon
36 | grub-efi
37 | grub
38 | guest-templates-json-data-linux
39 | guest-templates-json-data-other
40 | guest-templates-json-data-windows
41 | host-upgrade-plugin
42 | interface-rename
43 | ipmitool
44 | ipset
45 | irqbalance
46 | iscsi-initiator-utils
47 | kbd
48 | kexec-tools
49 | linux-firmware
50 | linux-guest-loader-data
51 | linux-guest-loader
52 | livepatch-utils
53 | lsof
54 | makedumpfile
55 | mcelog
56 | mdadm
57 | memtest86+
58 | microcode_ctl
59 | module-init-tools
60 | nano
61 | net-snmp
62 | nfs-utils
63 | ntp
64 | ocaml-xenops-tools
65 | openssh-clients
66 | openssh-server
67 | openssl-perl
68 | openvswitch
69 | oprofile
70 | parted
71 | pbis-open
72 | plymouth-graphics-libs
73 | plymouth-plugin-script
74 | plymouth
75 | pmtools
76 | policycoreutils
77 | portmap
78 | pyserial
79 | python-fasteners
80 | redhat-lsb-core
81 | redhat-lsb-submod-security
82 | rootfiles
83 | rrd2csv
84 | rrdd-plugins
85 | rsync
86 | rsyslog
87 | samba-client
88 | samba-winbind-clients
89 | screen
90 | sharutils
91 | sm-cli
92 | sm-rawhba
93 | sm
94 | smartmontools
95 | squeezed
96 | strace
97 | stunnel_xs
98 | sudo
99 | sysfsutils
100 | sysstat
101 | system-config-firewall-tui
102 | systemtap-runtime
103 | tcpdump
104 | telnet
105 | unzip
106 | usbutils
107 | vconfig
108 | vcputune
109 | vendor-drivers
110 | vendor-update-keys
111 | vgpu
112 | vhd-tool
113 | vhostmd
114 | vncsnapshot
115 | vncterm
116 | wget
117 | wsproxy
118 | xapi-nbd
119 | xapi-storage-script
120 | xapi-storage
121 | xapi-tests
122 | xcp-networkd
123 | xcp-rrdd
124 | xdelta
125 | xen-crashdump-analyser
126 | xen-device-model
127 | xengt-modules
128 | xenopsd-xc
129 | xenopsd-xenlight
130 | xenserver-dracut
131 | xenserver-firstboot
132 | xenserver-hwdata
133 | xenserver-status-report
134 | xenserver-transfer-vm
135 | xha
136 | xsconsole
137 | yum
138 | zip
139 |
140 |
141 |
142 |
143 | xenserver_dom0
144 | false
145 | true
146 | XenServer Dom0
147 |
148 |
149 | xenserver_base
150 |
151 |
152 | bugtool-conn-tests
153 | guest-templates-json-data-xenapp
154 | xcp-featured
155 | xcp-python-libs-xenserver
156 | xencenter
157 | xcp-ng-plymouth-theme
158 | xenserver-pv-tools
159 | xenserver-release-config
160 | xenserver-release
161 |
162 |
163 |
164 |
--------------------------------------------------------------------------------
/iso/7.5/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 2.6.0
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 7.5.0
8 |
9 | [build]
10 | number = release/kolkata/master/29
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-XS-7-LCM
14 | key2 = RPM-GPG-KEY-XS-7
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 |
--------------------------------------------------------------------------------
/iso/7.5/EULA:
--------------------------------------------------------------------------------
1 | The programs included with the XCP-ng system are free software. To know more about licenses of all programs, please read each COPYING file in the /usr/share/doc/* folders.
2 |
3 | XCP-ng comes with no warranty, to the extent permitted by applicable law.
4 |
5 | For more info on XCP-ng, please check https://xcp-ng.org
6 | Professional support for production environment is available on https://xcp-ng.com
7 |
8 |
--------------------------------------------------------------------------------
/iso/7.5/README.md:
--------------------------------------------------------------------------------
1 | ## How to build XCP-ng ISO
2 |
3 | ### Splash image and other
4 |
5 | In your ISO folder, you need to create a `boot/isolinux` and add:
6 |
7 | * `pg_help`
8 | * `pg_main`
9 | * `splash.lss` (see below)
10 |
11 | In the root SO folder:
12 |
13 | * `.treeinfo`
14 |
15 | To generate the splash image (`boot/isolinux/splash.lss`), you need:
16 |
17 | * a 640x240 banner
18 | * In Gimp: Image/mode/index colors/14 (=16 including B&W)
19 | * export in gif format, ie `splash.gif`
20 | * `giftopnm < splash.gif > splash.ppm`
21 | * `ppmtolss16 < splash.ppm > splash.lss`
22 |
23 | > Note: in Fedora/CentOS/RH like, those packages are needed to create the splash image:
24 |
25 | * `syslinux-perl`
26 | * `netpbm-progs`
27 |
28 | ### Create repodata
29 |
30 | Go into the future ISO folder, and run `createrepo` using the `groups.xml` in this repo:
31 |
32 |
33 | ```
34 | # createrepo . -o . -g ../groups.xml
35 | ```
36 |
37 | ### install.img modification
38 |
39 | 1. `bzip2 -d install.img`
40 | 2. `mkdir tmp && cd tmp && cpio -id < ../install.img.out`
41 | 3. Edit your files
42 | 4. As root (because of some read-protected files such as etc/gshadow-): `find . | cpio --create --format='newc' > /tmp/newinstall`
43 | 5. `bzip2 /tmp/newinstall`
44 | 6. `mv /tmp/newinstall /tmp/install.img`
45 | 7. Replace it into the ISO
46 |
47 | ### ISO generation
48 |
49 | You need `genisoimage` program.
50 |
51 | Usage:
52 |
53 | ```
54 | # cd isofolder/
55 | # genisoimage -o ../xcpng.iso -v -r -J -V "XCP-ng 7.4" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
56 | ```
57 |
58 | This will create a `xcpng.iso` file into your parent directory.
59 |
60 | To get the ISO bootable on USB:
61 |
62 | ```
63 | # isohybrid --uefi xcpng.iso
64 | ```
65 | ### Write the ISO to a USB key
66 |
67 | ```
68 | # dd if=xcpng.iso of=/dev/sdX bs=4M status=progress oflag=direct && sync
69 | ```
70 |
71 | ### Misc
72 |
73 | To get modify a package description without "rebuilding" it completely, you can use `rpmrebuild -e -p your.rpm`
74 |
--------------------------------------------------------------------------------
/iso/7.5/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade without a serial console, type
8 | 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | (This is an advanced option and should be used with care and as
13 | directed by a Technical Support Representative.)
14 | - To perform a memory test, type 0ememtest 05.
15 |
16 | 0f[F1-Standard] [F2-Advanced]05
17 |
--------------------------------------------------------------------------------
/iso/7.5/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/7.5/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/7.5/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/7.5/groups-XS.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | QCS-CLI
12 | QConvergeConsoleCLI-Citrix
13 | aic94xx-firmware
14 | bash-completion
15 | blktap
16 | bzip2
17 | cifs-utils
18 | compat-db47
19 | compat-libstdc++-33
20 | control-slice
21 | conversion-plugin
22 | cronie-noanacron
23 | dlm
24 | dracut-network
25 | e2fsprogs
26 | efibootmgr
27 | elxocmcore
28 | expect
29 | fcoe-utils
30 | fontconfig
31 | gdisk
32 | gfs2-utils
33 | gnu-free-sans-fonts
34 | gnupg
35 | gpumon
36 | grub-efi
37 | grub
38 | guest-templates-json-data-linux
39 | guest-templates-json-data-other
40 | guest-templates-json-data-windows
41 | host-upgrade-plugin
42 | interface-rename
43 | ipmitool
44 | ipset
45 | irqbalance
46 | iscsi-initiator-utils
47 | kbd
48 | kexec-tools
49 | linux-firmware
50 | linux-guest-loader-data
51 | linux-guest-loader
52 | livepatch-utils
53 | lsof
54 | makedumpfile
55 | mcelog
56 | mdadm
57 | memtest86+
58 | microcode_ctl
59 | module-init-tools
60 | nano
61 | net-snmp
62 | nfs-utils
63 | ntp
64 | ocaml-xenops-tools
65 | openssh-clients
66 | openssh-server
67 | openssl-perl
68 | openvswitch
69 | oprofile
70 | parted
71 | pbis-open
72 | plymouth-graphics-libs
73 | plymouth-plugin-script
74 | plymouth
75 | pmtools
76 | policycoreutils
77 | portmap
78 | pyserial
79 | python-fasteners
80 | redhat-lsb-core
81 | redhat-lsb-submod-security
82 | rootfiles
83 | rrd2csv
84 | rrdd-plugins
85 | rsync
86 | rsyslog
87 | samba-client
88 | samba-winbind-clients
89 | screen
90 | sharutils
91 | sm-cli
92 | sm-rawhba
93 | sm
94 | smartmontools
95 | squeezed
96 | strace
97 | stunnel_xs
98 | sudo
99 | sysfsutils
100 | sysstat
101 | system-config-firewall-tui
102 | systemtap-runtime
103 | tcpdump
104 | telnet
105 | unzip
106 | usbutils
107 | vconfig
108 | vcputune
109 | vendor-drivers
110 | vendor-update-keys
111 | vgpu
112 | vhd-tool
113 | vhostmd
114 | vncsnapshot
115 | vncterm
116 | wget
117 | wsproxy
118 | xapi-nbd
119 | xapi-storage-script
120 | xapi-storage
121 | xapi-tests
122 | xcp-networkd
123 | xcp-rrdd
124 | xdelta
125 | xen-crashdump-analyser
126 | xen-device-model
127 | xengt-modules
128 | xenopsd-xc
129 | xenopsd-xenlight
130 | xenserver-dracut
131 | xenserver-firstboot
132 | xenserver-hwdata
133 | xenserver-status-report
134 | xenserver-transfer-vm
135 | xha
136 | xsconsole
137 | yum
138 | zip
139 |
140 |
141 |
142 |
143 | xenserver_dom0
144 | false
145 | true
146 | XenServer Dom0
147 |
148 |
149 | xenserver_base
150 |
151 |
152 | bugtool-conn-tests
153 | guest-templates-json-data-xenapp
154 | update-XS75
155 | v6d-citrix
156 | xcp-python-libs-xenserver
157 | xencenter
158 | xenserver-plymouth-theme
159 | xenserver-pv-tools
160 | xenserver-release-config
161 | xenserver-release
162 |
163 |
164 |
165 |
--------------------------------------------------------------------------------
/iso/7.5/install/EULA:
--------------------------------------------------------------------------------
1 | XCP-ng installer
2 |
3 | The programs included with the XCP-ng system are free software. To know more about licenses of all programs, please read each COPYING file in the /usr/share/doc/* folders.
4 |
5 | XCP-ng comes with no warranty, to the extent permitted by applicable law.
6 |
7 | For more info on XCP-ng, please check https://xcp-ng.org
8 | Professional support for production environment is available on https://xcp-ng.com
9 |
--------------------------------------------------------------------------------
/iso/7.6/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 2.7.0
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 7.6.0
8 |
9 | [build]
10 | number = release/lima/master/8
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-XS-7-LCM
14 | key2 = RPM-GPG-KEY-XS-7
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 |
--------------------------------------------------------------------------------
/iso/7.6/EULA:
--------------------------------------------------------------------------------
1 | The programs included with the XCP-ng system are free software. To know more about licenses of all programs, please read each COPYING file in the /usr/share/doc/* folders.
2 |
3 | XCP-ng comes with no warranty, to the extent permitted by applicable law.
4 |
5 | For more info on XCP-ng, please check https://xcp-ng.org
6 | Professional support for production environment is available on https://xcp-ng.com
7 |
8 |
--------------------------------------------------------------------------------
/iso/7.6/README.md:
--------------------------------------------------------------------------------
1 | ## How to build XCP-ng ISO
2 |
3 | ### Splash image and other
4 |
5 | In your ISO folder, you need to create a `boot/isolinux` and add:
6 |
7 | * `pg_help`
8 | * `pg_main`
9 | * `splash.lss` (see below)
10 |
11 | In the root SO folder:
12 |
13 | * `.treeinfo`
14 |
15 | To generate the splash image (`boot/isolinux/splash.lss`), you need:
16 |
17 | * a 640x240 banner
18 | * In Gimp: Image/mode/index colors/14 (=16 including B&W)
19 | * export in gif format, ie `splash.gif`
20 | * `giftopnm < splash.gif > splash.ppm`
21 | * `ppmtolss16 < splash.ppm > splash.lss`
22 |
23 | > Note: in Fedora/CentOS/RH like, those packages are needed to create the splash image:
24 |
25 | * `syslinux-perl`
26 | * `netpbm-progs`
27 |
28 | ### Create repodata
29 |
30 | Go into the future ISO folder, and run `createrepo` using the `groups.xml` in this repo:
31 |
32 |
33 | ```
34 | # createrepo . -o . -g ../groups.xml
35 | ```
36 |
37 | ### install.img modification
38 |
39 | 1. `bzip2 -d install.img`
40 | 2. `mkdir tmp && cd tmp && cpio -id < ../install.img.out`
41 | 3. Edit your files
42 | 4. As root (because of some read-protected files such as etc/gshadow-): `find . | cpio --create --format='newc' > /tmp/newinstall`
43 | 5. `bzip2 /tmp/newinstall`
44 | 6. `mv /tmp/newinstall /tmp/install.img`
45 | 7. Replace it into the ISO
46 |
47 | ### ISO generation
48 |
49 | You need `genisoimage` program.
50 |
51 | Usage:
52 |
53 | ```
54 | # cd isofolder/
55 | # genisoimage -o ../xcpng.iso -v -r -J -V "XCP-ng 7.4" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
56 | ```
57 |
58 | This will create a `xcpng.iso` file into your parent directory.
59 |
60 | To get the ISO bootable on USB:
61 |
62 | ```
63 | # isohybrid --uefi xcpng.iso
64 | ```
65 | ### Write the ISO to a USB key
66 |
67 | ```
68 | # dd if=xcpng.iso of=/dev/sdX bs=4M status=progress oflag=direct && sync
69 | ```
70 |
71 | ### Misc
72 |
73 | To get modify a package description without "rebuilding" it completely, you can use `rpmrebuild -e -p your.rpm`
74 |
--------------------------------------------------------------------------------
/iso/7.6/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade without a serial console, type
8 | 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | (This is an advanced option and should be used with care and as
13 | directed by a Technical Support Representative.)
14 | - To perform a memory test, type 0ememtest 05.
15 |
16 | 0f[F1-Standard] [F2-Advanced]05
17 |
--------------------------------------------------------------------------------
/iso/7.6/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/7.6/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/7.6/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/7.6/groups-XS.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | QCS-CLI
12 | QConvergeConsoleCLI-Citrix
13 | aic94xx-firmware
14 | bash-completion
15 | blktap
16 | bzip2
17 | cifs-utils
18 | compat-db47
19 | compat-libstdc++-33
20 | control-slice
21 | conversion-plugin
22 | cronie-noanacron
23 | dlm
24 | dracut-network
25 | e2fsprogs
26 | efibootmgr
27 | elxocmcore
28 | expect
29 | fcoe-utils
30 | fontconfig
31 | gdisk
32 | gfs2-utils
33 | gnu-free-sans-fonts
34 | gnupg
35 | gpumon
36 | grub-efi
37 | grub
38 | guest-templates-json-data-linux
39 | guest-templates-json-data-other
40 | guest-templates-json-data-windows
41 | host-upgrade-plugin
42 | interface-rename
43 | ipmitool
44 | ipset
45 | irqbalance
46 | iscsi-initiator-utils
47 | kbd
48 | kexec-tools
49 | linux-firmware
50 | linux-guest-loader-data
51 | linux-guest-loader
52 | livepatch-utils
53 | lsof
54 | makedumpfile
55 | mcelog
56 | mdadm
57 | memtest86+
58 | microcode_ctl
59 | module-init-tools
60 | nano
61 | net-snmp
62 | nfs-utils
63 | ntp
64 | ocaml-xenops-tools
65 | openssh-clients
66 | openssh-server
67 | openssl-perl
68 | openvswitch
69 | oprofile
70 | parted
71 | pbis-open
72 | plymouth-graphics-libs
73 | plymouth-plugin-script
74 | plymouth
75 | pmtools
76 | policycoreutils
77 | portmap
78 | pyserial
79 | python-fasteners
80 | redhat-lsb-core
81 | redhat-lsb-submod-security
82 | rootfiles
83 | rrd2csv
84 | rrdd-plugins
85 | rsync
86 | rsyslog
87 | samba-client
88 | samba-winbind-clients
89 | screen
90 | sharutils
91 | sm-cli
92 | sm-rawhba
93 | sm
94 | smartmontools
95 | squeezed
96 | strace
97 | stunnel_xs
98 | sudo
99 | sysfsutils
100 | sysstat
101 | system-config-firewall-tui
102 | systemtap-runtime
103 | tcpdump
104 | telnet
105 | unzip
106 | usbutils
107 | vconfig
108 | vcputune
109 | vendor-drivers
110 | vendor-update-keys
111 | vgpu
112 | vhd-tool
113 | vhostmd
114 | vncsnapshot
115 | vncterm
116 | wget
117 | wsproxy
118 | xapi-nbd
119 | xapi-storage-script
120 | xapi-storage
121 | xapi-tests
122 | xcp-networkd
123 | xcp-rrdd
124 | xdelta
125 | xen-crashdump-analyser
126 | xen-device-model
127 | xengt-modules
128 | xenopsd-xc
129 | xenopsd-xenlight
130 | xenserver-dracut
131 | xenserver-firstboot
132 | xenserver-hwdata
133 | xenserver-status-report
134 | xenserver-transfer-vm
135 | xha
136 | xsconsole
137 | yum
138 | zip
139 |
140 |
141 |
142 |
143 | xenserver_dom0
144 | false
145 | true
146 | XenServer Dom0
147 |
148 |
149 | xenserver_base
150 |
151 |
152 | bugtool-conn-tests
153 | guest-templates-json-data-xenapp
154 | update-XS76
155 | v6d-citrix
156 | xencenter
157 | xenserver-plymouth-theme
158 | xenserver-pv-tools
159 | xenserver-release-config
160 | xenserver-release
161 |
162 |
163 |
164 |
--------------------------------------------------------------------------------
/iso/7.6/groups.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | aic94xx-firmware
12 | bash-completion
13 | blktap
14 | bzip2
15 | cifs-utils
16 | compat-db47
17 | compat-libstdc++-33
18 | control-slice
19 | conversion-plugin
20 | cronie-noanacron
21 | dlm
22 | dracut-network
23 | e2fsprogs
24 | efibootmgr
25 | expect
26 | fcoe-utils
27 | fontconfig
28 | gdisk
29 | gfs2-utils
30 | gnu-free-sans-fonts
31 | gnupg
32 | gpumon
33 | grub-efi
34 | grub
35 | guest-templates-json-data-linux
36 | guest-templates-json-data-other
37 | guest-templates-json-data-windows
38 | host-upgrade-plugin
39 | interface-rename
40 | ipmitool
41 | ipset
42 | irqbalance
43 | iscsi-initiator-utils
44 | kbd
45 | kexec-tools
46 | linux-firmware
47 | linux-guest-loader-data
48 | linux-guest-loader
49 | lsof
50 | makedumpfile
51 | mcelog
52 | mdadm
53 | memtest86+
54 | microcode_ctl
55 | module-init-tools
56 | nano
57 | net-snmp
58 | nfs-utils
59 | ntp
60 | ocaml-xenops-tools
61 | openssh-clients
62 | openssh-server
63 | openssl-perl
64 | openvswitch
65 | oprofile
66 | parted
67 | pbis-open
68 | plymouth-graphics-libs
69 | plymouth-plugin-script
70 | plymouth
71 | pmtools
72 | policycoreutils
73 | portmap
74 | pyserial
75 | python-fasteners
76 | redhat-lsb-core
77 | redhat-lsb-submod-security
78 | rootfiles
79 | rrd2csv
80 | rrdd-plugins
81 | rsync
82 | rsyslog
83 | samba-client
84 | samba-winbind-clients
85 | screen
86 | sharutils
87 | sm-cli
88 | sm-rawhba
89 | sm
90 | smartmontools
91 | squeezed
92 | strace
93 | stunnel_xs
94 | sudo
95 | sysfsutils
96 | sysstat
97 | system-config-firewall-tui
98 | systemtap-runtime
99 | tcpdump
100 | telnet
101 | unzip
102 | usbutils
103 | vconfig
104 | vcputune
105 | vendor-drivers
106 | vendor-update-keys
107 | vhd-tool
108 | vhostmd
109 | vncsnapshot
110 | vncterm
111 | wget
112 | wsproxy
113 | xapi-nbd
114 | xapi-storage-script
115 | xapi-storage
116 | xapi-tests
117 | xcp-networkd
118 | xcp-ng-updater
119 | xcp-rrdd
120 | xdelta
121 | xen-crashdump-analyser
122 | xen-device-model
123 | xengt-modules
124 | xenopsd-xc
125 | xenopsd-xenlight
126 | xenserver-dracut
127 | xenserver-firstboot
128 | xenserver-hwdata
129 | xenserver-status-report
130 | xenserver-transfer-vm
131 | xha
132 | xsconsole
133 | yum
134 | zip
135 |
136 |
137 |
138 |
139 | xenserver_dom0
140 | false
141 | true
142 | XenServer Dom0
143 |
144 |
145 | xenserver_base
146 |
147 |
148 | bugtool-conn-tests
149 | guest-templates-json-data-xenapp
150 | xcp-featured
151 | xcp-ng-center
152 | xcp-ng-plymouth-theme
153 | xcp-ng-pv-tools
154 | xcp-ng-release-config
155 | xcp-ng-release
156 | xcp-ng-deps
157 |
158 |
159 |
160 |
--------------------------------------------------------------------------------
/iso/7.6/install/EULA:
--------------------------------------------------------------------------------
1 | XCP-ng installer
2 |
3 | The programs included with the XCP-ng system are free software. To know more about licenses of all programs, please read each COPYING file in the /usr/share/doc/* folders.
4 |
5 | XCP-ng comes with no warranty, to the extent permitted by applicable law.
6 |
7 | For more info on XCP-ng, please check https://xcp-ng.org
8 | Professional support for production environment is available on https://xcp-ng.com
9 |
--------------------------------------------------------------------------------
/iso/8.0/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 3.0.0
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 8.0.0
8 |
9 | [build]
10 | number = release/naples/master/45
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-CH-8-LCM
14 | key2 = RPM-GPG-KEY-CH-8
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 | [general]
18 | name = XCP-ng-8.0
19 | family = XCP-ng
20 | timestamp = {{timestamp}}
21 | variant =
22 | version = 8.0
23 | packagedir =
24 | arch = x86_64
25 |
26 | [images-x86_64]
27 | kernel = boot/pxelinux/mboot.c32
28 | initrd = boot/vmlinuz
29 | boot.iso = boot/xen.gz
30 |
31 | [images-xen]
32 | kernel = boot/pxelinux/mboot.c32
33 | initrd = boot/vmlinuz
34 |
35 |
--------------------------------------------------------------------------------
/iso/8.0/EULA:
--------------------------------------------------------------------------------
1 | The programs included with the XCP-ng system are free software. To know more about licenses of all programs, please read each COPYING file in the /usr/share/doc/* folders.
2 |
3 | XCP-ng comes with no warranty, to the extent permitted by applicable law.
4 |
5 | For more info on XCP-ng, please check https://xcp-ng.org
6 | Professional support for production environment is available on https://xcp-ng.com
7 |
8 |
--------------------------------------------------------------------------------
/iso/8.0/README.md:
--------------------------------------------------------------------------------
1 | ## How to build XCP-ng ISO
2 |
3 | Note: some parts of this file are not up to date anymore, but it still contains
4 | valuable information so it is kept for now.
5 |
6 | ### Splash image and other
7 |
8 | In your ISO folder, you need to create a `boot/isolinux` and add:
9 |
10 | * `pg_help`
11 | * `pg_main`
12 | * `splash.lss` (see below)
13 |
14 | In the root SO folder:
15 |
16 | * `.treeinfo`
17 |
18 | To generate the splash image (`boot/isolinux/splash.lss`), you need:
19 |
20 | * a 640x240 banner
21 | * In Gimp: Image/mode/index colors/14 (=16 including B&W)
22 | * export in gif format, ie `splash.gif`
23 | * `giftopnm < splash.gif > splash.ppm`
24 | * `ppmtolss16 < splash.ppm > splash.lss`
25 |
26 | > Note: in Fedora/CentOS/RH like, those packages are needed to create the splash image:
27 |
28 | * `syslinux-perl`
29 | * `netpbm-progs`
30 |
31 | ### Create repodata
32 |
33 | Go into the future ISO folder, and run `createrepo` using the `groups.xml` in this repo:
34 |
35 |
36 | ```
37 | # createrepo . -o . -g ../groups.xml
38 | ```
39 |
40 | ### install.img modification
41 |
42 | 1. `bzip2 -d install.img`
43 | 2. `mkdir tmp && cd tmp && cpio -id < ../install.img.out`
44 | 3. Edit your files
45 | 4. As root (because of some read-protected files such as etc/gshadow-): `find . | cpio --create --format='newc' > /tmp/newinstall`
46 | 5. `bzip2 /tmp/newinstall`
47 | 6. `mv /tmp/newinstall /tmp/install.img`
48 | 7. Replace it into the ISO
49 |
50 | ### ISO generation
51 |
52 | You need `genisoimage` program.
53 |
54 | Usage:
55 |
56 | ```
57 | # cd isofolder/
58 | # genisoimage -o ../xcpng.iso -v -r -J -V "XCP-ng 7.4" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
59 | ```
60 |
61 | This will create a `xcpng.iso` file into your parent directory.
62 |
63 | To get the ISO bootable on USB:
64 |
65 | ```
66 | # isohybrid --uefi xcpng.iso
67 | ```
68 | ### Write the ISO to a USB key
69 |
70 | ```
71 | # dd if=xcpng.iso of=/dev/sdX bs=4M status=progress oflag=direct && sync
72 | ```
73 |
74 | ### Misc
75 |
76 | To get modify a package description without "rebuilding" it completely, you can use `rpmrebuild -e -p your.rpm`
77 |
--------------------------------------------------------------------------------
/iso/8.0/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade without a serial console, type
8 | 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | (This is an advanced option and should be used with care and as
13 | directed by a Technical Support Representative.)
14 | - To perform a memory test, type 0ememtest 05.
15 |
16 | 0f[F1-Standard] [F2-Advanced]05
17 |
--------------------------------------------------------------------------------
/iso/8.0/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/8.0/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/8.0/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/8.0/groups-XS.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | QCS-CLI
12 | QConvergeConsoleCLI-Citrix
13 | aic94xx-firmware
14 | bash-completion
15 | blktap
16 | bzip2
17 | cifs-utils
18 | citrix-crypto-module
19 | compat-db47
20 | compat-libstdc++-33
21 | control-slice
22 | conversion-plugin
23 | cronie-noanacron
24 | dlm
25 | dracut-network
26 | e2fsprogs
27 | efibootmgr
28 | elxocmcore
29 | expect
30 | fcoe-utils
31 | fontconfig
32 | gdisk
33 | gfs2-utils
34 | gnu-free-sans-fonts
35 | gnupg
36 | gpumon
37 | grub-efi
38 | grub
39 | guest-templates-json-data-linux
40 | guest-templates-json-data-other
41 | guest-templates-json-data-windows
42 | host-upgrade-plugin
43 | interface-rename
44 | ipmitool
45 | ipset
46 | iptables
47 | irqbalance
48 | iscsi-initiator-utils
49 | kbd
50 | kexec-tools
51 | linux-firmware
52 | linux-guest-loader-data
53 | linux-guest-loader
54 | livepatch-utils
55 | lsof
56 | makedumpfile
57 | mcelog
58 | mdadm
59 | memtest86+
60 | microcode_ctl
61 | module-init-tools
62 | nano
63 | net-snmp
64 | nfs-utils
65 | ntp
66 | ocaml-xenops-tools
67 | openssh-clients
68 | openssh-server
69 | openssl-perl
70 | openvswitch
71 | oprofile
72 | parted
73 | pbis-open
74 | plymouth-graphics-libs
75 | plymouth-plugin-script
76 | plymouth
77 | pmtools
78 | policycoreutils
79 | portmap
80 | pyserial
81 | python-fasteners
82 | redhat-lsb-core
83 | redhat-lsb-submod-security
84 | rootfiles
85 | rrd2csv
86 | rrdd-plugins
87 | rsync
88 | rsyslog
89 | samba-client
90 | samba-winbind-clients
91 | screen
92 | sharutils
93 | sm-cli
94 | sm-rawhba
95 | sm
96 | smartmontools
97 | squeezed
98 | strace
99 | stunnel_xs
100 | sudo
101 | sysfsutils
102 | sysstat
103 | system-config-firewall-tui
104 | systemtap-runtime
105 | tcpdump
106 | telnet
107 | unzip
108 | usbutils
109 | varstored-tools
110 | varstored
111 | vconfig
112 | vcputune
113 | vendor-drivers
114 | vendor-update-keys
115 | vgpu
116 | vhd-tool
117 | vhostmd
118 | vncsnapshot
119 | vncterm
120 | wget
121 | wsproxy
122 | xapi-nbd
123 | xapi-storage-script
124 | xapi-storage
125 | xapi-tests
126 | xcp-networkd
127 | xcp-rrdd
128 | xdelta
129 | xen-crashdump-analyser
130 | xenopsd-xc
131 | xenserver-dracut
132 | xenserver-firstboot
133 | xenserver-hwdata
134 | xenserver-status-report
135 | xenserver-transfer-vm
136 | xha
137 | xsconsole
138 | yum
139 | zip
140 |
141 |
142 |
143 |
144 | xenserver_dom0
145 | false
146 | true
147 | XenServer Dom0
148 |
149 |
150 | xenserver_base
151 |
152 |
153 | bugtool-conn-tests
154 | guest-templates-json-data-xenapp
155 | v6d-citrix
156 | xenserver-plymouth-theme
157 | xenserver-pv-tools
158 | xenserver-release-config
159 | xenserver-release
160 |
161 |
162 |
163 |
--------------------------------------------------------------------------------
/iso/8.0/groups.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | aic94xx-firmware
12 | bash-completion
13 | blktap
14 | bzip2
15 | cifs-utils
16 | compat-db47
17 | compat-libstdc++-33
18 | control-slice
19 | conversion-plugin
20 | cronie-noanacron
21 | dlm
22 | dracut-network
23 | e2fsprogs
24 | efibootmgr
25 | expect
26 | fcoe-utils
27 | fontconfig
28 | gdisk
29 | gfs2-utils
30 | gnu-free-sans-fonts
31 | gnupg
32 | gpumon
33 | grub-efi
34 | grub
35 | guest-templates-json-data-linux
36 | guest-templates-json-data-other
37 | guest-templates-json-data-windows
38 | host-upgrade-plugin
39 | interface-rename
40 | ipmitool
41 | ipset
42 | iptables
43 | irqbalance
44 | iscsi-initiator-utils
45 | kbd
46 | kexec-tools
47 | linux-firmware
48 | linux-guest-loader-data
49 | linux-guest-loader
50 | lsof
51 | makedumpfile
52 | mcelog
53 | mdadm
54 | memtest86+
55 | microcode_ctl
56 | module-init-tools
57 | nano
58 | net-snmp
59 | nfs-utils
60 | ntp
61 | ocaml-xenops-tools
62 | openssh-clients
63 | openssh-server
64 | openssl-perl
65 | openvswitch
66 | oprofile
67 | parted
68 | pbis-open
69 | plymouth-graphics-libs
70 | plymouth-plugin-script
71 | plymouth
72 | pmtools
73 | policycoreutils
74 | portmap
75 | pyserial
76 | python-fasteners
77 | redhat-lsb-core
78 | redhat-lsb-submod-security
79 | rootfiles
80 | rrd2csv
81 | rrdd-plugins
82 | rsync
83 | rsyslog
84 | samba-client
85 | samba-winbind-clients
86 | screen
87 | sharutils
88 | sm-cli
89 | sm-rawhba
90 | sm
91 | smartmontools
92 | squeezed
93 | strace
94 | stunnel_xs
95 | sudo
96 | sysfsutils
97 | sysstat
98 | system-config-firewall-tui
99 | systemtap-runtime
100 | tcpdump
101 | telnet
102 | unzip
103 | usbutils
104 | varstored-tools
105 | varstored
106 | vconfig
107 | vcputune
108 | vendor-drivers
109 | vendor-update-keys
110 | vhd-tool
111 | vhostmd
112 | vncsnapshot
113 | vncterm
114 | wget
115 | wsproxy
116 | xapi-nbd
117 | xapi-storage-script
118 | xapi-storage
119 | xapi-tests
120 | xcp-networkd
121 | xcp-ng-xapi-plugins
122 | xcp-rrdd
123 | xdelta
124 | xen-crashdump-analyser
125 | xenopsd-xc
126 | xenserver-dracut
127 | xenserver-firstboot
128 | xenserver-hwdata
129 | xenserver-status-report
130 | xenserver-transfer-vm
131 | xha
132 | xsconsole
133 | yum
134 | zip
135 |
136 |
137 |
138 |
139 | xenserver_dom0
140 | false
141 | true
142 | XenServer Dom0
143 |
144 |
145 | xenserver_base
146 |
147 |
148 | bugtool-conn-tests
149 | guest-templates-json-data-xenapp
150 | xcp-featured
151 | xcp-ng-plymouth-theme
152 | xcp-ng-pv-tools
153 | xcp-ng-release-config
154 | xcp-ng-release
155 | xcp-ng-deps
156 |
157 |
158 |
159 |
--------------------------------------------------------------------------------
/iso/8.0/install/EULA:
--------------------------------------------------------------------------------
1 | XCP-ng installer
2 |
3 | The programs included with the XCP-ng system are free software. To know more about licenses of all programs, please read each COPYING file in the /usr/share/doc/* folders.
4 |
5 | XCP-ng comes with no warranty, to the extent permitted by applicable law.
6 |
7 | For more info on XCP-ng, please check https://xcp-ng.org
8 | Professional support for production environment is available on https://xcp-ng.com
9 |
--------------------------------------------------------------------------------
/iso/8.1/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 3.1.0
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 8.1.0
8 |
9 | [build]
10 | number = release/quebec/master/17
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-CH-8-LCM
14 | key2 = RPM-GPG-KEY-CH-8
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 | [general]
18 | name = XCP-ng-8.1
19 | family = XCP-ng
20 | timestamp = {{timestamp}}
21 | variant =
22 | version = 8.1
23 | packagedir =
24 | arch = x86_64
25 |
26 | [images-x86_64]
27 | kernel = boot/pxelinux/mboot.c32
28 | initrd = boot/vmlinuz
29 | boot.iso = boot/xen.gz
30 |
31 | [images-xen]
32 | kernel = boot/pxelinux/mboot.c32
33 | initrd = boot/vmlinuz
34 |
35 |
--------------------------------------------------------------------------------
/iso/8.1/README.md:
--------------------------------------------------------------------------------
1 | ## How to build XCP-ng ISO
2 |
3 | Note: some parts of this file are not up to date anymore, but it still contains
4 | valuable information so it is kept for now.
5 |
6 | ### Splash image and other
7 |
8 | In your ISO folder, you need to create a `boot/isolinux` and add:
9 |
10 | * `pg_help`
11 | * `pg_main`
12 | * `splash.lss` (see below)
13 |
14 | In the root SO folder:
15 |
16 | * `.treeinfo`
17 |
18 | To generate the splash image (`boot/isolinux/splash.lss`), you need:
19 |
20 | * a 640x240 banner
21 | * In Gimp: Image/mode/index colors/14 (=16 including B&W)
22 | * export in gif format, ie `splash.gif`
23 | * `giftopnm < splash.gif > splash.ppm`
24 | * `ppmtolss16 < splash.ppm > splash.lss`
25 |
26 | > Note: in Fedora/CentOS/RH like, those packages are needed to create the splash image:
27 |
28 | * `syslinux-perl`
29 | * `netpbm-progs`
30 |
31 | ### Create repodata
32 |
33 | Go into the future ISO folder, and run `createrepo` using the `groups.xml` in this repo:
34 |
35 |
36 | ```
37 | # createrepo . -o . -g ../groups.xml
38 | ```
39 |
40 | ### install.img modification
41 |
42 | 1. `bzip2 -d install.img`
43 | 2. `mkdir tmp && cd tmp && cpio -id < ../install.img.out`
44 | 3. Edit your files
45 | 4. As root (because of some read-protected files such as etc/gshadow-): `find . | cpio --create --format='newc' > /tmp/newinstall`
46 | 5. `bzip2 /tmp/newinstall`
47 | 6. `mv /tmp/newinstall /tmp/install.img`
48 | 7. Replace it into the ISO
49 |
50 | ### ISO generation
51 |
52 | You need `genisoimage` program.
53 |
54 | Usage:
55 |
56 | ```
57 | # cd isofolder/
58 | # genisoimage -o ../xcpng.iso -v -r -J -V "XCP-ng 7.4" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
59 | ```
60 |
61 | This will create a `xcpng.iso` file into your parent directory.
62 |
63 | To get the ISO bootable on USB:
64 |
65 | ```
66 | # isohybrid --uefi xcpng.iso
67 | ```
68 | ### Write the ISO to a USB key
69 |
70 | ```
71 | # dd if=xcpng.iso of=/dev/sdX bs=4M status=progress oflag=direct && sync
72 | ```
73 |
74 | ### Misc
75 |
76 | To get modify a package description without "rebuilding" it completely, you can use `rpmrebuild -e -p your.rpm`
77 |
--------------------------------------------------------------------------------
/iso/8.1/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade with 2G RAM max, type 0einstall-2G 05.
8 | - To install or upgrade using our alternate kernel, type 0einstall-alt 05.
9 | - To install or upgrade without a serial console, type 0eno-serial 05.
10 | - To install or upgrade in safe mode, type 0esafe 05.
11 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
12 | - To boot into a shell prompt, type 0eshell 05.
13 | - To perform a memory test, type 0ememtest 05.
14 |
15 | 0f[F1-Standard] [F2-Advanced]05
16 |
--------------------------------------------------------------------------------
/iso/8.1/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | (Press F2 for other options)
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/8.1/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/8.1/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/8.1/groups-XS.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | QCS-CLI
12 | QConvergeConsoleCLI-Citrix
13 | aic94xx-firmware
14 | bash-completion
15 | blktap
16 | bzip2
17 | chrony
18 | cifs-utils
19 | citrix-crypto-module
20 | compat-db47
21 | compat-libstdc++-33
22 | control-slice
23 | cronie-noanacron
24 | dlm
25 | dracut-network
26 | e2fsprogs
27 | efibootmgr
28 | elxocmcore
29 | expect
30 | fcoe-utils
31 | fontconfig
32 | gdisk
33 | gfs2-utils
34 | gnu-free-sans-fonts
35 | gnupg
36 | gpumon
37 | grub-efi
38 | grub
39 | guest-templates-json-data-linux
40 | guest-templates-json-data-other
41 | guest-templates-json-data-windows
42 | host-upgrade-plugin
43 | interface-rename
44 | ipmitool
45 | ipset
46 | iptables
47 | irqbalance
48 | iscsi-initiator-utils
49 | kbd
50 | kexec-tools
51 | linux-firmware
52 | linux-guest-loader-data
53 | linux-guest-loader
54 | livepatch-utils
55 | lsof
56 | makedumpfile
57 | mcelog
58 | mdadm
59 | memtest86+
60 | microcode_ctl
61 | module-init-tools
62 | nano
63 | net-snmp
64 | nfs-utils
65 | ocaml-xenops-tools
66 | openssh-clients
67 | openssh-server
68 | openssl-perl
69 | openvswitch
70 | oprofile
71 | parted
72 | pbis-open
73 | plymouth-graphics-libs
74 | plymouth-plugin-script
75 | plymouth
76 | pmtools
77 | policycoreutils
78 | portmap
79 | pyserial
80 | python-fasteners
81 | redhat-lsb-core
82 | redhat-lsb-submod-security
83 | rootfiles
84 | rrd2csv
85 | rrdd-plugins
86 | rsync
87 | rsyslog
88 | samba-client
89 | samba-winbind-clients
90 | screen
91 | sharutils
92 | sm-cli
93 | sm-rawhba
94 | sm
95 | smartmontools
96 | squeezed
97 | strace
98 | stunnel_xs
99 | sudo
100 | sysfsutils
101 | sysstat
102 | system-config-firewall-tui
103 | systemtap-runtime
104 | tcpdump
105 | telnet
106 | unzip
107 | usbutils
108 | varstored-tools
109 | varstored
110 | vconfig
111 | vcputune
112 | vendor-drivers
113 | vendor-update-keys
114 | vgpu
115 | vhd-tool
116 | vhostmd
117 | vncsnapshot
118 | vncterm
119 | wget
120 | wsproxy
121 | xapi-nbd
122 | xapi-storage-script
123 | xapi-storage
124 | xapi-tests
125 | xcp-networkd
126 | xcp-rrdd
127 | xdelta
128 | xen-crashdump-analyser
129 | xenopsd-xc
130 | xenserver-dracut
131 | xenserver-firstboot
132 | xenserver-hwdata
133 | xenserver-status-report
134 | xenserver-transfer-vm
135 | xha
136 | xs-obsolete-packages
137 | xsconsole
138 | yum
139 | zip
140 |
141 |
142 |
143 |
144 | xenserver_dom0
145 | false
146 | true
147 | XenServer Dom0
148 |
149 |
150 | xenserver_base
151 |
152 |
153 | bugtool-conn-tests
154 | guest-templates-json-data-xenapp
155 | update-CH81
156 | v6d-citrix
157 | xenserver-plymouth-theme
158 | xenserver-pv-tools
159 | xenserver-release-config
160 | xenserver-release
161 |
162 |
163 |
164 |
--------------------------------------------------------------------------------
/iso/8.2.1/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 3.2.1
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 8.2.1
8 |
9 | [build]
10 | number = release/yangtze/master/58
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-CH-8
14 | key2 = RPM-GPG-KEY-CH-8-LCM
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 | [general]
18 | name = XCP-ng-8.2.1
19 | family = XCP-ng
20 | timestamp = {{timestamp}}
21 | variant =
22 | version = 8.2.1
23 | packagedir =
24 | arch = x86_64
25 |
26 | [images-x86_64]
27 | kernel = boot/pxelinux/mboot.c32
28 | initrd = boot/vmlinuz
29 | boot.iso = boot/xen.gz
30 |
31 | [images-xen]
32 | kernel = boot/pxelinux/mboot.c32
33 | initrd = boot/vmlinuz
34 |
35 |
--------------------------------------------------------------------------------
/iso/8.2.1/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade using our alternate kernel, type 0einstall-alt 05.
8 | - To install or upgrade without a serial console, type 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | - To perform a memory test, type 0ememtest 05.
13 | - To open a boot menu and/or edit boot entries, type 0emenu 05.
14 |
15 | 0f[F1-Standard] [F2-Advanced]05
16 |
--------------------------------------------------------------------------------
/iso/8.2.1/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | (Press F2 for other options)
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/8.2.1/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/8.2.1/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/8.2/.treeinfo:
--------------------------------------------------------------------------------
1 | [platform]
2 | name = XCP
3 | version = 3.2.0
4 |
5 | [branding]
6 | name = XCP-ng
7 | version = 8.2.0
8 |
9 | [build]
10 | number = release/stockholm/master/7
11 |
12 | [keys]
13 | key1 = RPM-GPG-KEY-CH-8-LCM
14 | key2 = RPM-GPG-KEY-CH-8
15 | key3 = RPM-GPG-KEY-Platform-V1
16 |
17 | [general]
18 | name = XCP-ng-8.2
19 | family = XCP-ng
20 | timestamp = {{timestamp}}
21 | variant =
22 | version = 8.2
23 | packagedir =
24 | arch = x86_64
25 |
26 | [images-x86_64]
27 | kernel = boot/pxelinux/mboot.c32
28 | initrd = boot/vmlinuz
29 | boot.iso = boot/xen.gz
30 |
31 | [images-xen]
32 | kernel = boot/pxelinux/mboot.c32
33 | initrd = boot/vmlinuz
34 |
35 |
--------------------------------------------------------------------------------
/iso/8.2/README.md:
--------------------------------------------------------------------------------
1 | ## How to build XCP-ng ISO
2 |
3 | Note: some parts of this file are not up to date anymore, but it still contains
4 | valuable information so it is kept for now.
5 |
6 | ### Splash image and other
7 |
8 | In your ISO folder, you need to create a `boot/isolinux` and add:
9 |
10 | * `pg_help`
11 | * `pg_main`
12 | * `splash.lss` (see below)
13 |
14 | In the root SO folder:
15 |
16 | * `.treeinfo`
17 |
18 | To generate the splash image (`boot/isolinux/splash.lss`), you need:
19 |
20 | * a 640x240 banner
21 | * In Gimp: Image/mode/index colors/14 (=16 including B&W)
22 | * export in gif format, ie `splash.gif`
23 | * `giftopnm < splash.gif > splash.ppm`
24 | * `ppmtolss16 < splash.ppm > splash.lss`
25 |
26 | > Note: in Fedora/CentOS/RH like, those packages are needed to create the splash image:
27 |
28 | * `syslinux-perl`
29 | * `netpbm-progs`
30 |
31 | ### Create repodata
32 |
33 | Go into the future ISO folder, and run `createrepo` using the `groups.xml` in this repo:
34 |
35 |
36 | ```
37 | # createrepo . -o . -g ../groups.xml
38 | ```
39 |
40 | ### install.img modification
41 |
42 | 1. `bzip2 -d install.img`
43 | 2. `mkdir tmp && cd tmp && cpio -id < ../install.img.out`
44 | 3. Edit your files
45 | 4. As root (because of some read-protected files such as etc/gshadow-): `find . | cpio --create --format='newc' > /tmp/newinstall`
46 | 5. `bzip2 /tmp/newinstall`
47 | 6. `mv /tmp/newinstall /tmp/install.img`
48 | 7. Replace it into the ISO
49 |
50 | ### ISO generation
51 |
52 | You need `genisoimage` program.
53 |
54 | Usage:
55 |
56 | ```
57 | # cd isofolder/
58 | # genisoimage -o ../xcpng.iso -v -r -J -V "XCP-ng 7.4" -c boot/isolinux/boot.cat -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/efiboot.img -no-emul-boot .
59 | ```
60 |
61 | This will create a `xcpng.iso` file into your parent directory.
62 |
63 | To get the ISO bootable on USB:
64 |
65 | ```
66 | # isohybrid --uefi xcpng.iso
67 | ```
68 | ### Write the ISO to a USB key
69 |
70 | ```
71 | # dd if=xcpng.iso of=/dev/sdX bs=4M status=progress oflag=direct && sync
72 | ```
73 |
74 | ### Misc
75 |
76 | To get modify a package description without "rebuilding" it completely, you can use `rpmrebuild -e -p your.rpm`
77 |
--------------------------------------------------------------------------------
/iso/8.2/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade using our alternate kernel, type 0einstall-alt 05.
8 | - To install or upgrade without a serial console, type 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | - To perform a memory test, type 0ememtest 05.
13 | - To open a boot menu and/or edit boot entries, type 0emenu 05.
14 |
15 | 0f[F1-Standard] [F2-Advanced]05
16 |
--------------------------------------------------------------------------------
/iso/8.2/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | (Press F2 for other options)
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/8.2/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/8.2/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/8.2/groups-XS.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | xenserver_base
6 | false
7 | false
8 | XenServer base system
9 |
10 |
11 | QCS-CLI
12 | QConvergeConsoleCLI-Citrix
13 | aic94xx-firmware
14 | bash-completion
15 | blktap
16 | bzip2
17 | chrony
18 | cifs-utils
19 | citrix-crypto-module
20 | compat-db47
21 | compat-libstdc++-33
22 | control-slice
23 | cronie-noanacron
24 | dlm
25 | dracut-network
26 | e2fsprogs
27 | efibootmgr
28 | elxocmcore
29 | expect
30 | fcoe-utils
31 | fontconfig
32 | gdisk
33 | gfs2-utils
34 | gnu-free-sans-fonts
35 | gnupg2
36 | gpumon
37 | grub-efi
38 | grub
39 | guest-templates-json-data-linux
40 | guest-templates-json-data-other
41 | guest-templates-json-data-windows
42 | hbaapiwrapper
43 | host-upgrade-plugin
44 | interface-rename
45 | ipmitool
46 | ipset
47 | iptables
48 | irqbalance
49 | iscsi-initiator-utils
50 | kbd
51 | kexec-tools
52 | libhbalinux
53 | libverto-tevent
54 | linux-firmware
55 | linux-guest-loader-data
56 | linux-guest-loader
57 | livepatch-utils
58 | lsof
59 | makedumpfile
60 | mcelog
61 | mdadm
62 | memtest86+
63 | microcode_ctl
64 | module-init-tools
65 | nano
66 | net-snmp
67 | nfs-utils
68 | openssh-clients
69 | openssh-server
70 | openssl-perl
71 | openvswitch
72 | oprofile
73 | parted
74 | pbis-open
75 | plymouth-graphics-libs
76 | plymouth-plugin-script
77 | plymouth
78 | pmtools
79 | policycoreutils
80 | portmap
81 | pyserial
82 | python-fasteners
83 | redhat-lsb-core
84 | redhat-lsb-submod-security
85 | rootfiles
86 | rrd2csv
87 | rrdd-plugins
88 | rsync
89 | rsyslog
90 | samba-client
91 | samba-winbind-clients
92 | screen
93 | security-tools
94 | sharutils
95 | sm-cli
96 | sm-rawhba
97 | sm
98 | smartmontools
99 | squeezed
100 | strace
101 | stunnel
102 | sudo
103 | sysfsutils
104 | sysstat
105 | system-config-firewall-tui
106 | systemtap-runtime
107 | tcpdump
108 | telnet
109 | unzip
110 | usbutils
111 | varstored-tools
112 | varstored
113 | vconfig
114 | vcputune
115 | vendor-drivers
116 | vendor-update-keys
117 | vgpu
118 | vhd-tool
119 | vhostmd
120 | vncsnapshot
121 | vncterm
122 | wget
123 | wsproxy
124 | xapi-nbd
125 | xapi-storage-script
126 | xapi-storage
127 | xapi-tests
128 | xapi-xe
129 | xcp-networkd
130 | xcp-rrdd
131 | xdelta
132 | xen-crashdump-analyser
133 | xenopsd-cli
134 | xenopsd-xc
135 | xenserver-dracut
136 | xenserver-hwdata
137 | xenserver-status-report
138 | xenserver-transfer-vm
139 | xha
140 | xs-obsolete-packages
141 | xsconsole
142 | yum
143 | zip
144 | update-CH82
145 |
146 |
147 |
148 |
149 | xenserver_dom0
150 | false
151 | true
152 | XenServer Dom0
153 |
154 |
155 | xenserver_base
156 |
157 |
158 | bugtool-conn-tests
159 | v6d-citrix
160 | xenserver-plymouth-theme
161 | xenserver-release-config
162 | xenserver-release
163 |
164 |
165 |
166 |
--------------------------------------------------------------------------------
/iso/8.3/.treeinfo:
--------------------------------------------------------------------------------
1 | [system-v1]
2 | platform_name = XCP
3 | platform_version = 3.3.0
4 | product_name = XCP-ng
5 | product_version = 8.3.0
6 |
7 | [build]
8 | number = cloud
9 | [keys]
10 | key1 = RPM-GPG-KEY-xcpng
11 |
12 | [general]
13 | name = XCP-ng-8.3.0
14 | family = XCP-ng
15 | timestamp = {{timestamp}}
16 | variant =
17 | version = 8.3.0
18 | packagedir =
19 | arch = x86_64
20 |
21 | [images-x86_64]
22 | kernel = boot/pxelinux/mboot.c32
23 | initrd = boot/vmlinuz
24 | boot.iso = boot/xen.gz
25 |
26 | [images-xen]
27 | kernel = boot/pxelinux/mboot.c32
28 | initrd = boot/vmlinuz
29 |
30 |
--------------------------------------------------------------------------------
/iso/8.3/boot/isolinux/pg_help:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | - To install or upgrade using our alternate kernel, type 0einstall-alt 05.
8 | - To install or upgrade without a serial console, type 0eno-serial 05.
9 | - To install or upgrade in safe mode, type 0esafe 05.
10 | - To install or upgrade to a multipathed root disk, type 0emultipath 05.
11 | - To boot into a shell prompt, type 0eshell 05.
12 | - To perform a memory test, type 0ememtest 05.
13 | - To open a boot menu and/or edit boot entries, type 0emenu 05.
14 |
15 | 0f[F1-Standard] [F2-Advanced]05
16 |
--------------------------------------------------------------------------------
/iso/8.3/boot/isolinux/pg_main:
--------------------------------------------------------------------------------
1 |
2 | splash.lss
3 |
4 | 05Welcome to XCP-ng.
5 |
6 | - To install or upgrade press the 0e05 key.
7 | (Press F2 for other options)
8 |
9 |
10 |
11 |
12 |
13 |
14 | 0f[F1-Standard] [F2-Advanced]05
15 |
--------------------------------------------------------------------------------
/iso/8.3/boot/isolinux/splash.lss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/iso/8.3/boot/isolinux/splash.lss
--------------------------------------------------------------------------------
/iso/8.3/comps-XS.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | xenserver_base
8 | xenserver_base
9 | None
10 | false
11 | true
12 |
13 | aic94xx-firmware
14 | avago-megaraid-sas
15 | avago-mpt3sas
16 | bash-completion
17 | blktap
18 | broadcom-bnxt-en
19 | bzip2
20 | chelsio-cxgb4
21 | chrony
22 | cifs-utils
23 | cisco-enic
24 | cisco-fnic
25 | citrix-crypto-module
26 | compat-db47
27 | compat-libstdc++-33
28 | control-slice
29 | cronie-noanacron
30 | dlm
31 | dracut-network
32 | e2fsprogs
33 | efibootmgr
34 | emulex-lpfc
35 | expect
36 | fcoe-utils
37 | fontconfig
38 | gdisk
39 | gfs2-utils
40 | gnu-free-sans-fonts
41 | gnupg2
42 | gpumon
43 | grub
44 | grub-efi
45 | guest-templates-json-data-linux
46 | guest-templates-json-data-other
47 | guest-templates-json-data-windows
48 | hcp_nss
49 | host-upgrade-plugin
50 | intel-e1000e
51 | intel-fm10k
52 | intel-i40e
53 | intel-ice
54 | intel-igb
55 | intel-ixgbe
56 | interface-rename
57 | ipmitool
58 | ipset
59 | iptables
60 | irqbalance
61 | iscsi-initiator-utils
62 | kbd
63 | kexec-tools
64 | libhbalinux
65 | libverto-tevent
66 | linux-firmware
67 | linux-guest-loader
68 | linux-guest-loader-data
69 | lsof
70 | makedumpfile
71 | mcelog
72 | mdadm
73 | mellanox-mlnxen
74 | memtest86+
75 | microcode_ctl
76 | microsemi-smartpqi
77 | module-init-tools
78 | nano
79 | net-snmp
80 | nfs-utils
81 | openssh-clients
82 | openssh-server
83 | openssl-perl
84 | openvswitch
85 | oprofile
86 | parted
87 | pbis-open
88 | plymouth
89 | plymouth-graphics-libs
90 | plymouth-plugin-script
91 | pmtools
92 | policycoreutils
93 | portmap
94 | pvsproxy
95 | pyserial
96 | python-fasteners
97 | qlogic-fastlinq
98 | qlogic-netxtreme2
99 | qlogic-qla2xxx
100 | redhat-lsb-core
101 | redhat-lsb-submod-security
102 | rootfiles
103 | rrdd-plugins
104 | rsync
105 | rsyslog
106 | samba-client
107 | samba-winbind-clients
108 | screen
109 | security-tools
110 | sharutils
111 | sm
112 | sm-cli
113 | smartmontools
114 | squeezed
115 | strace
116 | stunnel
117 | sudo
118 | sysfsutils
119 | sysstat
120 | system-config-firewall-tui
121 | systemtap-runtime
122 | tcpdump
123 | telnet
124 | unzip
125 | usbutils
126 | varstored
127 | varstored-tools
128 | vconfig
129 | vcputune
130 | vendor-drivers
131 | vendor-update-keys
132 | vgpu
133 | vhd-tool
134 | vncsnapshot
135 | vncterm
136 | wget
137 | wsproxy
138 | xapi-nbd
139 | xapi-storage
140 | xapi-storage-script
141 | xapi-tests
142 | xapi-xe
143 | xcp-networkd
144 | xcp-rrdd
145 | xdelta
146 | xen-crashdump-analyser
147 | xenopsd-cli
148 | xenopsd-xc
149 | xenserver-dracut
150 | xenserver-hwdata
151 | xenserver-status-report
152 | xenserver-transfer-vm
153 | xha
154 | xs-obsolete-packages
155 | xsconsole
156 | yum
157 | zip
158 |
159 |
160 |
161 | xenserver_dom0
162 | xenserver_dom0
163 | None
164 | false
165 | true
166 |
167 | bugtool-conn-tests
168 | v6d-citrix
169 | xenserver-plymouth-theme
170 | xenserver-pv-tools
171 | xenserver-release
172 | xenserver-release-config
173 |
174 |
175 |
176 |
--------------------------------------------------------------------------------
/misc/assets/logo-glossy-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/misc/assets/logo-glossy-small.png
--------------------------------------------------------------------------------
/misc/assets/stretch-goals-ks-campaign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/misc/assets/stretch-goals-ks-campaign.png
--------------------------------------------------------------------------------
/misc/assets/xcp-ng-hiw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xcp-ng/xcp/9d1eb1511205ae0f54e09257a9a413c449180543/misc/assets/xcp-ng-hiw.png
--------------------------------------------------------------------------------
/misc/ks_pledges.md:
--------------------------------------------------------------------------------
1 | # Pledges and sponsors
2 |
3 | Here the list of pledges level (for people) and sponsors (for companies)
--------------------------------------------------------------------------------
/misc/ks_project_description.md:
--------------------------------------------------------------------------------
1 | # Project description
2 |
3 | ## XCP new generation: free/libre and 100% community backed XenServer
4 |
5 | ### What is it?
6 |
7 | Currently, XenServer is a turnkey virtualization plat-form, distributed as a distribtion (based on CentOS). It comes with a feature rich toolstack, called XAPI. Vast majority of XenServer code is Open Source.
8 |
9 | **But since XenServer 7.3, Citrix removed a lot of features from it. The goal of XCP-ng is to make a fully community backed version of XenServer, without any feature restrictions.**
10 |
11 | The other goal is to also create a real ecosystem, not depending of one company only. More sponsors = healthier project!
12 |
13 | ### How the money will be used?
14 |
15 | The money will be **managed transparently** (ie publicly), on the [XCP meta-repo](https://github.com/xcp-ng/xcp). Priorities are to **bootstrap the project quickly**, and produce documentation to let everyone able to build it. In order to do that, here is how the money will be used, in priority to:
16 |
17 | 1. compensate people time directly contributing (with XenServer/XAPI/CentOS experience)
18 | 2. pay for various project hosting fees
19 | 3. communicate around it
20 |
21 | ### Where We Are Now?
22 |
23 | The first proof-of-concept is [already working](https://xcp-ng.github.io/news/2018/01/22/xcp-ng-on-tracks.html), so it's technically doable. The next step is to achieve *Phase I*.
24 |
25 | #### Phase I
26 |
27 | Initial release of XCP-ng, based on latest XenServer sources. Simple yet functional release, with:
28 |
29 | * a manually crafted XCP-ng ISO
30 | * a RPM repo
31 |
32 | #### Phase II
33 |
34 | Automation + documentation for building XCP-ng packages, creating the ISO and/or the RPM repo. Also:
35 |
36 | * turn a CentOS into XCP-ng via RPM repo
37 | * turn a XenServer to XCP-ng via ISO upgrade
38 |
39 | #### Phase III
40 |
41 | Community code inserted into XCP-ng project, like:
42 |
43 | * bundled Gluster support
44 | * Software RAID during install
45 | * ZFS driver
46 | * better compression
47 | * etc.
48 |
49 | ### People and companies behind XCP-ng
50 |
51 | #### Companies
52 |
53 | * Vates (Xen Orchestra editor)
54 | * Zentific
55 | * Your company if you sponsor it!
56 |
57 | #### People
58 |
59 | * Olivier (Xen Orchestra project founder)
60 | * John Else (contractor, former XAPI dev)
61 | * Nick Couchman
62 | * Jon Sands
63 | * Mike Hidalgo
64 |
65 | ### Risks and challenges
66 |
67 | With a software development project like this (involving various pieces of existing code), the biggest risk and challenge is inevitably shipping on time.
68 |
69 | To combat delays, we'll be setting regular milestones and work with people with previous developer experience on XenServer, XAPI and CentOS.
70 |
71 | This biggest challenge will be to deliver simple upgrade path from XenServer and also give a seamless experience to go from a CentOS to XCP-ng (via RPM repository).
72 |
73 | ### FAQ
74 |
75 | * Will it be "compatible" with XenCenter?
76 |
77 | In short: yes. We aim to have a codebase that's close to XenServer. We can't be 100% sure about Citrix products on top of XenServer (if they check product name), but API will be 100% compatible. For example, Xen Orchestra will work on top of XCP-ng.
78 |
79 | * Will `xe` CLI still works?
80 |
81 | Absolutely. `xe` won't be changed.
82 |
83 | * Is it possible to upgrade an existing XenServer to XCP-ng?
84 |
85 | That's one of the project's goal, indeed. We want to provide a simple upgrade path to let people "update" their infrastructure without high migration costs.
86 |
87 | * Will I enjoy all features for free?
88 |
89 | All features available from the sources of XenServer will be free. No more pool size limitation, or VDI live migration restrictions.
90 |
91 | * Is there any pro support coming?
92 |
93 | It's a bit early to say. Pro support or not, XCP-ng will stay a community project anyway. No one will "steal" it for it's own agenda.
94 |
95 | * Why "XCP-ng" name?
96 |
97 | Because in the past, XCP (aka "Xen Cloud Project") had the similar objective. However, the project was stalled because only Citrix was behind it. Nobody want to do the same mistake: it's up to you to be a sponsor or a contributor!
--------------------------------------------------------------------------------
/misc/ks_script.md:
--------------------------------------------------------------------------------
1 | # Script for KS video
2 |
3 | ## Written text
4 |
5 | - *Slide 1* - Building XenServer from the sources with XCP-ng
6 | - *Slide 2* - Xen Cloud Project - New generation will offer an alternative to Citrix XenServer
7 | - *Slide 3* - Since XenServer 7.3 removed a lot of free features --- we needed a community solution again
8 | - *Slide 4* - Main goal? --- Enjoy the power of XenServer, with a real community backed solution
9 | - *Slide 5* - Help you to scale your IT infrastructure easily
10 | - *Slide 6* - Allow you to focus on what matters --- Innovation and modernization
11 | - *Slide 7* - Join our community now! --- Support us on kickstarter --- `campaign link`
12 |
13 | ## Audio text
14 |
15 | - *Slide 1* - Building XenServer from the sources with XCP-ng
16 | - *Slide 2* - Xen Cloud Project is an alternative to Citrix XenServer
17 | - *Slide 3* - Since XenServer 7.3 removed a lot of free features --- We needed a community solution again
18 | - *Slide 4* - What is the main goal? --- Enjoy the power of XenServer, with a real community backed solution, not dependant from a company
19 | - *Slide 5* - And help you to scale your IT infrastructure easily
20 | - *Slide 6* - To allow you to focus on what really matters: innovation and modernization
21 | - *Slide 7* - Join our community now! --- Support us on kickstarter
22 |
23 | ## Video draft
24 |
25 | https://www.youtube.com/watch?v=FboAVU7YvgY&feature=youtu.be
26 |
27 | // Potential animations: https://videohive.net/category/after-effects-project-files/product-promo
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [tool.pydocstyle]
2 | ignore = "D100,D101,D102,D103,D104,D105,D106,D107,D203,D210,D212,D401,D403"
3 |
4 |
5 | [tool.ruff]
6 | preview = true
7 | line-length = 120
8 |
9 | [tool.ruff.format]
10 | quote-style = "preserve"
11 |
12 | [tool.ruff.lint]
13 | select = ["F", "I", "SLF", "SIM"]
14 |
--------------------------------------------------------------------------------
/scripts/.gitignore:
--------------------------------------------------------------------------------
1 | github.txt
2 |
--------------------------------------------------------------------------------
/scripts/compare_packages.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | from collections import OrderedDict
3 | import argparse
4 | import os
5 | import glob
6 | import subprocess
7 | from datetime import datetime
8 |
9 | def list_rpms(directory):
10 | rpms = OrderedDict()
11 | for filepath in sorted(glob.glob(os.path.join(directory, '*.rpm'))):
12 | info = subprocess.check_output(['rpm', '-qp', filepath, '--qf',
13 | "%{name},,%{license},,%{vendor},,%{buildhost},,"
14 | "%{buildtime},,%{evr},,%{sourcerpm},,%{summary}"])
15 | info = info.decode('utf-8')
16 | info = info.split(',,')
17 | rpms[info[0]] = {
18 | 'filepath': filepath,
19 | 'filename': os.path.basename(filepath),
20 | 'license': info[1],
21 | 'vendor': info[2],
22 | 'buildhost': info[3],
23 | 'buildtime': datetime.fromtimestamp(float(info[4])),
24 | 'evr': info[5],
25 | 'sourcerpm': info[6],
26 | 'summary': info[7]
27 | }
28 | return rpms
29 |
30 | def main():
31 | parser = argparse.ArgumentParser(description='Compares two sets of RPM packages')
32 | parser.add_argument('dir1', help='first directory')
33 | parser.add_argument('dir2', help='second directory')
34 | args = parser.parse_args()
35 |
36 | DEVNULL = open(os.devnull, 'w')
37 |
38 | dir1 = os.path.abspath(args.dir1)
39 | dir2 = os.path.abspath(args.dir2)
40 |
41 | # list RPMs
42 | rpms1 = list_rpms(dir1)
43 | rpms2 = list_rpms(dir2)
44 |
45 | for name, info in rpms1.items():
46 | if name not in rpms2:
47 | info['removed'] = True
48 | rpms2[name] = info
49 |
50 | rpms2 = OrderedDict(sorted(rpms2.items(), key=lambda t: t[0]))
51 |
52 | vendors = set([info['vendor'] for info in rpms1.values()])
53 | vendors |= set([info['vendor'] for info in rpms2.values()])
54 |
55 | for vendor in sorted(list(vendors)):
56 | print("\n\n-------------------- Vendor: %s ------------------------\n" % vendor)
57 | for name, info in rpms2.items():
58 | if info['vendor'] != vendor:
59 | continue
60 | if name not in rpms1:
61 | print("*** %s added" % info['filename'])
62 | print("Summary: %s" % info['summary'])
63 | print("SRPM: %s" % info['sourcerpm'])
64 | print("License: %s" % info['license'])
65 | print(subprocess.check_output(['rpm', '-qlp', info['filepath']]).decode('utf-8'))
66 | elif info.get('removed', False):
67 | print("*** %s removed" % info['filename'])
68 | if info['vendor'] not in ['CentOS', 'Fedora Project']:
69 | print("Summary: %s" % info['summary'])
70 | print("SRPM: %s" % info['sourcerpm'])
71 | print("License: %s" % info['license'])
72 | print(subprocess.check_output(['rpm', '-qlp', info['filepath']]).decode('utf-8'))
73 | else:
74 | previous = rpms1[name]['filename']
75 | if info['evr'] == rpms1[name]['evr']:
76 | # version unchanged, check diff
77 | ret = subprocess.call(['diff', '-q', rpms1[name]['filepath'], info['filepath']],
78 | stdout=DEVNULL, stderr=subprocess.STDOUT)
79 | if (ret != 0):
80 | status = "%s EVR unchanged, new file differs" % previous
81 | else:
82 | status = "%s EVR unchanged, new file identical" % previous
83 | print("*** %s" % status)
84 | else:
85 | status = "%s => %s" % (previous, info['filename'])
86 | print("*** %s" % status)
87 | if info['summary'] != rpms1[name]['summary']:
88 | print("Summary (previous): %s" % rpms1[name]['summary'])
89 | print("Summary: %s" % info['summary'])
90 | if info['license'] != rpms1[name]['license']:
91 | print("License (previous): %s" % rpms1[name]['license'])
92 | print("SRPM: %s" % info['sourcerpm'])
93 | print("License: %s" % info['license'])
94 |
95 | print(subprocess.check_output("rpmdiff -iT %s %s 2>&1 || echo" % (rpms1[name]['filepath'], info['filepath']),
96 | shell=True).decode('utf-8'),
97 | end='')
98 |
99 | if __name__ == "__main__":
100 | main()
101 |
--------------------------------------------------------------------------------
/scripts/create_rpm_git_repo.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | from __future__ import print_function
3 |
4 | import argparse
5 | import os
6 | import re
7 | import subprocess
8 | import sys
9 |
10 | from github import Github
11 |
12 | TEAMS = {
13 | "Hypervisor & Kernel": ['hk', 'hypervisor'],
14 | "OS Platform & Release": ['opr', 'platform'],
15 | 'Security': ['security'],
16 | 'Storage': ['storage'],
17 | 'XAPI & Network': ['xn', 'network', 'xapi'],
18 | }
19 |
20 | TEAM_CHOICES = list(TEAMS.keys()) + [n for ns in TEAMS.values() for n in ns]
21 | TEAM_ALIASES = dict([(alias, team) for team, aliases in TEAMS.items() for alias in aliases]
22 | + [(team, team) for team in TEAMS])
23 |
24 |
25 | def to_gh_team(maintainer: str):
26 | return '@xcp-ng-rpms/' + re.sub(r'\W+', '-', maintainer.lower())
27 |
28 |
29 | def main():
30 | parser = argparse.ArgumentParser(description='Creates a git repository in current directory for RPM spec file and'
31 | ' sources')
32 | parser.add_argument('name', help='name of repository')
33 | parser.add_argument('--local',
34 | help='do not create github repository',
35 | action='store_true')
36 | parser.add_argument('-m', '--maintainer', choices=TEAM_CHOICES, help='Configure code owners to this team')
37 | parser.add_argument('token_file',
38 | help='file containing github authentication token',
39 | nargs='?',
40 | default=os.path.join(os.path.dirname(os.path.realpath(__file__)), 'github.txt'))
41 | args = parser.parse_args()
42 |
43 | if args.maintainer is None:
44 | print('error: please assign a team with --maintainer', file=sys.stderr)
45 | exit(1)
46 | maintainer = TEAM_ALIASES[args.maintainer]
47 |
48 | if not args.local:
49 | # authenticate to Github
50 | if os.access(args.token_file, os.R_OK):
51 | with open(args.token_file) as f:
52 | token = f.read().strip()
53 | elif 'GITHUB_TOKEN' in os.environ:
54 | token = os.environ['GITHUB_TOKEN']
55 | else:
56 | print('error: please provide a github access token', file=sys.stderr)
57 | exit(1)
58 | g = Github(token)
59 |
60 | # create repository
61 | org = g.get_organization('xcp-ng-rpms')
62 | org.create_repo(args.name, "RPM sources for %s" % args.name)
63 |
64 | # initial commit to master
65 | gitignore = """BUILD
66 | BUILDROOT
67 | RPMS
68 | SRPMS
69 | """
70 | readme = """RPM sources for the %s package in XCP-ng (https://xcp-ng.org/).
71 |
72 | Make sure to have `git-lfs` installed before cloning. It is used for handling source archives separately.
73 |
74 | Branches:
75 | * `master` contains sources for the next `x.y` release of XCP-ng.
76 | * `x.y` (e.g. `7.5`) contains sources for the `x.y` release of XCP-ng, with their bugfix and/or security updates.
77 | * `XS-x.y` (e.g. `XS-7.5`), when they exist, contain sources from the `x.y` release of XenServer, with trademarked
78 | or copyrighted material stripped if needed.
79 |
80 | Built RPMs and source RPMs are available on https://updates.xcp-ng.org.
81 | """ % args.name
82 | if args.local:
83 | subprocess.check_call(['git', 'init', '-b', 'master', args.name])
84 | subprocess.check_call(['git', '-C', args.name,
85 | 'remote', 'add', 'origin',
86 | 'https://github.com/xcp-ng-rpms/%s.git' % args.name])
87 | else:
88 | subprocess.check_call(['git', 'clone', 'https://github.com/xcp-ng-rpms/%s.git' % args.name])
89 | os.chdir(args.name)
90 | if "git@github.com" not in subprocess.check_output(
91 | ['git', 'remote', 'get-url', '--push', 'origin'],
92 | universal_newlines=True):
93 | # only set if pushInsteadOf was not configured
94 | subprocess.check_call(['git', 'remote', 'set-url', '--push', 'origin',
95 | 'git@github.com:xcp-ng-rpms/%s.git' % args.name])
96 | with open('.gitignore', 'w') as f:
97 | f.write(gitignore)
98 | subprocess.check_call(['git', 'add', '.gitignore'])
99 | with open('README.md', 'w') as f:
100 | f.write(readme)
101 | subprocess.check_call(['git', 'add', 'README.md'])
102 | # create the CODEOWNERS file
103 | content = f"* {to_gh_team(maintainer)}\n"
104 | # make sure the platform team is owner of all the repositories
105 | if maintainer != TEAM_ALIASES['platform']:
106 | content += f"* {to_gh_team(TEAM_ALIASES['platform'])}\n"
107 | os.mkdir('.github')
108 | with open('.github/CODEOWNERS', 'w') as f:
109 | f.write(content)
110 | subprocess.check_call(['git', 'add', '.github'])
111 | subprocess.check_call(['git', 'add', 'README.md'])
112 | subprocess.check_call(['git', 'lfs', 'install'])
113 | subprocess.check_call(['git', 'lfs', 'track', '*.gz'])
114 | subprocess.check_call(['git', 'lfs', 'track', '*.bz2'])
115 | subprocess.check_call(['git', 'lfs', 'track', '*.xz'])
116 | subprocess.check_call(['git', 'lfs', 'track', '*.zip'])
117 | subprocess.check_call(['git', 'lfs', 'track', '*.tar'])
118 | subprocess.check_call(['git', 'lfs', 'track', '*.tgz'])
119 | subprocess.check_call(['git', 'lfs', 'track', '*.tbz'])
120 | subprocess.check_call(['git', 'add', '.gitattributes'])
121 | subprocess.check_call(['git', 'commit', '-s', '-m', 'Initial commit'])
122 | if not args.local:
123 | subprocess.check_call(['git', 'push'])
124 |
125 | if __name__ == "__main__":
126 | main()
127 |
--------------------------------------------------------------------------------
/scripts/diff_rpms.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Compares 2 RPMs
3 | set -e
4 |
5 | if [ -z $2 ]
6 | then
7 | echo "Usage: $0 RPM1 RPM2"
8 | exit
9 | fi
10 |
11 | rpm1=$(realpath $1)
12 | rpm2=$(realpath $2)
13 |
14 | TMPDIR=$(mktemp -d)
15 | pushd "$TMPDIR"
16 |
17 | mkdir rpm1
18 | cd rpm1
19 | rpm2cpio $rpm1 | cpio -idm
20 | rpm -qp $rpm1 --scripts > scripts.txt
21 | rpm -qp --qf "Name : %{name}
22 | License : %{license}
23 | URL : %{url}
24 | Summary : %{summary}
25 | Description : %{description}
26 | " $rpm1 > info.txt
27 | cd ..
28 |
29 | mkdir rpm2
30 | cd rpm2
31 | rpm2cpio $rpm2 | cpio -idm
32 | rpm -qp $rpm2 --scripts > scripts.txt
33 | rpm -qp --qf "Name : %{name}
34 | License : %{license}
35 | URL : %{url}
36 | Summary : %{summary}
37 | Description : %{description}
38 | " $rpm2 > info.txt
39 | cd ..
40 |
41 | meld rpm1 rpm2
42 |
43 | popd
44 |
45 | \rm -rv "$TMPDIR"
--------------------------------------------------------------------------------
/scripts/download_centos.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | import argparse
3 | import os
4 | import sys
5 | import glob
6 | import subprocess
7 | import csv
8 | import shutil
9 |
10 | def build_url(path):
11 | if path.startswith('7/'):
12 | return "http://mirror.centos.org/centos/" + path
13 | else:
14 | return "http://vault.centos.org/" + path
15 |
16 | def download_rpm(rpm, downloaddir, vendor, local_centos, local_epel):
17 | if vendor == "CentOS":
18 | if local_centos is not None:
19 | shutil.copy2(os.path.join(local_centos, rpm), downloaddir)
20 | print("%s: copied from %s" % (rpm, local_centos))
21 | return
22 | else:
23 | for version in ['7.2.1511', '7.3.1611', '7.4.1708', '7.5.1804', '7']:
24 | for repodir in ['os', 'updates']:
25 | url = build_url('%s/%s/x86_64/Packages/%s' % (version, repodir, rpm))
26 | try:
27 | subprocess.check_call(['wget', '-q', '-O', os.path.join(downloaddir, rpm), url])
28 | print("%s: fetched from %s" % (rpm, url))
29 | return
30 | except:
31 | pass
32 | if vendor == "Fedora Project":
33 | if local_epel is not None:
34 | shutil.copy2(os.path.join(local_epel, rpm), downloaddir)
35 | print("%s: copied from %s" % (rpm, local_epel))
36 | return
37 | else:
38 | url = 'http://mirror.in2p3.fr/pub/epel/7/x86_64/Packages/%s/%s' % (rpm[0], rpm)
39 | try:
40 | subprocess.check_call(['wget', '-q', '-O', os.path.join(downloaddir, rpm), url])
41 | print("%s: fetched from %s" % (rpm, url))
42 | return
43 | except:
44 | pass
45 |
46 | print("%s: NOT FOUND" % rpm)
47 | sys.exit(1)
48 |
49 | def main():
50 | parser = argparse.ArgumentParser(description='Looks for missing RPMs based on their SRPMs and downloads if it can')
51 | parser.add_argument('rpmdir', help='directory that contains the RPMs')
52 | parser.add_argument('srpmdir', help='directory that contains the source RPMs')
53 | parser.add_argument('centos_rpms_and_srpms',
54 | help='file that contains a list of x86_64 and noarch packages with their source RPM')
55 | parser.add_argument('downloaddir', help='where to download the missing RPMs to')
56 | parser.add_argument('--local-centos', help='path to a local directory containing all the CentOS RPMs')
57 | parser.add_argument('--local-epel', help='path to a local directory containing all the EPEL RPMs')
58 | args = parser.parse_args()
59 |
60 | DEVNULL = open(os.devnull, 'w')
61 |
62 | rpmdir = os.path.abspath(args.rpmdir)
63 | srpmdir = os.path.abspath(args.srpmdir)
64 | downloaddir = os.path.abspath(args.downloaddir)
65 | if not os.path.isdir(downloaddir):
66 | os.makedirs(downloaddir)
67 |
68 | local_centos = None
69 | local_epel = None
70 | if args.local_centos:
71 | local_centos=os.path.abspath(args.local_centos)
72 | if args.local_epel:
73 | local_epel=os.path.abspath(args.local_epel)
74 |
75 | srpms_to_rpms = {}
76 | with open(args.centos_rpms_and_srpms, 'r') as csvfile:
77 | for row in csv.reader(csvfile, delimiter=','):
78 | if row[1] not in srpms_to_rpms:
79 | srpms_to_rpms[row[1]] = []
80 | srpms_to_rpms[row[1]].append(row[0])
81 |
82 | srpms = {}
83 | for filepath in sorted(glob.glob(os.path.join(srpmdir, '*.src.rpm'))):
84 | filename = os.path.basename(filepath)
85 |
86 | vendor = subprocess.check_output(['rpm', '-qp', filepath, '--qf', '%{vendor}'], stderr=DEVNULL).decode('utf-8')
87 | if vendor not in ("CentOS", "Fedora Project"):
88 | print("Skipping %s due to unknown vendor %s" % (filename, vendor))
89 | continue
90 |
91 | print("\n*** %s" % filename)
92 | if filename not in srpms_to_rpms:
93 | print("Warning: SRPM not found in reference file")
94 | else:
95 | for rpm in srpms_to_rpms[filename]:
96 | if os.path.exists(os.path.join(rpmdir, rpm)):
97 | print("%s: OK" % rpm)
98 | else:
99 | if os.path.exists(os.path.join(downloaddir, rpm)):
100 | print("%s: already downloaded" % rpm)
101 | else:
102 | download_rpm(rpm, downloaddir, vendor, local_centos, local_epel)
103 |
104 | if __name__ == "__main__":
105 | main()
106 |
--------------------------------------------------------------------------------
/scripts/gen-iso.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -ueE
4 |
5 | usage()
6 | {
7 | echo "----------------------------------------------------------------------------------------"
8 | echo "- The purpose of this script is to be executed inside the container of our development environment to generate ISO files for XCP-ng."
9 | echo "- Usage: $0 "
10 | echo "- All options are mandatory."
11 | echo "- VERSION of XCP-ng: 8.2 or 8.3"
12 | echo "- REPOSITORY: update, testing, ci, ..."
13 | echo "- Example: $0 8.3 testing"
14 | echo "----------------------------------------------------------------------------------------"
15 | }
16 |
17 | if [ $# -lt 2 ]; then
18 | echo "Missing argument(s)"
19 | echo
20 | usage
21 | exit 1
22 | fi
23 |
24 | VERSION="$1"
25 |
26 | if [ "$VERSION" != "8.3" ] && [ "$VERSION" != "8.2" ]; then
27 | echo "Unsupported version. Please choose between 8.2 and 8.3."
28 | exit
29 | fi
30 |
31 | REPOSITORY="$2"
32 |
33 | THEDATE=$(date +%Y%m%d)
34 |
35 | set -x
36 |
37 | NAMEIMG="install-${VERSION}-${REPOSITORY}.img"
38 | NAMEISO="xcp-ng-${VERSION}-${REPOSITORY}-nightly-${THEDATE}.iso"
39 | NAMEISONI="xcp-ng-${VERSION}-${REPOSITORY}-netinstall-nightly-${THEDATE}.iso"
40 |
41 | MNTVOL="XCP-ng ${VERSION} ${REPOSITORY} ${THEDATE}"
42 |
43 | sudo yum install -y genisoimage syslinux grub-tools createrepo_c libfaketime
44 |
45 | cd /data
46 |
47 | sudo ./scripts/create-installimg.sh --srcurl "https://updates.xcp-ng.org/8/${VERSION}" -o "${NAMEIMG}" "${VERSION}":"${REPOSITORY}"
48 |
49 | ./scripts/create-iso.sh --netinstall --srcurl "https://updates.xcp-ng.org/8/${VERSION}" -V "${MNTVOL}" -o "${NAMEISONI}" "${VERSION}":"${REPOSITORY}" "${NAMEIMG}"
50 |
51 | ./scripts/create-iso.sh --srcurl "https://updates.xcp-ng.org/8/${VERSION}" -V "${MNTVOL}" -o "${NAMEISO}" "${VERSION}":"${REPOSITORY}" "${NAMEIMG}"
52 |
--------------------------------------------------------------------------------
/scripts/import_srpm.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | import argparse
3 | import logging
4 | import os
5 | import subprocess
6 |
7 | def call_process(args):
8 | logging.debug("$ %s", args)
9 | subprocess.check_call(args)
10 |
11 | def main():
12 | parser = argparse.ArgumentParser(description='Imports the contents of a source RPM into a git repository')
13 | parser.add_argument('source_rpm', help='local path to source RPM')
14 | parser.add_argument('repository', help='local path to the repository')
15 | parser.add_argument('parent_branch', help='git parent branch from which to branch')
16 | parser.add_argument('branch', help='destination branch')
17 | parser.add_argument('tag', nargs='?', help='tag')
18 | parser.add_argument('-v', '--verbose', action='count', default=0)
19 | parser.add_argument('-p', '--push', action='store_true', help='pull and push')
20 | parser.add_argument('-m', '--master', action='store_true', help='merge to master afterwards')
21 | args = parser.parse_args()
22 |
23 | if args.verbose > 2:
24 | args.verbose = 2
25 | loglevel = {0: logging.WARNING,
26 | 1: logging.INFO,
27 | 2: logging.DEBUG,
28 | }[args.verbose]
29 | logging.basicConfig(format='[%(levelname)s] %(message)s', level=loglevel)
30 |
31 | # check that the source RPM file exists
32 | if not os.path.isfile(args.source_rpm):
33 | parser.error("File %s does not exist." % args.source_rpm)
34 | if not args.source_rpm.endswith('.src.rpm'):
35 | parser.error("File %s does not appear to be a source RPM." % args.source_rpm)
36 | source_rpm_abs = os.path.abspath(args.source_rpm)
37 |
38 | # enter repository directory
39 | if not os.path.isdir(args.repository):
40 | parser.error("Repository directory %s does not exist." % args.repository)
41 | os.chdir(args.repository)
42 |
43 | # check that the working copy is clean
44 | try:
45 | call_process(['git', 'diff-index', '--quiet', 'HEAD', '--'])
46 | print("Working copy is clean.")
47 | except:
48 | raise
49 | parser.error("Git repository seems to have local modifications.")
50 |
51 | # check that there are no untracked files
52 | if len(subprocess.check_output(['git', 'ls-files', '--others', '--exclude-standard'])):
53 | parser.error("There are untracked files.")
54 |
55 | print(" checking out parent ref...")
56 |
57 | if args.push:
58 | call_process(['git', 'fetch'])
59 | call_process(['git', 'checkout', args.parent_branch])
60 | if args.push:
61 | call_process(['git', 'pull'])
62 |
63 | print(" removing everything from SOURCES and SPECS...")
64 |
65 | if os.path.isdir('SOURCES') and len(os.listdir('SOURCES')) > 0:
66 | call_process(['git', 'rm', 'SOURCES/*', '-r'])
67 | if os.path.isdir('SOURCES') and len(os.listdir('SOURCES')) > 0:
68 | parser.error("Files remaining in SOURCES/ after removing the tracked ones. ")
69 | parser.error("Delete them (including hidden files), reset --hard.")
70 | os.mkdir('SOURCES')
71 |
72 | if os.path.isdir('SPECS'):
73 | call_process(['git', 'rm', 'SPECS/*', '-r'])
74 | os.mkdir('SPECS')
75 |
76 | print(" extracting SRPM...")
77 |
78 | os.chdir('SOURCES')
79 | os.system('rpm2cpio "%s" | cpio -idmv' % source_rpm_abs)
80 | os.chdir('..')
81 | os.system('mv SOURCES/*.spec SPECS/')
82 |
83 | print(" removing trademarked or copyrighted files...")
84 |
85 | sources = os.listdir('SOURCES')
86 | deletemsg = "File deleted from the original sources for trademark-related or copyright-related legal reasons.\n"
87 | deleted = []
88 | for f in ['Citrix_Logo_Black.png', 'COPYING.CitrixCommercial']:
89 | if f in sources:
90 | os.unlink(os.path.join('SOURCES', f))
91 | open(os.path.join('SOURCES', "%s.deleted-by-XCP-ng.txt" % f), 'w').write(deletemsg)
92 | deleted.append(f)
93 |
94 | if subprocess.call(['git', 'rev-parse', '--quiet', '--verify', args.branch]) != 0:
95 | call_process(['git', 'checkout', '-b', args.branch])
96 | else:
97 | call_process(['git', 'checkout', args.branch])
98 | call_process(['git', 'add', '--all'])
99 |
100 | print(" committing...")
101 | has_changes = False
102 | try:
103 | call_process(['git', 'diff-index', '--quiet', 'HEAD', '--'])
104 | except:
105 | has_changes = True
106 |
107 | if not has_changes:
108 | print("\nWorking copy has no modifications. Nothing to commit. No changes from previous release?\n")
109 | else:
110 | msg = 'Import %s' % os.path.basename(args.source_rpm)
111 | if deleted:
112 | msg += "\n\nFiles deleted for legal reasons:\n - " + '\n - '.join(deleted)
113 | call_process(['git', 'commit', '-s', '-m', msg])
114 |
115 | # tag
116 | if args.tag is not None:
117 | call_process(['git', 'tag', args.tag])
118 |
119 | # push to remote
120 | if args.push:
121 | call_process(['git', 'push', '--set-upstream', 'origin', args.branch])
122 | if args.tag is not None:
123 | call_process(['git', 'push', 'origin', args.tag])
124 |
125 | print(" switching to master before leaving...")
126 |
127 | call_process(['git', 'checkout', 'master'])
128 |
129 | # merge to master if needed
130 | if args.push and args.master:
131 | print(" merging to master...")
132 | call_process(['git', 'push', 'origin', '%s:master' % args.branch])
133 | call_process(['git', 'pull'])
134 |
135 |
136 | if __name__ == "__main__":
137 | main()
138 |
--------------------------------------------------------------------------------
/scripts/iso-remaster/README.md:
--------------------------------------------------------------------------------
1 | # ISO remastering script for XCP-ng and XenServer
2 |
3 | This script allows to produce a customized installation ISO, using
4 | "patcher" scripts to automate the task.
5 |
6 | Two levels of customization are provided:
7 |
8 | * `--iso-patcher` lets you provide a script that will act on the
9 | unpacked ISO contents (after which the ISO will be rebuilt from the
10 | modified contents)
11 | * `--install-patcher` will similarly unpack the `install.img` (ramdisk
12 | root filesystem) and lets you provide a script acting on his
13 | contents, from which a new `install.img` will be produced and
14 | included in the repacked ISO
15 |
16 | Example usages are provided in `scripts/iso-remaster/samples/`
17 |
18 | ## Prerequisites
19 |
20 | A few tools are required to run, the script will tell you if you miss
21 | some, but you may want to install those first. Depending on your OS
22 | you may use something like:
23 |
24 | ```
25 | apt-get install fakeroot genisoimage syslinux-utils p7zip-full bzip2
26 | ```
27 |
28 | el8 and newer:
29 | ```
30 | dnf install --enablerepo=epel fakeroot genisoimage syslinux p7zip-plugins bzip2
31 | ```
32 |
33 | el7:
34 | ```
35 | yum install --enablerepo=epel fakeroot genisoimage syslinux cdrkit-isotools p7zip-plugins bzip2
36 | ```
37 |
--------------------------------------------------------------------------------
/scripts/iso-remaster/iso-remaster.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 | set -eE
3 | set -o pipefail
4 |
5 | # TODO:
6 | # - new mode using `udiskctl loop-setup` instead of `fuseiso`
7 | # - maybe find workaround for iso-patcher to work in fuse mode
8 | # despite https://github.com/containers/fuse-overlayfs/issues/377
9 |
10 | die() {
11 | echo >&2
12 | echo >&2 "ERROR: $*"
13 | echo >&2
14 | exit 1
15 | }
16 |
17 | usage() {
18 | cat <]
20 |
21 | Options:
22 | --mode Force specified operation mode (default: use best available)
23 | fuse : more resource-friendly, needs fuseiso and fuse-overlayfs
24 | copy : more portable, needs more disk space, wears disk more
25 | --install-patcher, -l