diff --git a/.copr/snapshot-info.sh b/.copr/snapshot-info.sh index 70cfb4f..db44c56 100755 --- a/.copr/snapshot-info.sh +++ b/.copr/snapshot-info.sh @@ -34,6 +34,7 @@ llvm_snapshot_changelog_entry="* $(date +'%a %b %d %Y') LLVM snapshot - ${llvm_s tempfile=$(mktemp) cat > $tempfile < $tempfile < $(SOURCEDIR)/version.spec.inc - spectool -g --define "_sourcedir $(SOURCEDIR)" llvm.spec + spectool -g --define "_sourcedir $(SOURCEDIR)" --define "_with_snapshot_build 1" $(SPEC) -.PHONY: local-srpm -local-srpm: setup +.PHONY: release-setup +release-setup: release-vars prep + spectool -g --define "_sourcedir $(SOURCEDIR)" $(SPEC) + +.PHONY: snapshot-srpm +snapshot-srpm: snapshot-setup rpmbuild \ - --define "yyyymmdd $(YYYYMMDD)" \ - --define "_srcrpmdir $(OUTDIR)" \ + --with=snapshot_build \ + --define "_rpmdir $(RESULTDIR)" \ --define "_sourcedir $(SOURCEDIR)" \ + --define "_specdir $(SOURCEDIR)" \ + --define "_srcrpmdir $(RESULTDIR)" \ + --define "_builddir $(RESULTDIR)" \ -bs $(SPEC) -.PHONY: local-rpm -local-rpm: setup - fedpkg --release $(FEDORA_RELEASE) -v \ - local \ - --builddir $(BUILDDIR) \ - --buildrootdir $(BUILDROOTDIR) \ - --define "yyyymmdd $(YYYYMMDD)" \ - -- $(SPEC) --noclean +.PHONY: release-srpm +release-srpm: release-setup + rpmbuild \ + --define "_rpmdir $(RESULTDIR)" \ + --define "_sourcedir $(SOURCEDIR)" \ + --define "_specdir $(SOURCEDIR)" \ + --define "_srcrpmdir $(RESULTDIR)" \ + --define "_builddir $(RESULTDIR)" \ + -bs $(SPEC) -.PHONY: local-clean -local-clean: - -rm -rf $(BUILDDIR) - -rm -rf $(BUILDROOTDIR) - -rm -rf $(OUTDIR) +.PHONY: snapshot-rpm +snapshot-rpm: snapshot-setup + rpmbuild \ + --with=snapshot_build \ + --define "_rpmdir $(RESULTDIR)" \ + --define "_sourcedir $(SOURCEDIR)" \ + --define "_specdir $(SOURCEDIR)" \ + --define "_srcrpmdir $(RESULTDIR)" \ + --define "_builddir $(RESULTDIR)" \ + --noclean \ + -bb $(SPEC) + +.PHONY: release-rpm +release-rpm: release-setup + rpmbuild \ + --define "_rpmdir $(RESULTDIR)" \ + --define "_sourcedir $(SOURCEDIR)" \ + --define "_specdir $(SOURCEDIR)" \ + --define "_srcrpmdir $(RESULTDIR)" \ + --define "_builddir $(RESULTDIR)" \ + --noclean \ + -bb $(SPEC) + +.PHONY: snapshot-clean +snapshot-clean: snapshot-vars _clean + +.PHONY: release-clean +release-clean: release-vars _clean + +.PHONY: _clean +_clean: + -rm -rf $(RESULTDIR) -rm -f *.txt -rm -f *.tar.xz -rm -f *.tar.xz.sig - -rm -rf x86_64 + -rm -rf $(shell uname -m) -rm -rf noarch -rm -rf *.src.rpm -rm -rf /tmp/lto-llvm-*.o -.PHONY: local-list-check -local-list-check: setup - fedpkg --release $(FEDORA_RELEASE) -v \ - local \ - --builddir $(BUILDDIR) \ - --buildrootdir $(BUILDROOTDIR) \ - --define "yyyymmdd $(YYYYMMDD)" \ - -- $(SPEC) -bl +.PHONY: snapshot-prep +snapshot-prep: snapshot-setup + rpmbuild \ + --with=snapshot_build \ + --define "_rpmdir $(RESULTDIR)" \ + --define "_sourcedir $(SOURCEDIR)" \ + --define "_specdir $(SOURCEDIR)" \ + --define "_srcrpmdir $(RESULTDIR)" \ + --define "_builddir $(RESULTDIR)" \ + --noclean \ + -bp $(SPEC) -.PHONY: local-prep -local-prep: setup - fedpkg --release $(FEDORA_RELEASE) -v \ - prep \ - --builddir $(BUILDDIR) \ - --buildrootdir $(BUILDROOTDIR) \ - --define "yyyymmdd $(YYYYMMDD)" \ - -- $(SPEC) +.PHONY: release-prep +release-prep: releae-setup + rpmbuild \ + --define "_rpmdir $(RESULTDIR)" \ + --define "_sourcedir $(SOURCEDIR)" \ + --define "_specdir $(SOURCEDIR)" \ + --define "_srcrpmdir $(RESULTDIR)" \ + --define "_builddir $(RESULTDIR)" \ + --noclean \ + -bp $(SPEC) +# .PHONY: local-list-check +# local-list-check: setup +# fedpkg --release $(FEDORA_RELEASE) -v \ +# local \ +# --builddir $(BUILDDIR) \ +# --buildrootdir $(BUILDROOTDIR) \ +# +# --with=snapshot_build \ +# -- $(SPEC) -bl -.PHONY: local-tmt-vm -local-tmt-vm: - # This is to ensure the required packages are installed - rpm -q tmt tmt+provision-virtual - # This is to check if you've started libvirt - # If this fails, run: sudo systemctl start libvirtd - # systemctl status libvirtd --no-pager - # In case of: Failed to boot testcloud instance (authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage') - # Add yourself to libvirt group: sudo usermod -a -G libvirt $USER - cat /etc/group | grep libvirt | grep $(USER) - tmt \ - -c distro=fedora-rawhide \ - -c arch=x86_64 \ - -c snapshot=20240124 - run \ - -avv \ - provision \ - -h virtual.testcloud \ - -c system \ - -i fedora-rawhide \ - prepare \ - -h install \ - -c fedora-llvm-team/llvm-snapshots-big-merge-20240124 \ - test \ - report +# .PHONY: local-tmt-vm +# local-tmt-vm: +# # This is to ensure the required packages are installed +# rpm -q tmt tmt+provision-virtual +# # This is to check if you've started libvirt +# # If this fails, run: sudo systemctl start libvirtd +# # systemctl status libvirtd --no-pager +# # In case of: Failed to boot testcloud instance (authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage') +# # Add yourself to libvirt group: sudo usermod -a -G libvirt $USER +# cat /etc/group | grep libvirt | grep $(USER) +# tmt \ +# -c distro=fedora-rawhide \ +# -c arch=x86_64 \ +# -c snapshot=20240124 +# run \ +# -avv \ +# provision \ +# -h virtual.testcloud \ +# -c system \ +# -i fedora-rawhide \ +# prepare \ +# -h install \ +# -c fedora-llvm-team/llvm-snapshots-big-merge-20240124 \ +# test \ +# report diff --git a/build.spec.inc b/build.spec.inc index a7dc2d7..fae3830 100644 --- a/build.spec.inc +++ b/build.spec.inc @@ -73,7 +73,11 @@ cd llvm \ \ %if %{without compat_build} +%if %{with snapshot_build} -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp;offload" \ +%else +-DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" \ +%endif %endif \ \ diff --git a/changelog.spec.inc b/changelog.spec.inc index 2299b19..8f7babd 100644 --- a/changelog.spec.inc +++ b/changelog.spec.inc @@ -1,5 +1,8 @@ %{?llvm_snapshot_changelog_entry} +* Fri May 17 2024 Konrad Kleine - 18.1.5 +- Update to 18.1.5 + * Tue Aug 01 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc1-2 - Enable LLVM_UNREACHABLE_OPTIMIZE temporarily diff --git a/globals.spec.inc b/globals.spec.inc index ce25d34..1513a84 100644 --- a/globals.spec.inc +++ b/globals.spec.inc @@ -1,4 +1,3 @@ -%bcond_without snapshot_build # Components enabled if supported by target architecture: %define gold_arches %{ix86} x86_64 aarch64 %{power64} s390x %ifarch %{gold_arches} @@ -29,9 +28,10 @@ %undefine _include_frame_pointers # Suffixless tarball name (essentially: basename -s .tar.xz llvm-project-17.0.6.src.tar.xz) -%global src_tarball_dir llvm-project-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %if %{with snapshot_build} %global src_tarball_dir llvm-project-%{llvm_snapshot_git_revision} +%else +%global src_tarball_dir llvm-project-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src %endif #region LLVM globals diff --git a/patches.spec.inc b/patches.spec.inc index 35db509..629863a 100644 --- a/patches.spec.inc +++ b/patches.spec.inc @@ -8,7 +8,9 @@ Patch2002: 0003-PATCH-clang-Don-t-install-static-libraries.patch Patch2005: 0001-Workaround-a-bug-in-ORC-on-ppc64le.patch #region LLD patches -Patch3001: 0001-Always-build-shared-libs-for-LLD.patch +%if %{with snapshot_build} +Patch3002: 0001-Always-build-shared-libs-for-LLD.patch +%endif #endregion # # Drop the following patch after debugedit adds support to DWARF-5: diff --git a/prep.spec.inc b/prep.spec.inc index fe1b528..9a4cd2f 100644 --- a/prep.spec.inc +++ b/prep.spec.inc @@ -1,6 +1,6 @@ %if %{without snapshot_build} # llvm -%{gpgverify} --keyring='%{SOURCE1006}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %endif # -T : Do Not Perform Default Archive Unpacking (without this, the th source would be unpacked twice) diff --git a/sources.spec.inc b/sources.spec.inc index df2ec47..321b787 100644 --- a/sources.spec.inc +++ b/sources.spec.inc @@ -2,8 +2,8 @@ Source0: https://github.com/llvm/llvm-project/archive/%{llvm_snapshot_git_revision}.tar.gz %else Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{src_tarball_dir}.tar.xz -Source1001: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{src_tarball_dir}.tar.xz.sig -Source1006: release-keys.asc +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{src_tarball_dir}.tar.xz.sig +Source6: release-keys.asc %endif %if %{without compat_build} @@ -12,7 +12,9 @@ Source2005: macros.%{pkg_name_clang} # Sources we use to split up the main spec file in sections so that we can more # easily see what specfile sections are touched by a patch. +%if %{with snapshot_build} Source1000: version.spec.inc +%endif Source1001: build.spec.inc Source1002: changelog.spec.inc Source1003: check.spec.inc diff --git a/version.spec.inc b/version.spec.inc deleted file mode 100644 index 4d6a882..0000000 --- a/version.spec.inc +++ /dev/null @@ -1,15 +0,0 @@ -%global maj_ver 18 -%global min_ver 0 -%global patch_ver 0 -%undefine rc_ver - -%global llvm_snapshot_version 18.0.0 -%global llvm_snapshot_version_tag 18.0.0~pre20231225.ga041da31093303 -%global llvm_snapshot_version_major 18 -%global llvm_snapshot_version_minor 0 -%global llvm_snapshot_version_patch 0 -%global llvm_snapshot_yyyymmdd 20231225 -%global llvm_snapshot_git_revision a041da31093303b02b6da5fe919a0a3c234eb466 -%global llvm_snapshot_git_revision_short a041da31093303 -%global llvm_snapshot_version_suffix pre20231225.ga041da31093303 -%global llvm_snapshot_changelog_entry * Mon Dec 25 2023 LLVM snapshot - 18.0.0~pre20231225.ga041da31093303