The package rpms/swift-lang.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/swift-lang.git/commit/?id=731fbf8....
Change:
+%ifarch aarch64
Thanks.
Full change:
============
commit 731fbf864063143fa073348de4a041abc02a282a
Author: Ron Olson <tachoknight(a)gmail.com>
Date: Wed Apr 3 09:41:35 2019 -0500
Updated spec file to handle upgrade from 4.2 to 5.0
diff --git a/swift-lang.spec b/swift-lang.spec
index 787a9a5..ecbf9ce 100644
--- a/swift-lang.spec
+++ b/swift-lang.spec
@@ -4,9 +4,10 @@
%global swiftgitdate 20190325
%global swiftbuild swift-source
%global __provides_exclude ^/usr/lib/swift-lldb/.*\\.so.*
+
Name: swift-lang
Version: 5.0
-Release: 0.52.%{swiftgitdate}git%{swiftgithash}%{?dist}
+Release: 0.53.%{swiftgitdate}git%{swiftgithash}%{?dist}
Summary: Apple's Swift programming language
License: ASL 2.0
URL:
https://swift.org
@@ -67,6 +68,11 @@ Requires: ncurses-devel
Requires: ncurses-compat-libs
Requires: %{name}-runtime = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
+Obsoletes: %{name} < %{version}-%{release}
+Conflicts: %{name} < %{version}-%{release}
+Conflicts: %{name}-runtime < %{version}-%{release}
+
ExclusiveArch: x86_64 aarch64
@@ -85,6 +91,12 @@ correct programs easier for the developer.
%package runtime
Summary: Runtime files for Swift programs
+Provides: %{name}-runtime = %{version}-%{release}
+Obsoletes: %{name} < %{version}-%{release}
+Conflicts: %{name} < %{version}-%{release}
+Conflicts: %{name}-runtime < %{version}-%{release}
+
+
%description runtime
Runtime libraries for Swift programs
@@ -198,11 +210,39 @@ mkdir -p %{buildroot}%{_mandir}/man1
install -m 0644 %{_builddir}/usr/share/man/man1/swift.1 %{buildroot}%{_mandir}/man1
+# This is necessary because in Swift 4 the directories
+# under clang were actual directories. In 5 Apple added
+# an additional layer of indirection, to the compiler
+# version, with the previous directories relocated there.
+# Apparently there is an issue with rpm being able to
+# replace directories with something else (in this case,
+# symlinks), thus making this pre-installation step
+# necessary when upgrading from 4.x to 5.
+%pretrans -p <lua>
+path = "/usr/lib/swift/clang"
+subdirs = {"include", "lib"}
+for _, dir in ipairs(subdirs) do
+ fullDir = path .. "/" .. dir
+ st = posix.stat(fullDir)
+ if st and st.type == "directory" then
+ status = os.rename(fullDir, fullDir .. ".rpmmoved")
+ if not status then
+ suffix = 0
+ while not status do
+ suffix = suffix + 1
+ status = os.rename(fullDir .. ".rpmmoved", fullDir ..
".rpmmoved." .. suffix)
+ end
+ os.rename(fullDir, fullDir .. ".rpmmoved")
+ end
+ end
+end
+
%files
%license swift/LICENSE.txt
%{_bindir}/swift*
%{_mandir}/man1/*
-/usr/lib/swift/
+%ghost /usr/lib/swift/clang/include.rpmmoved
+%ghost /usr/lib/swift/clang/lib.rpmmoved
/usr/lib/swift-lldb/
/usr/lib/swift/Block/
/usr/lib/swift/CoreFoundation/
@@ -212,18 +252,21 @@ install -m 0644 %{_builddir}/usr/share/man/man1/swift.1
%{buildroot}%{_mandir}/m
/usr/lib/swift/os/
/usr/lib/swift/pm/
/usr/lib/swift/shims/
-%ifarch aarch64
-/usr/lib/swift/linux/aarch64/
-%else
-/usr/lib/swift/linux/x86_64/
-%endif
/usr/lib/swift_static/
%{_libexecdir}/swift-lldb/
%{_sysconfdir}/ld.so.conf.d/swift-lang.conf
%files runtime
-/usr/lib/swift/linux/*
+%ghost /usr/lib/swift/clang/include.rpmmoved
+%ghost /usr/lib/swift/clang/lib.rpmmoved
+%dir /usr/lib/swift
+/usr/lib/swift/linux/
+%ifarch aarch64
+/usr/lib/swift/linux/aarch64/
+%else
+/usr/lib/swift/linux/x86_64/
+%endif
%{_sysconfdir}/ld.so.conf.d/swift-lang-runtime.conf
@@ -232,6 +275,8 @@ install -m 0644 %{_builddir}/usr/share/man/man1/swift.1
%{buildroot}%{_mandir}/m
%changelog
+* Thu Mar 28 2019 Ron Olson <tachoknight(a)gmail.com> 5.0-0.53.20190325gitba33f9e
+- Modified spec file to handle upgrades from 4.2 to 5.0.
* Mon Mar 25 2019 Ron Olson <tachoknight(a)gmail.com> 5.0-0.52.20190325gitba33f9e
- Updated to swift-5.0-RELEASE
* Mon Mar 25 2019 Ron Olson <tachoknight(a)gmail.com> 5.0-0.51.20190324git130a414
@@ -240,7 +285,7 @@ install -m 0644 %{_builddir}/usr/share/man/man1/swift.1
%{buildroot}%{_mandir}/m
* Fri Mar 22 2019 Ron Olson <tachoknight(a)gmail.com> 5.0-0.50.20190310git4d6e741
- The swift-corelibs-xctest library was being zeroed out due to issue with
CMake 3.14 where it was being copied into the same directory. A bug
- report has been filed with CMake but until it's resolved, the cmake file
+ report has been filed with CMake but until it is resolved, the cmake file
has been patched to not perform the copy.
* Fri Mar 15 2019 Ron Olson <tachoknight(a)gmail.com> 5.0-0.50.20190310git4d6e741
- Modules did not work properly in the REPL due to additional lib path;