diff --git a/rpm/Dockerfile b/rpm/Dockerfile index 201457764..0ded08e13 100644 --- a/rpm/Dockerfile +++ b/rpm/Dockerfile @@ -1,9 +1,11 @@ -ARG OS=fedora:30 +ARG OS=fedora:31 FROM ${OS} SHELL ["bash", "-euxvc"] RUN dnf install -y rpm-build dnf-utils rpmdevtools; \ + source /etc/os-release; \ + dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-${VERSION_ID}.noarch.rpm; \ dnf clean all # Bootstrap @@ -13,7 +15,9 @@ RUN dnf install -y bison cairo-devel clang cmake dkms flex fontconfig-devel.x86_ libglvnd-devel libjpeg-turbo-devel libjpeg-turbo-devel.i686 \ libtiff-devel libtiff-devel.i686 mesa-libGL-devel mesa-libEGL-devel \ python2 systemd-devel make libxml2-devel elfutils-libelf-devel \ - libbsd-devel; \ + libbsd-devel ffmpeg-devel pulseaudio-libs-devel openssl-devel \ + giflib-devel libXrandr-devel libXcursor-devel libxkbfile-devel \ + dbus-devel mesa-libGLU-devel; \ dnf clean all RUN mkdir -p /root/rpmbuild/SOURCES diff --git a/rpm/SOURCES/dkms.conf b/rpm/SOURCES/dkms.conf index 08386af2b..fa2676a02 100644 --- a/rpm/SOURCES/dkms.conf +++ b/rpm/SOURCES/dkms.conf @@ -1,5 +1,5 @@ PACKAGE_NAME=darling-mach -PACKAGE_VERSION=0.1 +PACKAGE_VERSION=0.1.20200331 BUILT_MODULE_NAME="$PACKAGE_NAME" BUILT_MODULE_LOCATION=lkm/ DEST_MODULE_LOCATION[0]=/extra diff --git a/rpm/SPECS/darling.spec b/rpm/SPECS/darling.spec index f88926c3d..51b5ea468 100644 --- a/rpm/SPECS/darling.spec +++ b/rpm/SPECS/darling.spec @@ -4,8 +4,8 @@ %define debug_package %{nil} Name: darling -Version: 0.1 -Release: 4%{?dist} +Version: 0.1.20200331 +Release: 1%{?dist} Summary: Darling Group: Utility @@ -26,6 +26,8 @@ BuildRequires: libjpeg-turbo-devel(x86-32) libtiff-devel(x86-32) BuildRequires: libglvnd-devel mesa-libGL-devel mesa-libEGL-devel BuildRequires: libxml2-devel elfutils-libelf-devel BuildRequires: libbsd-devel +BuildRequires: ffmpeg-devel pulseaudio-libs-devel openssl-devel giflib-devel +BuildRequires: libXrandr-devel libXcursor-devel libxkbfile-devel dbus-devel mesa-libGLU-devel # Normally rpm will pick up all the mac pieces as dependencies. Disable that. AutoReqProv: no @@ -69,6 +71,12 @@ cp -dr --no-preserve=ownership build/src/startup/rtsig.h %{?buildroot}/usr/src/% %{__install} -m 644 %{SOURCE1} %{?buildroot}/usr/src/%{name}-mach-%{version} +# Note: This is run AFTER the new version is installed... If the new version +# has the same version number as the old, this means the new version is +# uninstalled. +# Order of events: +# - New version %pre -> (installs files) -> %post +# - Old version %preun -> (uninstalls files) -> %postun %preun mach /usr/sbin/dkms remove -m %{name}-mach -v %{version} --all || : @@ -90,6 +98,9 @@ fi %{_prefix}/src/%{name}-mach-%{version} %changelog +* Tue Aug 18 2020 Andy Neff - 0.1.20200331-1 +- Update for latest version and Fedora 31 + * Mon Aug 12 2019 Andy Neff - 0.1-4 - Update for Fedora 30 diff --git a/rpm/docker-compose.yml b/rpm/docker-compose.yml index 88ca3977b..ebef04b71 100644 --- a/rpm/docker-compose.yml +++ b/rpm/docker-compose.yml @@ -5,7 +5,7 @@ services: build: context: . args: - - OS=${RPM_OS-fedora:30} + - OS=${RPM_OS-fedora:31} volumes: - ..:/src:ro - ./RPMS:/root/rpmbuild/RPMS -- 2.54.0 From 4505dc63446d75d558a6089a7ac61ee4aa3b4907 Mon Sep 17 00:00:00 2001 From: Andy Neff Date: Thu, 20 Aug 2020 09:14:02 -0400 Subject: [PATCH 2/3] No long accidentally remove module - There was a bug in the spec, when updating/upgrading would delete the kernel module after it was successfully added, due to the version number being the same. This is finally fixed Signed-off-by: Andy Neff --- rpm/SPECS/darling.spec | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/rpm/SPECS/darling.spec b/rpm/SPECS/darling.spec index 51b5ea468..9e271757f 100644 --- a/rpm/SPECS/darling.spec +++ b/rpm/SPECS/darling.spec @@ -71,21 +71,18 @@ cp -dr --no-preserve=ownership build/src/startup/rtsig.h %{?buildroot}/usr/src/% %{__install} -m 644 %{SOURCE1} %{?buildroot}/usr/src/%{name}-mach-%{version} -# Note: This is run AFTER the new version is installed... If the new version -# has the same version number as the old, this means the new version is -# uninstalled. -# Order of events: -# - New version %pre -> (installs files) -> %post -# - Old version %preun -> (uninstalls files) -> %postun +# https://github.com/dell/dkms/issues/25 %preun mach -/usr/sbin/dkms remove -m %{name}-mach -v %{version} --all || : +/usr/sbin/dkms remove -m %{name}-mach -v %{version} --all --rpm_safe_upgrade || : -%post mach -occurrences=$(/usr/sbin/dkms status | grep "%{name}" | grep "%{version}" | wc -l) -if [ ! ${occurrences} -gt 0 ]; -then - /usr/sbin/dkms add -m %{name}-mach -v %{version} || : +%pre mach +occurrences=$(/usr/sbin/dkms status "%{name}/%{version}" | wc -l) +if [ ! ${occurrences} -gt 0 ]; then + /usr/sbin/dkms remove -m %{name}-mach -v %{version} --all --rpm_safe_upgrade || : fi + +%post mach +/usr/sbin/dkms add -m %{name}-mach -v %{version} --rpm_safe_upgrade || : /usr/sbin/dkms build -m %{name}-mach -v %{version} || : /usr/sbin/dkms install -m %{name}-mach -v %{version} || : -- 2.54.0 From 8ac02960b16250eaf8722ce0b2918a6654cf24db Mon Sep 17 00:00:00 2001 From: Andy Neff Date: Thu, 20 Aug 2020 11:34:15 -0400 Subject: [PATCH 3/3] Stop including the RPMS in the source tarball Signed-off-by: Andy Neff --- rpm/build.bsh | 2 +- rpm/tarup.bsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rpm/build.bsh b/rpm/build.bsh index d0602ed4b..84eb44f08 100644 --- a/rpm/build.bsh +++ b/rpm/build.bsh @@ -7,7 +7,7 @@ if [ -e "/src/rpm/SOURCES/darling.tar.gz" ]; then ln -s /src/rpm/SOURCES/darling.tar.gz /root/rpmbuild/SOURCES/ else # Preparing tarball - tar --transform "s|^\./|./darling/|" -cf /root/rpmbuild/SOURCES/darling.tar.gz -C /src --exclude=.git --exclude SOURCES . + tar --transform "s|^\./|./darling/|" -cf /root/rpmbuild/SOURCES/darling.tar.gz -C /src --exclude=.git --exclude SOURCES --exclude SRPMS --exclude RPMS . fi ln -s /src/rpm/SOURCES/dkms.conf /root/rpmbuild/SOURCES/ #spectool -g -R /src/rpm/SPECS/darling.spec diff --git a/rpm/tarup.bsh b/rpm/tarup.bsh index df0b91fa9..237cb249d 100755 --- a/rpm/tarup.bsh +++ b/rpm/tarup.bsh @@ -6,4 +6,4 @@ CWD="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" if [ -e "${CWD}/SOURCES/darling.tar.gz" ]; then rm "${CWD}/SOURCES/darling.tar.gz" fi -tar --transform "s|^\./|darling/|" -cf "${CWD}/SOURCES/darling.tar.gz" -C "${CWD}/.." --exclude=.git --exclude SOURCES . \ No newline at end of file +tar --transform "s|^\./|darling/|" -cf "${CWD}/SOURCES/darling.tar.gz" -C "${CWD}/.." --exclude=.git --exclude SOURCES --exclude SRPMS --exclude RPMS . \ No newline at end of file