···22331. Install `docker` and `docker-compose`
442. `cd rpm`
55-3. `docker-compose run rpm`
55+3. Build the docker image: `docker-compose build rpm`
66+3. Build the rpms: `docker-compose run rpm` (Can take over half an hour)
674. Now you can run `dnf install RPMS/x84_64/darling*.rpm`
785. `setsebool -P mmap_low_allowed 1` to allow darling low level access and run
89910## Building on other operating systems
10111111-By default, it will build for Fedora 28. To use a different OS, simply
1212+By default, it will build for Fedora 29. To use a different OS, simply
12131313- RPM_OS=fedora:27
1414+ RPM_OS=fedora:27 docker-compose build rpm
14151516## Future improvements
16171718- Everything is based off of dnf. Supporting zypper and yum will reach others
1818-- Because of the way the submodules are handled, this isn't quite ready for releasing but this can be solved using [%autosetup in the %prep to checkout the submodules.](https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Submodules)1919+- Because of the way the submodules are handled, this isn't quite ready for official releasing but this can be solved using [%autosetup in the %prep to checkout the submodules.](https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Submodules)
+11-14
rpm/SPECS/darling.spec
···5566Name: darling
77Version: 0.1
88-Release: 2%{?dist}
88+Release: 3%{?dist}
99Summary: Darling
10101111Group: Utility
1212License: GPLv3
1313URL: https://www.darlinghq.org/
1414+# Use this line for Source0 if there are ever official versions.
1415# Source0: https://github.com/darlinghq/darling/archive/%%{version}/%%{name}-%%{version}.tar.gz
1516Source0: %{name}.tar.gz
1617Source1: dkms.conf
···2526BuildRequires: libglvnd-devel mesa-libGL-devel mesa-libEGL-devel
2627BuildRequires: libxml2-devel elfutils-libelf-devel
2728BuildRequires: libbsd-devel
2828-#It will pick up all the mac pieces as dependencies. No thank you!
2929+# Normally rpm will pick up all the mac pieces as dependencies. Disable that.
2930AutoReqProv: no
30313132%description
···5152 %{__cmake} -DCMAKE_INSTALL_PREFIX=/usr \
5253 -DOpenGL_GL_PREFERENCE=GLVND \
5354 ..
5454- %{make_build}
5555+ %{make_build} -j `nproc`
5556popd
56575758%install
···6768cp -dr --no-preserve=ownership build/src/startup/rtsig.h %{?buildroot}/usr/src/%{name}-mach-%{version}/lkm/darling/
68696970%{__install} -m 644 %{SOURCE1} %{?buildroot}/usr/src/%{name}-mach-%{version}
7070-7171-#%post
7272-#setcap cap_sys_rawio=ep %{_libexecdir}/darling/bin/mldr
7373-#setcap cap_sys_rawio=ep %{_libexecdir}/darling/bin/mldr32
7474-7575-#setsebool -P mmap_low_allowed 1
76717772%preun mach
7878-/usr/sbin/dkms remove -m %{name}-mach -v %{version} --all
7373+/usr/sbin/dkms remove -m %{name}-mach -v %{version} --all || :
79748075%post mach
8176occurrences=$(/usr/sbin/dkms status | grep "%{name}" | grep "%{version}" | wc -l)
8277if [ ! ${occurrences} -gt 0 ];
8378then
8484- /usr/sbin/dkms add -m %{name}-mach -v %{version}
7979+ /usr/sbin/dkms add -m %{name}-mach -v %{version} || :
8580fi
8686-/usr/sbin/dkms build -m %{name}-mach -v %{version}
8787-/usr/sbin/dkms install -m %{name}-mach -v %{version}
8181+/usr/sbin/dkms build -m %{name}-mach -v %{version} || :
8282+/usr/sbin/dkms install -m %{name}-mach -v %{version} || :
88838984%files
9085%doc LICENSE
···9287%{_libexecdir}/darling
93889489%files mach
9595-#%{_sysconfdir}/udev/rules.d/00-darling-mach.rules
9690%{_prefix}/src/%{name}-mach-%{version}
97919892%changelog
9393+* Tue Mar 12 2019 Andy Neff <andy@visionsystemsinc.com> - 0.1-3
9494+- Remove bad commented macro, cleanup, and verify master works on Fedora 29
9595+9996* Wed Jul 18 2018 Andy Neff <andy@visionsystemsinc.com> - 0.1-2
10097- Update for Fedora 28 and new master
10198