From 57f8954030246df4bacf1d9bfbed243048675451 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Thu, 5 Dec 2024 21:24:42 +0100 Subject: [PATCH] add support for rockylinux8 and fix the atkmm-dev issue for Alpine Edge --- Makefile | 2 +- docker/rockylinux8/Dockerfile | 8 ++++++++ rules/atk.json | 12 +++++++++++- rules/chrome.json | 19 ++++++++++++++++++- rules/eigen.json | 5 +++++ rules/gdal.json | 8 +++++++- rules/glpk.json | 12 +----------- rules/gpgme.json | 8 +++++++- rules/gsl.json | 14 +++----------- rules/leptonica.json | 8 +++++++- rules/libarchive.json | 8 +++++++- rules/libavfilter.json | 3 ++- rules/libjq.json | 17 ++++++++++++++++- rules/libmagic.json | 8 +++++++- rules/libmecab.json | 21 +++++++-------------- rules/libmysqlclient.json | 8 +++++++- rules/libprotobuf.json | 8 +++++++- rules/libsndfile.json | 8 +++++++- rules/odbc.json | 8 +++++++- rules/opencl.json | 8 +++++++- rules/opencv.json | 8 +++++++- rules/poppler-glib.json | 8 +++++++- rules/poppler.json | 8 +++++++- rules/protobuf-compiler.json | 8 +++++++- rules/python.json | 3 ++- rules/python3.json | 8 +++++++- rules/redland.json | 8 +++++++- rules/sdl2.json | 5 +++-- rules/suitesparse.json | 8 +++++++- rules/tesseract.json | 12 +++++++++--- rules/v8.json | 3 ++- schema.json | 5 +++-- systems.json | 2 +- test/test-packages.sh | 2 ++ 34 files changed, 213 insertions(+), 68 deletions(-) create mode 100644 docker/rockylinux8/Dockerfile diff --git a/Makefile b/Makefile index f36f6b9..49c1ead 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ IMAGE ?= rstudio/r-system-requirements -VARIANTS ?= focal jammy noble buster bullseye bookworm sid centos7 centos8 rockylinux9 opensuse155 opensuse156 fedora39 fedora40 fedora41 alpine-3.17 alpine-3.18 alpine-3.19 alpine-3.20 alpine-edge +VARIANTS ?= focal jammy noble buster bullseye bookworm sid centos7 centos8 rockylinux8 rockylinux9 opensuse155 opensuse156 fedora39 fedora40 fedora41 alpine-3.17 alpine-3.18 alpine-3.19 alpine-3.20 alpine-edge RULES ?= rules/*.json diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile new file mode 100644 index 0000000..a66f4e9 --- /dev/null +++ b/docker/rockylinux8/Dockerfile @@ -0,0 +1,8 @@ +FROM rockylinux:8 + +RUN dnf upgrade -y -q && \ + dnf install -y glibc-langpack-en + +# Install jq +RUN curl -fsSL -o /usr/local/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 && \ + chmod +x /usr/local/bin/jq diff --git a/rules/atk.json b/rules/atk.json index 73082cb..5c9eb6a 100644 --- a/rules/atk.json +++ b/rules/atk.json @@ -75,13 +75,23 @@ } ] }, + { + "packages": ["atkmm2.36-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": [ "edge" ] + } + ] + }, { "packages": ["atkmm-dev"], "constraints": [ { "os": "linux", "distribution": "alpine", - "versions": [ "3.17", "3.18", "3.19", "3.20", "edge" ] + "versions": [ "3.17", "3.18", "3.19", "3.20" ] } ] } diff --git a/rules/chrome.json b/rules/chrome.json index 731d208..7494a4c 100644 --- a/rules/chrome.json +++ b/rules/chrome.json @@ -50,7 +50,24 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] + } + ] + }, + { + "pre_install": [ + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled powertools" }, + { "command": "dnf install -y epel-release" } + ], + "packages": ["chromium"], + "post_install": [], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, diff --git a/rules/eigen.json b/rules/eigen.json index 419f947..100eb34 100644 --- a/rules/eigen.json +++ b/rules/eigen.json @@ -72,6 +72,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, diff --git a/rules/gdal.json b/rules/gdal.json index 64a550b..23a1320 100644 --- a/rules/gdal.json +++ b/rules/gdal.json @@ -108,6 +108,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -139,7 +144,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/glpk.json b/rules/glpk.json index 1f5165a..1d4e4f7 100644 --- a/rules/glpk.json +++ b/rules/glpk.json @@ -58,17 +58,7 @@ "os": "linux", "distribution": "centos", "versions": ["8"] - } - ] - }, - { - "packages": ["glpk-devel"], - "pre_install": [ - { "command": "dnf install -y dnf-plugins-core" }, - { "command": "dnf config-manager --set-enabled crb" }, - { "command": "dnf install -y epel-release" } - ], - "constraints": [ + }, { "os": "linux", "distribution": "rockylinux" diff --git a/rules/gpgme.json b/rules/gpgme.json index d504566..2ed11f0 100644 --- a/rules/gpgme.json +++ b/rules/gpgme.json @@ -39,6 +39,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -51,7 +56,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/gsl.json b/rules/gsl.json index 8e58943..648029a 100644 --- a/rules/gsl.json +++ b/rules/gsl.json @@ -29,19 +29,11 @@ "os": "linux", "distribution": "redhat", "versions": ["7", "8"] - } - ] - }, - { - "packages": ["gsl-devel"], - "pre_install": [ - { "command": "dnf install -y dnf-plugins-core" }, - { "command": "dnf config-manager --set-enabled crb" } - ], - "constraints": [ + }, { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["8","9"] } ] }, diff --git a/rules/leptonica.json b/rules/leptonica.json index 12606b4..9f4c0ec 100644 --- a/rules/leptonica.json +++ b/rules/leptonica.json @@ -40,6 +40,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -52,7 +57,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/libarchive.json b/rules/libarchive.json index 03005da..53b3014 100644 --- a/rules/libarchive.json +++ b/rules/libarchive.json @@ -39,6 +39,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -51,7 +56,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/libavfilter.json b/rules/libavfilter.json index 22e24cb..b2c75de 100644 --- a/rules/libavfilter.json +++ b/rules/libavfilter.json @@ -33,7 +33,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/libjq.json b/rules/libjq.json index f9552e2..522d5fc 100644 --- a/rules/libjq.json +++ b/rules/libjq.json @@ -38,7 +38,22 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] + } + ] + }, + { + "packages": ["jq-devel"], + "pre_install": [ + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled powertools" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, diff --git a/rules/libmagic.json b/rules/libmagic.json index ef7643d..d633906 100644 --- a/rules/libmagic.json +++ b/rules/libmagic.json @@ -49,6 +49,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -61,7 +66,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/libmecab.json b/rules/libmecab.json index 0035d31..b349cdf 100644 --- a/rules/libmecab.json +++ b/rules/libmecab.json @@ -37,7 +37,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, @@ -47,6 +48,11 @@ { "os": "linux", "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -85,19 +91,6 @@ "versions": ["9"] } ] - }, - { - "packages": ["mecab-devel"], - "pre_install": [ - { "command": "dnf install -y dnf-plugins-core" }, - { "command": "dnf config-manager --set-enabled crb" } - ], - "constraints": [ - { - "os": "linux", - "distribution": "rockylinux" - } - ] } ] } diff --git a/rules/libmysqlclient.json b/rules/libmysqlclient.json index 873d802..b0437a4 100644 --- a/rules/libmysqlclient.json +++ b/rules/libmysqlclient.json @@ -50,6 +50,11 @@ { "os": "linux", "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -62,7 +67,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/libprotobuf.json b/rules/libprotobuf.json index b347393..12b1141 100644 --- a/rules/libprotobuf.json +++ b/rules/libprotobuf.json @@ -50,6 +50,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -71,7 +76,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/libsndfile.json b/rules/libsndfile.json index d37797e..41132f4 100644 --- a/rules/libsndfile.json +++ b/rules/libsndfile.json @@ -44,6 +44,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -56,7 +61,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/odbc.json b/rules/odbc.json index 2e466a7..c086ce0 100644 --- a/rules/odbc.json +++ b/rules/odbc.json @@ -29,6 +29,11 @@ { "os": "linux", "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -41,7 +46,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/opencl.json b/rules/opencl.json index f4ee223..426483e 100644 --- a/rules/opencl.json +++ b/rules/opencl.json @@ -40,6 +40,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -48,7 +53,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] }, { "os": "linux", diff --git a/rules/opencv.json b/rules/opencv.json index a9475dd..5031ddb 100644 --- a/rules/opencv.json +++ b/rules/opencv.json @@ -70,6 +70,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -97,7 +102,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/poppler-glib.json b/rules/poppler-glib.json index e797ff0..5d3619f 100644 --- a/rules/poppler-glib.json +++ b/rules/poppler-glib.json @@ -44,6 +44,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -56,7 +61,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/poppler.json b/rules/poppler.json index 347a300..e2b0bf2 100644 --- a/rules/poppler.json +++ b/rules/poppler.json @@ -44,6 +44,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -56,7 +61,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/protobuf-compiler.json b/rules/protobuf-compiler.json index 8a57578..86985cb 100644 --- a/rules/protobuf-compiler.json +++ b/rules/protobuf-compiler.json @@ -50,6 +50,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -71,7 +76,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/python.json b/rules/python.json index 49b054b..e729743 100644 --- a/rules/python.json +++ b/rules/python.json @@ -49,7 +49,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] }, { "os": "linux", diff --git a/rules/python3.json b/rules/python3.json index 1e2d6a0..f6c8421 100644 --- a/rules/python3.json +++ b/rules/python3.json @@ -41,6 +41,11 @@ "os": "linux", "distribution": "redhat", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -79,7 +84,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] }, { "os": "linux", diff --git a/rules/redland.json b/rules/redland.json index 6448c11..8bb3731 100644 --- a/rules/redland.json +++ b/rules/redland.json @@ -39,6 +39,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -51,7 +56,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/sdl2.json b/rules/sdl2.json index 9fb5e80..037ec73 100644 --- a/rules/sdl2.json +++ b/rules/sdl2.json @@ -25,7 +25,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] }, { "os": "linux", @@ -132,4 +133,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/rules/suitesparse.json b/rules/suitesparse.json index 99189bc..45c62ce 100644 --- a/rules/suitesparse.json +++ b/rules/suitesparse.json @@ -52,6 +52,11 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } ] }, @@ -64,7 +69,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/tesseract.json b/rules/tesseract.json index a363ae9..20f724b 100644 --- a/rules/tesseract.json +++ b/rules/tesseract.json @@ -49,9 +49,14 @@ "os": "linux", "distribution": "centos", "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["8"] } - ] - }, + ] + }, { "packages": ["tesseract-devel"], "pre_install": [ @@ -61,7 +66,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] } ] }, diff --git a/rules/v8.json b/rules/v8.json index 14c4986..95434e3 100644 --- a/rules/v8.json +++ b/rules/v8.json @@ -84,7 +84,8 @@ "constraints": [ { "os": "linux", - "distribution": "rockylinux" + "distribution": "rockylinux", + "versions": ["9"] }, { "os": "linux", diff --git a/schema.json b/schema.json index bea5aff..d3fa610 100644 --- a/schema.json +++ b/schema.json @@ -162,7 +162,8 @@ }, "rockylinux": { "enum": [ - "9" + "9", + "8" ] }, "redhat": { @@ -422,4 +423,4 @@ "additionalProperties": false } } -} \ No newline at end of file +} diff --git a/systems.json b/systems.json index 5b82f5f..33401c9 100644 --- a/systems.json +++ b/systems.json @@ -17,7 +17,7 @@ { "os": "linux", "distribution": "rockylinux", - "versions": [ "9" ] + "versions": [ "8", "9" ] }, { "os": "linux", diff --git a/test/test-packages.sh b/test/test-packages.sh index 72a118c..f38f4ee 100755 --- a/test/test-packages.sh +++ b/test/test-packages.sh @@ -15,6 +15,7 @@ declare -A os_identifiers=( [centos7]='centos' [centos8]='centos' [rockylinux9]='rockylinux' + [rockylinux8]='rockylinux' [rhel7]='redhat' [rhel8]='redhat' [rhel9]='redhat' @@ -43,6 +44,7 @@ declare -A versions=( [centos7]='7' [centos8]='8' [rockylinux9]='9' + [rockylinux8]='8' [rhel7]='7' [rhel8]='8' [rhel9]='9'