this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Major overhaul for RPM packaging

First of all, the RPM packaging code hadn't been updated in quite a
while (it was still using the LKM), so this updates it to build with
darlingserver instead of the LKM.

Second, this update also adds a dependency generator that is used at
build time to automatically pick up the ELF dependencies in installed
Mach-Os. I prefer Debian's approach to this (simply having the option to
dynamically generate the requirements into a file at build time). This
seems like a convoluted approach (having to install a `fileattribute`
globally on the build machine), but at least it works.

Finally, this update also splits the package into multiple component
packages like the Debian packages. Note that `darling-cli-devenv` needs
to install files with the same names as those installed by
`darling-gui`, so it has to be built as a completely separate package. To
avoid having to rebuild a large portion of the project (about 8000
files), we simply generate a binary "source" tarball when building the
main Darling packages and then use this as the source for
`darling-cli-devenv`.

authored by

Ariel Abreu and committed by
Thomas A
f1153d9b 0d3e0176

+398 -69
+1
.gitignore
··· 38 38 rpm/SOURCES 39 39 rpm/RPMS 40 40 rpm/SRPMS 41 + rpm/BUILD 41 42 42 43 debbuild 43 44 debian/changelog
+5 -4
rpm/Dockerfile
··· 1 - ARG OS=fedora:31 1 + ARG OS=fedora:37 2 2 FROM ${OS} 3 3 4 4 SHELL ["bash", "-euxvc"] ··· 9 9 dnf clean all 10 10 11 11 # Bootstrap 12 - RUN dnf install -y bison cairo-devel clang cmake dkms flex fontconfig-devel.x86_64 \ 12 + RUN dnf install -y bison cairo-devel clang cmake flex fontconfig-devel.x86_64 \ 13 13 fontconfig-devel.i686 freetype-devel.x86_64 freetype-devel.i686 \ 14 - fuse-devel glibc-devel glibc-devel.i686 kernel-devel \ 14 + fuse-devel glibc-devel glibc-devel.i686 \ 15 15 libglvnd-devel libjpeg-turbo-devel libjpeg-turbo-devel.i686 \ 16 16 libtiff-devel libtiff-devel.i686 mesa-libGL-devel mesa-libEGL-devel \ 17 17 python2 systemd-devel make libxml2-devel elfutils-libelf-devel \ 18 18 libbsd-devel ffmpeg-devel pulseaudio-libs-devel openssl-devel \ 19 19 giflib-devel libXrandr-devel libXcursor-devel libxkbfile-devel \ 20 - dbus-devel mesa-libGLU-devel \ 20 + dbus-devel mesa-libGLU-devel vulkan-headers llvm-devel libcap-devel \ 21 + vulkan-loader-devel \ 21 22 # git - so I can determine the describe of the last commit, not an rpm dependency 22 23 git; \ 23 24 dnf clean all
-10
rpm/SOURCES/dkms.conf
··· 1 - PACKAGE_NAME=darling-mach 2 - # PACKAGE_VERSION is rewritten by the darling.spec file, so this value is really a place holder 3 - PACKAGE_VERSION=0.1 4 - BUILT_MODULE_NAME="$PACKAGE_NAME" 5 - BUILT_MODULE_LOCATION=lkm/ 6 - DEST_MODULE_LOCATION[0]=/extra 7 - MAKE[0]="'make' -C lkm/ MIGDIR=/usr/src/${PACKAGE_NAME}-${PACKAGE_VERSION}/miggen MIGDIR_REL=../miggen KERNELVERSION=${kernelver}" 8 - CLEAN="'make' -C lkm/ MIGDIR=/usr/src/${PACKAGE_NAME}-${PACKAGE_VERSION}/miggen MIGDIR_REL=../miggen clean" 9 - REMAKE_INITRD=no 10 - AUTOINSTALL=yes
+50
rpm/SPECS/darling-cli-devenv.spec
··· 1 + # NOTE: this package MUST be built after building the main `darling` package 2 + 3 + #disable binary striping, in case this is a problem 4 + %global __os_install_post %{nil} 5 + #Disable debug packages, since these are emulated files mostly 6 + %define debug_package %{nil} 7 + %define commit_date %{getenv:DARLING_COMMIT_DATE} 8 + %if "%{commit_date}" == "" 9 + %define commit_date 0 10 + %endif 11 + %global _buildshell /bin/bash 12 + 13 + Name: darling-cli-devenv 14 + Version: 0.1.%{commit_date} 15 + Release: 1%{?dist} 16 + Summary: Darling developer environment 17 + 18 + Group: Utility 19 + License: GPLv3 20 + URL: https://www.darlinghq.org/ 21 + # Use this line for Source0 if there are ever official versions. 22 + # Source0: https://github.com/darlinghq/darling/archive/%%{version}/%%{name}-%%{version}.tar.gz 23 + Source0: %{name}.tar.gz 24 + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 25 + 26 + BuildRequires: bash 27 + 28 + Requires: darling-cli darling-python darling-ruby darling-perl darling-cli-devenv-gui-common darling-cli-devenv-gui-stubs-common darling-iokitd-cli-devenv-gui-common 29 + Conflicts: darling-gui darling-gui-stubs 30 + 31 + %description 32 + A Darling environment for CLI-only programs for building and developing using the command line developer tools 33 + 34 + %prep 35 + %setup -q -n %{name} 36 + 37 + %build 38 + true 39 + 40 + %install 41 + [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 42 + cp -rla . %{?buildroot}/ 43 + 44 + %files 45 + %{_libexecdir}/darling 46 + 47 + %changelog 48 + * Tue May 02 2023 Ariel Abreu <facekapow@outlook.com> - 0.1.20230502-1 49 + - Initial version working for Fedora 37 50 + - Split package off from `darling` package
+45
rpm/SPECS/darling-macho-deps.spec
··· 1 + %global __os_install_post %{nil} 2 + %define debug_package %{nil} 3 + %define commit_date %{getenv:DARLING_COMMIT_DATE} 4 + %if "%{commit_date}" == "" 5 + %define commit_date 0 6 + %endif 7 + %global _buildshell /bin/bash 8 + 9 + Name: darling-macho-deps 10 + Version: 0.1.%{commit_date} 11 + Release: 1%{?dist} 12 + Summary: Dependency generator for Mach-O files (used by Darling) 13 + 14 + Group: Utility 15 + License: GPLv3 16 + URL: https://www.darlinghq.org/ 17 + # Use this line for Source0 if there are ever official versions. 18 + # Source0: https://github.com/darlinghq/darling/archive/%%{version}/%%{name}-%%{version}.tar.gz 19 + Source0: %{name}.tar.gz 20 + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 21 + 22 + BuildRequires: bash 23 + 24 + %description 25 + An RPM dependency generator for Mach-O files, used by Darling to generate ELF dependencies for the library it builds 26 + 27 + %prep 28 + %setup -q -n %{name} 29 + 30 + %build 31 + true 32 + 33 + %install 34 + [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 35 + %{__mkdir_p} %{?buildroot}/usr/lib/rpm/fileattrs 36 + cp darling.attr %{?buildroot}/usr/lib/rpm/fileattrs/ 37 + cp darling-deps.req %{?buildroot}/usr/lib/rpm/ 38 + 39 + %files 40 + /usr/lib/rpm/fileattrs/darling.attr 41 + /usr/lib/rpm/darling-deps.req 42 + 43 + %changelog 44 + * Tue May 02 2023 Ariel Abreu <facekapow@outlook.com> - 0.1.20230502-1 45 + - Initial version working for Fedora 37
+260 -48
rpm/SPECS/darling.spec
··· 4 4 %define debug_package %{nil} 5 5 %define commit_date %{getenv:DARLING_COMMIT_DATE} 6 6 %if "%{commit_date}" == "" 7 - %define commit_date 0 7 + %define commit_date 0 8 8 %endif 9 + %global _buildshell /bin/bash 10 + 11 + # explicitly ignore all the bogus dependencies that the auto-scanner finds in `/usr/libexec/darling` 12 + # 13 + # note that we *don't* want to simply use `__requires_exclude_from` to exclude `/usr/libexec/darling` from scanning, 14 + # since we *do* want our Mach-O scanner to scan that tree (and there's no way to only exclude paths for some dependency generators; it's all or nothing). 15 + %global __requires_exclude ^(/bin/sed|/bin/sh|/usr/bin/perl|/usr/bin/python2.7|/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7|/usr/bin/python|/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby|/usr/bin/env|/usr/bin/ruby)$ 9 16 10 17 Name: darling 11 18 Version: 0.1.%{commit_date} ··· 18 25 # Use this line for Source0 if there are ever official versions. 19 26 # Source0: https://github.com/darlinghq/darling/archive/%%{version}/%%{name}-%%{version}.tar.gz 20 27 Source0: %{name}.tar.gz 21 - Source1: dkms.conf 22 28 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 23 29 24 30 BuildRequires: cmake clang bison flex python2 glibc-devel(x86-64) glibc-devel(x86-32) 25 - BuildRequires: fuse-devel systemd-devel kernel-devel dkms 31 + BuildRequires: fuse-devel systemd-devel 26 32 BuildRequires: cairo-devel freetype-devel(x86-64) fontconfig-devel(x86-64) 27 33 BuildRequires: freetype-devel(x86-32) fontconfig-devel(x86-32) make 28 34 BuildRequires: libjpeg-turbo-devel(x86-64) libtiff-devel(x86-64) ··· 32 38 BuildRequires: libbsd-devel 33 39 BuildRequires: ffmpeg-devel pulseaudio-libs-devel openssl-devel giflib-devel 34 40 BuildRequires: libXrandr-devel libXcursor-devel libxkbfile-devel dbus-devel mesa-libGLU-devel 35 - # Normally rpm will pick up all the mac pieces as dependencies. Disable that. 36 - AutoReqProv: no 41 + BuildRequires: vulkan-headers llvm-devel libcap-devel bash vulkan-loader-devel 42 + 43 + Requires: darling-cli darling-python darling-ruby darling-perl darling-gui darling-gui-stubs darling-pyobjc 37 44 38 45 %description 39 - Darling macOS emulator 46 + macOS emulation layer for Linux 47 + 48 + %package extra 49 + Summary: Extra components for Darling 50 + Group: Utility 51 + Requires: darling darling-jsc darling-cli-extra 52 + 53 + %description extra 54 + Extra components for Darling that are not part of a typical ("stock") installation 55 + 56 + %package core 57 + Summary: Darling core components 58 + Group: Utility 59 + Requires: xdg-user-dirs 60 + 61 + %description core 62 + Core components of Darling 63 + 64 + %package system 65 + Summary: Darling system components 66 + Group: Utility 67 + Requires: darling-core 68 + 69 + %description system 70 + System components of Darling 40 71 41 - %package mach 42 - Summary: Darling mach dkms module 43 - Group: Utility 44 - Requires: dkms make gcc kernel-devel 45 - AutoReqProv: no 72 + %package cli 73 + Summary: Darling CLI components 74 + Group: Utility 75 + Requires: darling-system darling-cli-gui-common darling-cli-python-common 76 + 77 + %description cli 78 + CLI components of Darling 46 79 47 - %description mach 48 - Linux kernel module for darling-mach 80 + %package ffi 81 + Summary: libffi for Darling 82 + Group: Utility 83 + Requires: darling-core 84 + 85 + %description ffi 86 + libffi built for use within Darling 87 + 88 + %package cli-gui-common 89 + Summary: Darling CLI and GUI common components 90 + Group: Utility 91 + Requires: darling-system 92 + 93 + %description cli-gui-common 94 + Components of Darling that are shared between the CLI and GUI components 95 + 96 + %package iokitd 97 + Summary: Darling IOKit daemon 98 + Group: Utility 99 + Requires: darling-system darling-iokitd-cli-devenv-gui-common 100 + 101 + %description iokitd 102 + IOKit daemon for Darling 103 + 104 + %package cli-devenv-gui-common 105 + Summary: Darling developer environment and GUI common components 106 + Group: Utility 107 + Requires: darling-system 108 + 109 + %description cli-devenv-gui-common 110 + Components of Darling that are shared between the developer environment and the GUI components 111 + 112 + %package cli-extra 113 + Summary: Extra Darling CLI components 114 + Group: Utility 115 + Requires: darling-cli 116 + 117 + %description cli-extra 118 + Non-standard CLI components of Darling 119 + 120 + %package gui 121 + Summary: Darling GUI components 122 + Group: Utility 123 + Requires: darling-system darling-cli-devenv-gui-common darling-iokitd darling-cli-gui-common darling-iokitd-cli-devenv-gui-common 124 + 125 + %description gui 126 + GUI components of Darling 127 + 128 + %package python 129 + Summary: Python for Darling 130 + Group: Utility 131 + Requires: darling-core darling-cli-python-common darling-ffi 132 + 133 + %description python 134 + Python (and associated programs) built for use within Darling 135 + 136 + %package cli-python-common 137 + Summary: Darling CLI and Python common components 138 + Group: Utility 139 + Requires: darling-core 140 + 141 + %description cli-python-common 142 + Components of Darling that are shared between the CLI and Python components 143 + 144 + %package pyobjc 145 + Summary: PyObjC for Darling 146 + Group: Utility 147 + Requires: darling-gui-stubs darling-python 148 + 149 + %description pyobjc 150 + PyObjC built for use within Darling 151 + 152 + %package ruby 153 + Summary: Ruby for Darling 154 + Group: Utility 155 + Requires: darling-core darling-ffi 156 + 157 + %description ruby 158 + Ruby built for use within Darling 159 + 160 + %package perl 161 + Summary: Perl for Darling 162 + Group: Utility 163 + Requires: darling-core 164 + 165 + %description perl 166 + Perl built for use within Darling 167 + 168 + %package jsc-webkit-common 169 + Summary: Darling JavaScriptCore and WebKit common components 170 + Group: Utility 171 + Requires: darling-system 172 + 173 + %description jsc-webkit-common 174 + Components of Darling that are shared between JavaScriptCore and WebKit 175 + 176 + %package jsc 177 + Summary: JavaScriptCore for Darling 178 + Group: Utility 179 + Requires: darling-system darling-jsc-webkit-common 180 + 181 + %description jsc 182 + JavaScriptCore built for use within Darling 183 + 184 + %package iokitd-cli-devenv-gui-common 185 + Summary: Darling IOKit daemon, developer environment, and GUI common components 186 + Group: Utility 187 + Requires: darling-system 188 + 189 + %description iokitd-cli-devenv-gui-common 190 + Components of Darling that are shared between the IOKit daemon, developer environment, and GUI components 191 + 192 + %package cli-devenv-gui-stubs-common 193 + Summary: Darling developer environment and GUI stubs common components 194 + Group: Utility 195 + Requires: darling-cli-devenv-gui-common 196 + 197 + %description cli-devenv-gui-stubs-common 198 + Components of Darling that are shared between the developer environment and GUI stub components 199 + 200 + %package gui-stubs 201 + Summary: Darling GUI stub components 202 + Group: Utility 203 + Requires: darling-gui darling-cli-devenv-gui-stubs-common 204 + 205 + %description gui-stubs 206 + GUI stub components of Darling 49 207 50 208 %prep 51 209 %setup -q -n %{name} ··· 53 211 %build 54 212 %{__mkdir_p} build 55 213 pushd build 56 - # Release is broken https://github.com/darlinghq/darling/issues/331 57 - # -DCMAKE_BUILD_TYPE=Release \ 58 - %{__cmake} -DCMAKE_INSTALL_PREFIX=/usr \ 59 - -DOpenGL_GL_PREFERENCE=GLVND \ 60 - .. 61 - %{make_build} -j `nproc` 214 + # Release is broken https://github.com/darlinghq/darling/issues/331 215 + # -DCMAKE_BUILD_TYPE=Release \ 216 + CFLAGS="" CXXFLAGS="" CPPFLAGS="" LDFLAGS="" \ 217 + %{__cmake} -DCMAKE_INSTALL_PREFIX=%{_prefix} \ 218 + -DOpenGL_GL_PREFERENCE=GLVND \ 219 + -DDEBIAN_PACKAGING=ON \ 220 + -DJSC_UNIFIED_BUILD=ON \ 221 + .. 222 + %{make_build} -j `nproc` 62 223 popd 63 224 64 225 %install 65 226 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 227 + DARLING_COMPONENTS=( 228 + core 229 + system 230 + cli 231 + ffi 232 + cli_gui_common 233 + iokitd 234 + cli_dev_gui_common 235 + cli_extra 236 + gui 237 + python 238 + cli_python_common 239 + pyobjc 240 + ruby 241 + perl 242 + jsc_webkit_common 243 + jsc 244 + iokitd_cli_dev_gui_common 245 + cli_dev_gui_stubs_common 246 + gui_stubs 247 + ) 248 + PACKAGE_SUFFIXES=( 249 + core 250 + system 251 + cli 252 + ffi 253 + cli-gui-common 254 + iokitd 255 + cli-devenv-gui-common 256 + cli-extra 257 + gui 258 + python 259 + cli-python-common 260 + pyobjc 261 + ruby 262 + perl 263 + jsc-webkit-common 264 + jsc 265 + iokitd-cli-devenv-gui-common 266 + cli-devenv-gui-stubs-common 267 + gui-stubs 268 + ) 66 269 pushd build 67 - %{make_install} 68 - %{make_build} lkm_generate 270 + for index in {0..18}; do 271 + rm -rf tmp/${PACKAGE_SUFFIXES[index]} 272 + DESTDIR=tmp/${PACKAGE_SUFFIXES[index]} %{__cmake} -DCOMPONENT=${DARLING_COMPONENTS[index]} -P cmake_install.cmake 273 + find tmp/${PACKAGE_SUFFIXES[index]} \( ! -type d -o -type d -empty \) -printf '"/%%P"\n' > files.${PACKAGE_SUFFIXES[index]}.txt 274 + cp -rla tmp/${PACKAGE_SUFFIXES[index]}/. %{?buildroot}/ 275 + done 276 + 277 + # pack up a "source" (actually binary) tarball for `darling-cli-devenv` 278 + # NOTE: this is probably not the best approach. fix this if something better comes up. 279 + rm -rf tmp/cli-devenv 280 + DESTDIR=tmp/cli-devenv %{__cmake} -DCOMPONENT=cli_dev -P cmake_install.cmake 281 + rm -f %{_sourcedir}/darling-cli-devenv.tar.gz 282 + tar --transform "s|^\./|darling-cli-devenv/|" -cf %{_sourcedir}/darling-cli-devenv.tar.gz -C tmp/cli-devenv . 69 283 popd 70 - %{__install} -d -m 755 %{?buildroot}/usr/src/%{name}-mach-%{version}/miggen 71 - cp -dr --no-preserve=ownership src/external/lkm %{?buildroot}/usr/src/%{name}-mach-%{version}/lkm 72 - cp -dr --no-preserve=ownership build/src/external/lkm/osfmk %{?buildroot}/usr/src/%{name}-mach-%{version}/miggen/osfmk 73 - # Copy rtsig.h 74 - cp -dr --no-preserve=ownership build/src/startup/rtsig.h %{?buildroot}/usr/src/%{name}-mach-%{version}/lkm/darling/ 75 - 76 - sed 's|^PACKAGE_VERSION=.*|PACKAGE_VERSION=%{version}|' %{SOURCE1} > dkms.conf 77 - %{__install} -m 644 dkms.conf %{?buildroot}/usr/src/%{name}-mach-%{version} 78 - 79 - # https://github.com/dell/dkms/issues/25 80 - %preun mach 81 - /usr/sbin/dkms remove -m %{name}-mach -v %{version} --all --rpm_safe_upgrade || : 82 - 83 - %pre mach 84 - occurrences=$(/usr/sbin/dkms status "%{name}/%{version}" | wc -l) 85 - if [ ! ${occurrences} -gt 0 ]; then 86 - /usr/sbin/dkms remove -m %{name}-mach -v %{version} --all --rpm_safe_upgrade || : 87 - fi 88 - 89 - %post mach 90 - /usr/sbin/dkms add -m %{name}-mach -v %{version} --rpm_safe_upgrade || : 91 - /usr/sbin/dkms build -m %{name}-mach -v %{version} || : 92 - /usr/sbin/dkms install -m %{name}-mach -v %{version} || : 93 284 94 285 %files 95 286 %doc LICENSE 96 - %{_bindir}/darling 97 - %{_libexecdir}/darling 98 287 99 - %files mach 100 - %{_prefix}/src/%{name}-mach-%{version} 288 + %files extra 289 + 290 + %files core -f build/files.core.txt 291 + %files system -f build/files.system.txt 292 + %files cli -f build/files.cli.txt 293 + %files ffi -f build/files.ffi.txt 294 + %files cli-gui-common -f build/files.cli-gui-common.txt 295 + %files iokitd -f build/files.iokitd.txt 296 + %files cli-devenv-gui-common -f build/files.cli-devenv-gui-common.txt 297 + %files cli-extra -f build/files.cli-extra.txt 298 + %files gui -f build/files.gui.txt 299 + %files python -f build/files.python.txt 300 + %files cli-python-common -f build/files.cli-python-common.txt 301 + %files pyobjc -f build/files.pyobjc.txt 302 + %files ruby -f build/files.ruby.txt 303 + %files perl -f build/files.perl.txt 304 + %files jsc-webkit-common -f build/files.jsc-webkit-common.txt 305 + %files jsc -f build/files.jsc.txt 306 + %files iokitd-cli-devenv-gui-common -f build/files.iokitd-cli-devenv-gui-common.txt 307 + %files cli-devenv-gui-stubs-common -f build/files.cli-devenv-gui-stubs-common.txt 308 + %files gui-stubs -f build/files.gui-stubs.txt 101 309 102 310 %changelog 311 + * Tue May 02 2023 Ariel Abreu <facekapow@outlook.com> - 0.1.20230502-1 312 + - Update to latest version and Fedora 37 313 + - Split package into multiple packages (one for each component of Darling) 314 + 103 315 * Tue Aug 18 2020 Andy Neff <andy@visionsystemsinc.com> - 0.1.20200331-1 104 316 - Update for latest version and Fedora 31 105 317
+19 -5
rpm/build.bsh
··· 4 4 5 5 yum-builddep -y /src/rpm/SPECS/darling.spec 6 6 if [ -e "/src/rpm/SOURCES/darling.tar.gz" ]; then 7 - ln -s /src/rpm/SOURCES/darling.tar.gz /root/rpmbuild/SOURCES/ 7 + ln -sf /src/rpm/SOURCES/darling.tar.gz /root/rpmbuild/SOURCES/ 8 8 else 9 9 # Preparing tarball 10 - tar --transform "s|^\./|./darling/|" -cf /root/rpmbuild/SOURCES/darling.tar.gz -C /src --exclude=.git --exclude SOURCES --exclude SRPMS --exclude RPMS . 10 + tar --transform "s|^\./|./darling/|" -cf /root/rpmbuild/SOURCES/darling.tar.gz -C /src --exclude=.git --exclude SOURCES --exclude SRPMS --exclude RPMS --exclude BUILD . 11 11 fi 12 - ln -s /src/rpm/SOURCES/dkms.conf /root/rpmbuild/SOURCES/ 13 12 14 - DARLING_COMMIT_DATE="$(cd /src; git describe --tags HEAD)" 15 - export DARLING_COMMIT_DATE="${DARLING_COMMIT_DATE//-/}" 13 + if [ -e "/src/rpm/SOURCES/darling-macho-deps.tar.gz" ]; then 14 + ln -sf /src/rpm/SOURCES/darling-macho-deps.tar.gz /root/rpmbuild/SOURCES/ 15 + else 16 + tar --transform "s|^\./|darling-macho-deps/|" -cf /root/rpmbuild/SOURCES/darling-macho-deps.tar.gz -C /src/tools/rpm . 17 + fi 18 + 19 + if (cd /src && git describe --tags HEAD); then 20 + DARLING_COMMIT_DATE="$(cd /src; git describe --tags HEAD)" 21 + export DARLING_COMMIT_DATE="${DARLING_COMMIT_DATE//-/}" 22 + else 23 + # default to the current date 24 + export DARLING_COMMIT_DATE="$(printf '%(%Y%m%d)T\n' -1)" 25 + fi 26 + 27 + rpmbuild -ba /src/rpm/SPECS/darling-macho-deps.spec 28 + rpm -U --force /root/rpmbuild/RPMS/x86_64/darling-macho-deps*.rpm 16 29 17 30 #spectool -g -R /src/rpm/SPECS/darling.spec 18 31 rpmbuild -ba /src/rpm/SPECS/darling.spec 32 + rpmbuild -ba /src/rpm/SPECS/darling-cli-devenv.spec
+5
rpm/darling.repo
··· 1 + [darling] 2 + name=Darling 3 + baseurl=file:///data/git/darling-update/rpm/RPMS/x86_64 4 + enabled=1 5 + gpgcheck=0
+1 -1
rpm/docker-compose.yml
··· 5 5 build: 6 6 context: . 7 7 args: 8 - - OS=${RPM_OS-fedora:31} 8 + - OS=${RPM_OS-fedora:37} 9 9 volumes: 10 10 - ..:/src:ro 11 11 - ./RPMS:/root/rpmbuild/RPMS
+5 -1
rpm/tarup.bsh
··· 6 6 if [ -e "${CWD}/SOURCES/darling.tar.gz" ]; then 7 7 rm "${CWD}/SOURCES/darling.tar.gz" 8 8 fi 9 - tar --transform "s|^\./|darling/|" -cf "${CWD}/SOURCES/darling.tar.gz" -C "${CWD}/.." --exclude=.git --exclude SOURCES --exclude SRPMS --exclude RPMS . 9 + if [ -e "${CWD}/SOURCES/darling-macho-deps.tar.gz" ]; then 10 + rm "${CWD}/SOURCES/darling-macho-deps.tar.gz" 11 + fi 12 + tar --transform "s|^\./|darling/|" -cf "${CWD}/SOURCES/darling.tar.gz" -C "${CWD}/.." --exclude=.git --exclude SOURCES --exclude SRPMS --exclude RPMS --exclude BUILD . 13 + tar --transform "s|^\./|darling-macho-deps/|" -cf "${CWD}/SOURCES/darling-macho-deps.tar.gz" -C "${CWD}/../tools/rpm" .
+5
tools/rpm/darling-deps.req
··· 1 + #!/usr/bin/sh 2 + 3 + while read filename; do 4 + "$1" "$filename" 5 + done
+2
tools/rpm/darling.attr
··· 1 + %__darling_magic ^Mach-O.*$ 2 + %__darling_requires %{_rpmconfigdir}/darling-deps.req %{_builddir}/darling/build/src/buildtools/elfdep