Skip to content

Commit 6d2c6a3

Browse files
committed
Introduce llvm-resource-filesystem
Introduce a llvm-resource-filesystem package, which owns the versioned llvm prefix. Make llvm-libs and a handful packages that don't have a (transitive) llvm-libs dependency depend on it.
1 parent 301c762 commit 6d2c6a3

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

llvm.spec

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@
226226
#region main package
227227
Name: %{pkg_name_llvm}
228228
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
229-
Release: 6%{?dist}
229+
Release: 7%{?dist}
230230
Summary: The Low Level Virtual Machine
231231

232232
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -496,6 +496,12 @@ lit is a tool used by the LLVM project for executing its test suites.
496496

497497
#region LLVM packages
498498

499+
%package -n %{pkg_name_llvm}-resource-filesystem
500+
Summary: Filesystem package that owns the versioned llvm prefix
501+
502+
%description -n %{pkg_name_llvm}-resource-filesystem
503+
This packages owns the versioned llvm prefix directory: $libdir/llvm$version
504+
499505
%package -n %{pkg_name_llvm}-devel
500506
Summary: Libraries and header files for LLVM
501507
Requires: %{pkg_name_llvm}%{?_isa} = %{version}-%{release}
@@ -534,12 +540,14 @@ Documentation for the LLVM compiler infrastructure.
534540

535541
%package -n %{pkg_name_llvm}-libs
536542
Summary: LLVM shared libraries
543+
Requires: %{pkg_name_llvm}-resource-filesystem%{?_isa} = %{version}-%{release}
537544

538545
%description -n %{pkg_name_llvm}-libs
539546
Shared libraries for the LLVM compiler infrastructure.
540547

541548
%package -n %{pkg_name_llvm}-static
542549
Summary: LLVM static libraries
550+
Requires: %{pkg_name_llvm}-resource-filesystem%{?_isa} = %{version}-%{release}
543551
Conflicts: %{pkg_name_llvm}-devel < 8
544552

545553
Provides: llvm-static(major) = %{maj_ver}
@@ -549,6 +557,7 @@ Static libraries for the LLVM compiler infrastructure.
549557

550558
%package -n %{pkg_name_llvm}-cmake-utils
551559
Summary: CMake utilities shared across LLVM subprojects
560+
Requires: %{pkg_name_llvm}-resource-filesystem%{?_isa} = %{version}-%{release}
552561

553562
%description -n %{pkg_name_llvm}-cmake-utils
554563
CMake utilities shared across LLVM subprojects.
@@ -565,6 +574,7 @@ Provides: llvm-test(major) = %{maj_ver}
565574
LLVM regression tests.
566575

567576
%package -n %{pkg_name_llvm}-googletest
577+
Requires: %{pkg_name_llvm}-resource-filesystem%{?_isa} = %{version}-%{release}
568578
Summary: LLVM's modified googletest sources
569579

570580
%description -n %{pkg_name_llvm}-googletest
@@ -970,6 +980,7 @@ Static library for LLVM libunwind.
970980
Summary: A post-link optimizer developed to speed up large applications
971981
License: Apache-2.0 WITH LLVM-exception
972982
URL: https://github.com/llvm/llvm-project/tree/main/bolt
983+
Requires: %{pkg_name_llvm}-resource-filesystem%{?_isa} = %{version}-%{release}
973984

974985
# As hinted by bolt documentation
975986
Recommends: gperftools-devel
@@ -2316,6 +2327,15 @@ fi
23162327

23172328
#region LLVM files
23182329

2330+
%files -n %{pkg_name_llvm}-resource-filesystem
2331+
%dir %{install_prefix}
2332+
%dir %{install_bindir}
2333+
%dir %{install_includedir}
2334+
%dir %{install_libdir}
2335+
%dir %{install_libdir}/cmake
2336+
%dir %{install_libexecdir}
2337+
%dir %{install_datadir}
2338+
23192339
%files -n %{pkg_name_llvm}
23202340
%license llvm/LICENSE.TXT
23212341

@@ -3032,6 +3052,9 @@ fi
30323052

30333053
#region changelog
30343054
%changelog
3055+
* Wed Feb 12 2025 Nikita Popov <[email protected]> - 19.1.7-7
3056+
- Introduce llvm-resource-directory
3057+
30353058
* Tue Feb 04 2025 Nikita Popov <[email protected]> - 19.1.7-6
30363059
- Don't use directory symlinks
30373060

0 commit comments

Comments
 (0)