From ae2a5ca1f263a80fb1cb8f82d54c0251ff1efabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Andriot?= Date: Wed, 3 May 2023 23:02:51 +0200 Subject: RPM: update build scripts for pclinuxos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: François Andriot --- redhat/applications/office/kbibtex/kbibtex.spec | 2 +- redhat/applications/office/koffice/koffice.spec | 2 ++ redhat/applications/office/tellico/tellico.spec | 6 +----- .../settings/tde-guidance/tde-guidance.spec | 6 +++--- redhat/core/tdebindings/tdebindings.spec | 2 +- redhat/dependencies/pytqt/pytqt.spec | 4 ++-- redhat/dependencies/sip4-tqt/sip4-tqt.spec | 2 +- redhat/docker/pclinuxos.pkg | 19 ++++++++++++++----- redhat/docker/pclinuxos.sh | 15 +++++---------- redhat/docker/pclinuxos/Dockerfile.x86_64 | 11 ++++++++--- redhat/docker/pclinuxos/packages.x86_64 | 6 ++++-- redhat/libraries/pytde/pytde.spec | 2 +- 12 files changed, 43 insertions(+), 34 deletions(-) diff --git a/redhat/applications/office/kbibtex/kbibtex.spec b/redhat/applications/office/kbibtex/kbibtex.spec index bef708968..7026fc21e 100644 --- a/redhat/applications/office/kbibtex/kbibtex.spec +++ b/redhat/applications/office/kbibtex/kbibtex.spec @@ -80,7 +80,7 @@ BuildRequires: openssl-devel BuildRequires: libxslt-devel # YAZ support -%if 0%{?fedora} || 0%{?mgaversion} || 0%{?suse_version} +%if 0%{?fedora} || 0%{?mgaversion} || 0%{?pclinuxos} || 0%{?suse_version} BuildRequires: libyaz-devel %endif diff --git a/redhat/applications/office/koffice/koffice.spec b/redhat/applications/office/koffice/koffice.spec index e137cc9b9..841a44c04 100644 --- a/redhat/applications/office/koffice/koffice.spec +++ b/redhat/applications/office/koffice/koffice.spec @@ -246,7 +246,9 @@ BuildRequires: wv2-devel # MESA support %if 0%{?mgaversion} || 0%{?mdkversion} +%if 0%{?pclinuxos} == 0 BuildRequires: %{_lib}mesagl-devel +%endif BuildRequires: %{_lib}mesaglu1-devel %endif %if 0%{?fedora} || 0%{?rhel} diff --git a/redhat/applications/office/tellico/tellico.spec b/redhat/applications/office/tellico/tellico.spec index ee92c8f4b..636c6deb2 100644 --- a/redhat/applications/office/tellico/tellico.spec +++ b/redhat/applications/office/tellico/tellico.spec @@ -220,14 +220,10 @@ documentation. %{tde_datadir}/apps/tellico/*.xml %{tde_datadir}/apps/tellico/*.png %{tde_datadir}/apps/tellico/entry-templates -%if 0%{?rhel} == 7 || 0%{?suse_version} %{tde_datadir}/apps/tellico/*.py* -%if 0%{?rhel} == 7 +%if 0%{?rhel} == 7 || 0%{?mgaversion} >= 8 %{tde_datadir}/apps/tellico/__pycache__/ %endif -%else -%pycached %{tde_datadir}/apps/tellico/*.py -%endif %{tde_datadir}/apps/tellico/pics %{tde_datadir}/apps/tellico/report-templates %{tde_datadir}/apps/tellico/tellico.dtd diff --git a/redhat/applications/settings/tde-guidance/tde-guidance.spec b/redhat/applications/settings/tde-guidance/tde-guidance.spec index 946a06d97..c743098c2 100644 --- a/redhat/applications/settings/tde-guidance/tde-guidance.spec +++ b/redhat/applications/settings/tde-guidance/tde-guidance.spec @@ -191,7 +191,7 @@ or can be run as standalone applications. %{tde_datadir}/apps/guidance/ %{tde_tdeappdir}/*.desktop %{tde_datadir}/icons/crystalsvg/*/*/*.png -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/%{name}/SMBShareSelectDialog.py* %{python_sitearch}/%{name}/SimpleCommandRunner.py* %{python_sitearch}/%{name}/fuser.py* @@ -259,7 +259,7 @@ Guidance configuration tools. %files backends %defattr(-,root,root,-) %dir %{python_sitearch}/%{name} -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/%{name}/MicroHAL.py* %{python_sitearch}/%{name}/drivedetect.py* %{python_sitearch}/%{name}/wineread.py* @@ -307,7 +307,7 @@ suspend using HAL. %files powermanager %defattr(-,root,root,-) %{tde_bindir}/guidance-power-manager -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/%{name}/MicroHAL.py* %{python_sitearch}/%{name}/guidance-power-manager.py* %{python_sitearch}/%{name}/powermanage.py* diff --git a/redhat/core/tdebindings/tdebindings.spec b/redhat/core/tdebindings/tdebindings.spec index 9f3bf5d1b..87f59ea32 100644 --- a/redhat/core/tdebindings/tdebindings.spec +++ b/redhat/core/tdebindings/tdebindings.spec @@ -686,7 +686,7 @@ This package is part of the official TDE bindings module. %defattr(-,root,root,-) %{python_sitearch}/pcop.la %{python_sitearch}/pcop.so -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/pydcop.py* %if 0%{?rhel} == 7 %{python_sitearch}/__pycache__/pydcop.*.pyc diff --git a/redhat/dependencies/pytqt/pytqt.spec b/redhat/dependencies/pytqt/pytqt.spec index d7285cd3c..a400ee336 100644 --- a/redhat/dependencies/pytqt/pytqt.spec +++ b/redhat/dependencies/pytqt/pytqt.spec @@ -140,7 +140,7 @@ same way in both languages (with syntax differences, of course) %defattr(-,root,root,-) %doc NEWS README %dir %{python_sitearch}/PyTQt -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/PyTQt/__init__.py* %if 0%{?rhel} == 7 %{python_sitearch}/PyTQt/__pycache__/__init__.*.pyc @@ -230,7 +230,7 @@ packages based on them, like PyTDE. %files -n pytqt-devel %defattr(-,root,root,-) -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/PyTQt/pytqtconfig.py* %if 0%{?rhel} == 7 %{python_sitearch}/PyTQt/__pycache__/pytqtconfig.*.pyc diff --git a/redhat/dependencies/sip4-tqt/sip4-tqt.spec b/redhat/dependencies/sip4-tqt/sip4-tqt.spec index 0c60df09d..9a4d12774 100644 --- a/redhat/dependencies/sip4-tqt/sip4-tqt.spec +++ b/redhat/dependencies/sip4-tqt/sip4-tqt.spec @@ -111,7 +111,7 @@ specificity towards C++ and Python. %files -n sip4-tqt %defattr(-,root,root,-) %{python_sitearch}/sip_tqt.so -%if 0%{?rhel} == 7 || 0%{?suse_version} +%if 0%{?pclinuxos} || 0%{?rhel} == 7 || 0%{?suse_version} %{python_sitearch}/sip_tqt_config.py* %{python_sitearch}/sip_tqt_distutils.py* %if 0%{?rhel} == 7 diff --git a/redhat/docker/pclinuxos.pkg b/redhat/docker/pclinuxos.pkg index 30bb665db..7d4f78529 100644 --- a/redhat/docker/pclinuxos.pkg +++ b/redhat/docker/pclinuxos.pkg @@ -22,13 +22,13 @@ gawk gcrypt gdk-pixbuf2.0 glibc -glibc-devel gnupg gnutls grep gzip icu icu69-data +icu71-data info-install kernel-userspace-headers krb5 @@ -39,7 +39,6 @@ lib64apt-pkg0 lib64assuan0 lib64attr1 lib64audit1 -lib64audit-devel lib64blkid1 lib64brotlicommon1 lib64brotlidec1 @@ -69,8 +68,12 @@ lib64glib2.0_0 lib64gmp10 lib64gnutls30 lib64gpg-error0 +libgpg-error-common +lib64gsasl lib64gudev1.0_0 lib64icu69 +lib64icu71 +lib64idn11 lib64idn2_0 lib64intl8 lib64iso9660_7 @@ -86,6 +89,7 @@ lib64cap-ng0 lib64lua5.1 lib64lzma5 lib64magic1 +lib64mnl0 lib64mount1 lib64mpfr6 lib64ncurses5 @@ -97,11 +101,11 @@ lib64notify4 lib64npth0 lib64nspr4 lib64nss3 +lib64ntlm lib64openssl1.0.0 lib64openssl1.1.0 lib64opts25 lib64pam0 -lib64pam-devel lib64pam_userpass1 lib64pcre1 lib64pcre2_0 @@ -110,13 +114,15 @@ lib64png16_16 lib64png3 lib64popt0 lib64psl5 -lib64python3.6 +lib64python3.10 lib64readline7 lib64readline8 lib64rpm1 lib64rtmp1 lib64sasl2 lib64secret1_0 +lib64selinux +lib64sharpyuv0 lib64sigsegv2 lib64smartcols1 lib64sqlite3_0 @@ -127,6 +133,7 @@ lib64tiff3 lib64tiff5 lib64tirpc3 lib64udev0 +lib64udev lib64unbound8 lib64unistring2 lib64usb1.0_0 @@ -137,7 +144,6 @@ lib64webp7 lib64x11_6 lib64xau6 lib64xcrypt1 -lib64xcrypt-devel lib64xdmcp6 lib64xml2_2 lib64zstd1 @@ -147,6 +153,7 @@ libnotify libstdc++6 libtirpc libxcb +lsb-release makedev mktemp multiarch-utils @@ -158,6 +165,7 @@ openssl p11-kit pam pam_tcb +patch perl perl-base perl-File-Sync @@ -169,6 +177,7 @@ popt-data procps publicsuffix-list-dafsa python3 +python3-rpm-macros rmt rootcerts rpm diff --git a/redhat/docker/pclinuxos.sh b/redhat/docker/pclinuxos.sh index cd7689569..1b428daf0 100755 --- a/redhat/docker/pclinuxos.sh +++ b/redhat/docker/pclinuxos.sh @@ -1,7 +1,7 @@ #!/bin/bash -ex NAME="pclinuxos" -VERSION="${1:-2021}" # E.g: '2020' +VERSION="${1:-2023}" # E.g: '2020' IMAGE="${NAME}:${VERSION}" INSTALLROOT="/dev/shm/${IMAGE}" @@ -29,19 +29,17 @@ sudo mount --bind "/dev" "${INSTALLROOT}/dev" sudo mkdir -p "${INSTALLROOT}/var/lib/rpm" sudo rpmdb --initdb --root="${INSTALLROOT}" -sudo rpm -Uvh --noscripts --root="${INSTALLROOT}" "/dev/shm/packages/"*".rpm" - -# Fix lzma library location -sudo mv "${INSTALLROOT}/lib/liblzma."* "${INSTALLROOT}/lib64" +sudo rpm -Uvh --noscripts --nodeps --root="${INSTALLROOT}" "/dev/shm/packages/"*".rpm" # Réinstall distro from inside chroot sudo mount --bind "/dev/shm" "${INSTALLROOT}/dev/shm" sudo rm -rf "${INSTALLROOT}/var/lib/rpm" sudo chroot "${INSTALLROOT}" rpmdb --initdb -sudo chroot "${INSTALLROOT}" rpm -Uvh "/dev/shm/packages/"*".rpm" +sudo chroot "${INSTALLROOT}" rpm -Uvh --nodeps "/dev/shm/packages/"*".rpm" sudo cp "/etc/resolv.conf" "${INSTALLROOT}/etc/resolv.conf" sudo chroot "${INSTALLROOT}" apt-get -y update +sudo chroot "${INSTALLROOT}" apt-get -y --fix-broken install sudo chroot "${INSTALLROOT}" apt-get -y upgrade sudo umount "${INSTALLROOT}/dev/shm" @@ -52,7 +50,4 @@ sudo tar -C "${INSTALLROOT}" -c . | docker import - "${IMAGE}" docker run -ti --rm "${IMAGE}" ls -l sudo rm -rf "${INSTALLROOT}" -docker image save "${IMAGE}" >"${IMAGE}.tar" -rm -f "${IMAGE}.tar.gz" -pigz -9 "${IMAGE}.tar" -mv -vf "${IMAGE}.tar.gz" "${HOME}/tde/obs" +docker image save "${IMAGE}" | pigz -9 >"${HOME}/tde/docker/${IMAGE}.tar.gz" diff --git a/redhat/docker/pclinuxos/Dockerfile.x86_64 b/redhat/docker/pclinuxos/Dockerfile.x86_64 index 2aa9f8200..252953938 100644 --- a/redhat/docker/pclinuxos/Dockerfile.x86_64 +++ b/redhat/docker/pclinuxos/Dockerfile.x86_64 @@ -1,4 +1,4 @@ -FROM pclinuxos:2021 +FROM pclinuxos:2023 ARG TDE_VERSION=14.1.0 ARG ARCH=x86_64 @@ -6,8 +6,8 @@ ARG ARCH=x86_64 # Update distribution # Install Trinity build dependencies COPY packages.${ARCH} /packages -RUN apt-get -y update \ - && apt-get -y install glibc \ +RUN set -x \ + && apt-get -y update \ && apt-get -y dist-upgrade \ && apt-get -y install $(