From 6677e18b0936d55a4b505228b869e823aae1c60f Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Tue, 6 Apr 2021 11:39:49 -0400 Subject: [PATCH] Mark files under /etc/ as config(noreplace) - Add an rpm-inspect configuration file - Add an rpmlintrc file - Enable gating for release branches and ELN too --- dotnet5.0.rpmlintrc | 35 +++++++++++++++++++++++++++++++++++ dotnet5.0.spec | 14 ++++++++++---- 2 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 dotnet5.0.rpmlintrc diff --git a/dotnet5.0.rpmlintrc b/dotnet5.0.rpmlintrc new file mode 100644 index 0000000..1396c43 --- /dev/null +++ b/dotnet5.0.rpmlintrc @@ -0,0 +1,35 @@ +# Tarball is generated, no upstream URL +addFilter("W:.*invalid-url Source0: dotnet-.*tar.gz") + +# macOS is the correct name +addFilter("W: spelling-error %description -l en_US macOS ->.*") +# The name of the nuget package includes NETCore +addFilter("W: spelling-error .* NETCore -> Net Core.*") + +# Upstream really has no README or documentation files. They suggest using online resources. +addFilter("W: no-documentation") + +# This is a script that we run; it's expected to have execute permissions +addFilter("W: strange-permission check-debug-symbols.py") + +# libicu is a required dependency, but it's used via a dlopen() +addFilter("E: explicit-lib-dependency libicu") + +# There's no devel package for us to place .h files +addFilter("W: devel-file-in-non-devel-package /usr/lib64/dotnet/.*\.h") +addFilter("W: devel-file-in-non-devel-package /usr/lib64/dotnet/.*\.a") + +# These paths are non-standard, so we need $ORIGIN to find these libraries +addFilter("E: binary-or-shlib-defines-rpath /usr/lib64/dotnet/.*\['\$ORIGIN/netcoredeps'\]") +addFilter("E: binary-or-shlib-defines-rpath /usr/lib64/dotnet/.*\['\$ORIGIN'\]") + +# We put dll files in /usr/lib/dotnet, but rpmlint somehow doesn't see it as a binary? +addFilter("W: only-non-binary-in-usr-lib") + +# We use a number of zero-length files, including _._ +addFilter("E: zero-length /usr/lib64/dotnet/.*/_\._") + +# Upstream uses hidden files, even though we ask them not to, as much as possible +addFilter("W: hidden-file-or-dir /usr/lib64/dotnet/.*/\.version") +addFilter("W: hidden-file-or-dir /usr/lib64/dotnet/.*/\.toolsetversion") + diff --git a/dotnet5.0.spec b/dotnet5.0.spec index 044a298..d960cba 100644 --- a/dotnet5.0.spec +++ b/dotnet5.0.spec @@ -56,7 +56,7 @@ Name: dotnet5.0 Version: %{sdk_rpm_version} -Release: 1%{?dist} +Release: 2%{?dist} Summary: .NET Runtime and SDK License: MIT and ASL 2.0 and BSD and LGPLv2+ and CC-BY and CC0 and MS-PL and EPL-1.0 and GPL+ and GPLv2 and ISC and OFL and zlib URL: https://github.com/dotnet/ @@ -475,7 +475,7 @@ install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet install install_location %{buildroot}%{_sysconfdir}/dotnet/ install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts -install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ +install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ # Check debug symbols in all elf objects. This is not in %%check # because native binaries are stripped by rpm-build after %%install. @@ -500,8 +500,8 @@ echo "Testing build results for debug symbols..." %license %{_libdir}/dotnet/LICENSE.txt %license %{_libdir}/dotnet/ThirdPartyNotices.txt %doc %{_mandir}/man1/dotnet*.1.gz -%{_sysconfdir}/profile.d/dotnet.sh -%{_sysconfdir}/dotnet +%config(noreplace) %{_sysconfdir}/profile.d/dotnet.sh +%config(noreplace) %{_sysconfdir}/dotnet %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/dotnet @@ -535,6 +535,12 @@ echo "Testing build results for debug symbols..." %changelog +* Tue Apr 06 2021 Omair Majid - 5.0.104-2 +- Mark files under /etc/ as config(noreplace) +- Add an rpm-inspect configuration file +- Add an rpmlintrc file +- Enable gating for release branches and ELN too + * Tue Mar 16 2021 Omair Majid - 5.0.104-1 - Update to .NET SDK 5.0.104 and Runtime 5.0.4 - Drop unneeded/upstreamed patches