Proper CentOS 8 support
This commit is contained in:
parent
7314cc72db
commit
17a4b746cc
14
.github/workflows/ubuntu.yml
vendored
14
.github/workflows/ubuntu.yml
vendored
@ -69,26 +69,30 @@ jobs:
|
|||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install qemu-system-x86
|
sudo apt-get install qemu-system-x86
|
||||||
|
|
||||||
- name: End-to-End Testing [Install one Ubuntu kernel]
|
- name: End-to-End Testing [Install one Ubuntu 18.04 kernel]
|
||||||
run: |
|
run: |
|
||||||
sudo ./out-of-tree --log-level=debug kernel install --distro=Ubuntu --ver=18.04 --kernel=4.15.0-70-generic
|
sudo ./out-of-tree --log-level=debug kernel install --distro=Ubuntu --ver=18.04 --kernel=4.15.0-70-generic
|
||||||
|
|
||||||
- name: End-to-End Testing [Reinstall one Ubuntu kernel]
|
- name: End-to-End Testing [Reinstall one Ubuntu 18.04 kernel]
|
||||||
run: |
|
run: |
|
||||||
sudo ./out-of-tree --log-level=debug kernel install --distro=Ubuntu --ver=18.04 --kernel=4.15.0-70-generic --force
|
sudo ./out-of-tree --log-level=debug kernel install --distro=Ubuntu --ver=18.04 --kernel=4.15.0-70-generic --force
|
||||||
|
|
||||||
- name: End-to-End Testing [Install one Ubuntu kernel w/o headers]
|
- name: End-to-End Testing [Install one Ubuntu 22.04 kernel w/o headers]
|
||||||
run: |
|
run: |
|
||||||
sudo ./out-of-tree --log-level=debug kernel install --distro=Ubuntu --ver=22.04 --kernel=5.19.0-28-generic --no-headers
|
sudo ./out-of-tree --log-level=debug kernel install --distro=Ubuntu --ver=22.04 --kernel=5.19.0-28-generic --no-headers
|
||||||
|
|
||||||
- name: End-to-End Testing [Install one CentOS kernel]
|
- name: End-to-End Testing [Install one CentOS 7 kernel]
|
||||||
run: |
|
run: |
|
||||||
sudo ./out-of-tree --log-level=debug kernel install --distro=CentOS --ver=7 --kernel=3.10.0-862.6.3
|
sudo ./out-of-tree --log-level=debug kernel install --distro=CentOS --ver=7 --kernel=3.10.0-862.6.3
|
||||||
|
|
||||||
- name: End-to-End Testing [Install one CentOS kernel w/o headers]
|
- name: End-to-End Testing [Install one CentOS 7 kernel w/o headers]
|
||||||
run: |
|
run: |
|
||||||
sudo ./out-of-tree --log-level=debug kernel install --distro=CentOS --ver=7 --kernel=3.10.0-1160.71.1 --no-headers
|
sudo ./out-of-tree --log-level=debug kernel install --distro=CentOS --ver=7 --kernel=3.10.0-1160.71.1 --no-headers
|
||||||
|
|
||||||
|
- name: End-to-End Testing [Install one CentOS 8 kernel]
|
||||||
|
run: |
|
||||||
|
sudo ./out-of-tree --log-level=debug kernel install --distro=CentOS --ver=8 --kernel=4.18.0-348.7.1
|
||||||
|
|
||||||
test-end-to-end-genall:
|
test-end-to-end-genall:
|
||||||
name: End-to-End Testing (genall)
|
name: End-to-End Testing (genall)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
20
kernel.go
20
kernel.go
@ -318,6 +318,15 @@ func generateBaseDockerImage(registry string, commands []config.DockerCommand,
|
|||||||
log.Print("See also https://lwn.net/Articles/446528/")
|
log.Print("See also https://lwn.net/Articles/446528/")
|
||||||
err = fmt.Errorf("vsyscall is not available")
|
err = fmt.Errorf("vsyscall is not available")
|
||||||
return
|
return
|
||||||
|
} else if sk.DistroRelease == "8" {
|
||||||
|
// CentOS 8 doesn't have Vault repos by default
|
||||||
|
for _, repover := range []string{
|
||||||
|
"8.0.1905", "8.1.1911", "8.2.2004", "8.3.2011", "8.4.2105", "8.5.2111",
|
||||||
|
} {
|
||||||
|
repo := fmt.Sprintf("[%s]\\nbaseurl=http://vault.centos.org/%s/BaseOS/$basearch/os/\\ngpgcheck=0", repover, repover)
|
||||||
|
d += fmt.Sprintf("RUN echo -e '%s' >> /etc/yum.repos.d/CentOS-Vault.repo\n", repo)
|
||||||
|
}
|
||||||
|
d += "RUN sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/*\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
// enable rpms from old minor releases
|
// enable rpms from old minor releases
|
||||||
@ -326,21 +335,12 @@ func generateBaseDockerImage(registry string, commands []config.DockerCommand,
|
|||||||
d += "RUN sed -i 's;installonly_limit=;installonly_limit=100500;' /etc/yum.conf\n"
|
d += "RUN sed -i 's;installonly_limit=;installonly_limit=100500;' /etc/yum.conf\n"
|
||||||
d += "RUN yum -y update\n"
|
d += "RUN yum -y update\n"
|
||||||
|
|
||||||
if sk.DistroRelease == "8" {
|
|
||||||
// FIXME CentOS Vault repository list for 8 is empty
|
|
||||||
// at the time of this fix; check for it and use a
|
|
||||||
// workaround if it's still empty
|
|
||||||
d += `RUN grep enabled /etc/yum.repos.d/CentOS-Vault.repo` +
|
|
||||||
` || echo -e '[8.0.1905]\nbaseurl=http://vault.centos.org/8.0.1905/BaseOS/$basearch/os/'` +
|
|
||||||
` >> /etc/yum.repos.d/CentOS-Vault.repo` + "\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
d += "RUN yum -y groupinstall 'Development Tools'\n"
|
d += "RUN yum -y groupinstall 'Development Tools'\n"
|
||||||
|
|
||||||
if sk.DistroRelease < "8" {
|
if sk.DistroRelease < "8" {
|
||||||
d += "RUN yum -y install deltarpm\n"
|
d += "RUN yum -y install deltarpm\n"
|
||||||
} else {
|
} else {
|
||||||
d += "RUN yum -y install drpm grub2-tools-minimal " +
|
d += "RUN yum -y install grub2-tools-minimal " +
|
||||||
"elfutils-libelf-devel\n"
|
"elfutils-libelf-devel\n"
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user