#20 Clean up and prepare for RHEL 8 compatiblity
Merged 5 years ago by omajid. Opened 5 years ago by omajid.
dotnet-sig/ omajid/dotnet-2-1 master  into  master

file added
+11
@@ -0,0 +1,11 @@ 

+ --- a/src/corehost/cli/exe/exe.cmake

+ +++ b/src/corehost/cli/exe/exe.cmake

+ @@ -44,6 +44,8 @@

+  

+  add_executable(${DOTNET_HOST_EXE_NAME} ${SOURCES} ${RESOURCES})

+  

+ +SET_TARGET_PROPERTIES(${DOTNET_HOST_EXE_NAME} PROPERTIES LINK_FLAGS -pie)

+ +

+  if(NOT WIN32)

+      disable_pax_mprotect(${DOTNET_HOST_EXE_NAME})

+  endif()

@@ -0,0 +1,38 @@ 

+ From 7e0608fee5cacbf5bf7d0c3886e2fcb1a9d10754 Mon Sep 17 00:00:00 2001

+ From: Omair Majid <omajid@redhat.com>

+ Date: Wed, 9 Jan 2019 12:28:48 -0500

+ Subject: [PATCH] Support building with python3 on unix (#19356)

+ 

+ The windows build scripts try finding python in order of python3,

+ python2 and then python. The unix build scripts dont. They just try

+ python2 variants and then fail. This change makes brings them closer

+ together by letting users build using only python3.

+ ---

+  build.sh | 6 +++---

+  1 file changed, 3 insertions(+), 3 deletions(-)

+ 

+ diff --git a/build.sh b/build.sh

+ index a0b1742effb..14452ad5ac5 100755

+ --- a/build.sh

+ +++ b/build.sh

+ @@ -7,9 +7,9 @@ export ghprbCommentBody=

+  

+  # resolve python-version to use

+  if [ "$PYTHON" == "" ] ; then

+ -    if ! PYTHON=$(command -v python2.7 || command -v python2 || command -v python)

+ +    if ! PYTHON=$(command -v python3 || command -v python2 || command -v python)

+      then

+ -       echo "Unable to locate build-dependency python2.x!" 1>&2

+ +       echo "Unable to locate build-dependency python!" 1>&2

+         exit 1

+      fi

+  fi

+ @@ -17,7 +17,7 @@ fi

+  # useful in case of explicitly set option.

+  if ! command -v $PYTHON > /dev/null

+  then

+ -   echo "Unable to locate build-dependency python2.x ($PYTHON)!" 1>&2

+ +   echo "Unable to locate build-dependency python ($PYTHON)!" 1>&2

+     exit 1

+  fi

+  

@@ -0,0 +1,26 @@ 

+ From e7c6f87f54be723724a4c996d815d59b515b01a6 Mon Sep 17 00:00:00 2001

+ From: Omair Majid <omajid@redhat.com>

+ Date: Thu, 31 Jan 2019 16:09:35 -0500

+ Subject: [PATCH] Update python lookup in CMakeLists.txt to match

+  build.(sh|cmd) (#22145)

+ 

+ Use the same logic that's used in build.sh/build.cmd to lookup python:

+ first search for `python3`, then fall back to `python2` and finally to

+ `python`.

+ ---

+  CMakeLists.txt | 2 +-

+  1 file changed, 1 insertion(+), 1 deletion(-)

+ 

+ diff --git a/CMakeLists.txt b/CMakeLists.txt

+ index 82c19a9cbaa..31b814f118d 100644

+ --- a/CMakeLists.txt

+ +++ b/CMakeLists.txt

+ @@ -37,7 +37,7 @@ OPTION(CLR_CMAKE_ENABLE_CODE_COVERAGE "Enable code coverage" OFF)

+  OPTION(CLR_CMAKE_WARNINGS_ARE_ERRORS "Warnings are errors" ON)

+  

+  # Ensure that python is present

+ -find_program(PYTHON NAMES python2.7 python2 python)

+ +find_program(PYTHON NAMES python3 python2 python)

+  if (PYTHON STREQUAL "PYTHON-NOTFOUND")

+      message(FATAL_ERROR "PYTHON not found: Please install Python 2.7.9 or later from https://www.python.org/downloads/")

This message should probably be updated as well.

+  endif()

@@ -0,0 +1,40 @@ 

+ From 5164e76ce01fc36833a7f5e6fb7b1ec2f55c2262 Mon Sep 17 00:00:00 2001

+ From: Omair Majid <omajid@redhat.com>

+ Date: Wed, 1 Aug 2018 12:02:53 -0400

+ Subject: [PATCH] Use the identified python when building

+  System.Private.CoreLib (#19043)

+ 

+ build.sh and build.cmd contain logic to identify a working version of

+ python to use. System.Private.CoreLib ignores that and directly invokes

+ 'python', which may not work, or even execute a different program.

+ ---

+  build.sh                                                 | 2 ++

+  src/System.Private.CoreLib/System.Private.CoreLib.csproj | 2 +-

+  2 files changed, 3 insertions(+), 1 deletion(-)

+ 

+ diff --git a/build.sh b/build.sh

+ index 091d6227caf..4002f2744c2 100755

+ --- a/build.sh

+ +++ b/build.sh

+ @@ -22,6 +22,8 @@ then

+     exit 1

+  fi

+  

+ +export PYTHON

+ +

+  usage()

+  {

+      echo "Usage: $0 [BuildArch] [BuildType] [-verbose] [-coverage] [-cross] [-clangx.y] [-ninja] [-configureonly] [-skipconfigure] [-skipnative] [-skipmscorlib] [-skiptests] [-stripsymbols] [-ignorewarnings] [-cmakeargs] [-bindir]"

+ diff --git a/src/mscorlib/System.Private.CoreLib.csproj b/src/mscorlib/System.Private.CoreLib.csproj

+ index 9a2fc681703..0a02d3cffdf 100644

+ --- a/src/mscorlib/System.Private.CoreLib.csproj

+ +++ b/src/mscorlib/System.Private.CoreLib.csproj

+ @@ -543,7 +543,7 @@

+      <PropertyGroup>

+        <CMakeDefinitionSaveFile>$(IntermediateOutputPath)..\cmake.definitions</CMakeDefinitionSaveFile>

+      </PropertyGroup>

+ -    <Exec Command="python $(MSBuildThisFileDirectory)..\scripts\check-definitions.py &quot;$(CMakeDefinitionSaveFile)&quot; &quot;$(DefineConstants)&quot; &quot;$(IgnoreDefineConstants)&quot; " />

+ +    <Exec Command="&quot;$(PYTHON)&quot; $(MSBuildThisFileDirectory)..\scripts\check-definitions.py &quot;$(CMakeDefinitionSaveFile)&quot; &quot;$(DefineConstants)&quot; &quot;$(IgnoreDefineConstants)&quot; " />

+    </Target>

+    <PropertyGroup Condition="'$(BuildOS)' == 'Windows_NT'">

+      <EnableDotnetAnalyzers Condition="'$(EnableDotnetAnalyzers)'==''">true</EnableDotnetAnalyzers>

file added
+11
@@ -0,0 +1,11 @@ 

+ --- a/src/debug/createdump/CMakeLists.txt

+ +++ b/src/debug/createdump/CMakeLists.txt

+ @@ -38,6 +38,8 @@

+      main.cpp

+  )

+  

+ +SET_TARGET_PROPERTIES(createdump PROPERTIES LINK_FLAGS -pie)

+ +

+  target_link_libraries(createdump

+      createdump_lib

+      # share the PAL in the dac module

@@ -0,0 +1,206 @@ 

+ diff --git a/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json b/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json

+ index 7272b5de10..99fd8de923 100644

+ --- a/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json

+ +++ b/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json

+ @@ -4923,6 +4923,123 @@

+      "any",

+      "base"

+    ],

+ +  "rhel.8": [

+ +    "rhel.8",

+ +    "rhel",

+ +    "linux",

+ +    "unix",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8-corert": [

+ +    "rhel.8-corert",

+ +    "rhel.8",

+ +    "rhel-corert",

+ +    "rhel",

+ +    "linux-corert",

+ +    "linux",

+ +    "unix-corert",

+ +    "unix",

+ +    "corert",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8-x64": [

+ +    "rhel.8-x64",

+ +    "rhel.8",

+ +    "rhel-x64",

+ +    "rhel",

+ +    "linux-x64",

+ +    "linux",

+ +    "unix-x64",

+ +    "unix",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8-x64-corert": [

+ +    "rhel.8-x64-corert",

+ +    "rhel.8-corert",

+ +    "rhel.8-x64",

+ +    "rhel.8",

+ +    "rhel-x64-corert",

+ +    "rhel-corert",

+ +    "rhel-x64",

+ +    "rhel",

+ +    "linux-x64-corert",

+ +    "linux-corert",

+ +    "linux-x64",

+ +    "linux",

+ +    "unix-x64-corert",

+ +    "unix-corert",

+ +    "unix-x64",

+ +    "unix",

+ +    "corert",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8.0": [

+ +    "rhel.8.0",

+ +    "rhel.8",

+ +    "rhel",

+ +    "linux",

+ +    "unix",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8.0-corert": [

+ +    "rhel.8.0-corert",

+ +    "rhel.8.0",

+ +    "rhel.8-corert",

+ +    "rhel.8",

+ +    "rhel-corert",

+ +    "rhel",

+ +    "linux-corert",

+ +    "linux",

+ +    "unix-corert",

+ +    "unix",

+ +    "corert",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8.0-x64": [

+ +    "rhel.8.0-x64",

+ +    "rhel.8.0",

+ +    "rhel.8-x64",

+ +    "rhel.8",

+ +    "rhel-x64",

+ +    "rhel",

+ +    "linux-x64",

+ +    "linux",

+ +    "unix-x64",

+ +    "unix",

+ +    "any",

+ +    "base"

+ +  ],

+ +  "rhel.8.0-x64-corert": [

+ +    "rhel.8.0-x64-corert",

+ +    "rhel.8.0-corert",

+ +    "rhel.8.0-x64",

+ +    "rhel.8.0",

+ +    "rhel.8-x64-corert",

+ +    "rhel.8-corert",

+ +    "rhel.8-x64",

+ +    "rhel.8",

+ +    "rhel-x64-corert",

+ +    "rhel-corert",

+ +    "rhel-x64",

+ +    "rhel",

+ +    "linux-x64-corert",

+ +    "linux-corert",

+ +    "linux-x64",

+ +    "linux",

+ +    "unix-x64-corert",

+ +    "unix-corert",

+ +    "unix-x64",

+ +    "unix",

+ +    "corert",

+ +    "any",

+ +    "base"

+ +  ],

+    "sles": [

+      "sles",

+      "linux",

+ diff --git a/pkg/Microsoft.NETCore.Platforms/runtime.json b/pkg/Microsoft.NETCore.Platforms/runtime.json

+ index e57332c62c..fc56341c7e 100644

+ --- a/pkg/Microsoft.NETCore.Platforms/runtime.json

+ +++ b/pkg/Microsoft.NETCore.Platforms/runtime.json

+ @@ -1800,6 +1800,56 @@

+          "rhel.7.5-x64-corert"

+        ]

+      },

+ +    "rhel.8": {

+ +      "#import": [

+ +        "rhel"

+ +      ]

+ +    },

+ +    "rhel.8-corert": {

+ +      "#import": [

+ +        "rhel.8",

+ +        "rhel-corert"

+ +      ]

+ +    },

+ +    "rhel.8-x64": {

+ +      "#import": [

+ +        "rhel.8",

+ +        "rhel-x64"

+ +      ]

+ +    },

+ +    "rhel.8-x64-corert": {

+ +      "#import": [

+ +        "rhel.8-corert",

+ +        "rhel.8-x64",

+ +        "rhel.8",

+ +        "rhel-x64-corert"

+ +      ]

+ +    },

+ +    "rhel.8.0": {

+ +      "#import": [

+ +        "rhel.8"

+ +      ]

+ +    },

+ +    "rhel.8.0-corert": {

+ +      "#import": [

+ +        "rhel.8.0",

+ +        "rhel.8-corert"

+ +      ]

+ +    },

+ +    "rhel.8.0-x64": {

+ +      "#import": [

+ +        "rhel.8.0",

+ +        "rhel.8-x64"

+ +      ]

+ +    },

+ +    "rhel.8.0-x64-corert": {

+ +      "#import": [

+ +        "rhel.8.0-corert",

+ +        "rhel.8.0-x64",

+ +        "rhel.8.0",

+ +        "rhel.8-x64-corert"

+ +      ]

+ +    },

+      "sles": {

+        "#import": [

+          "linux"

+ diff --git a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props

+ index cc93f8bf91..21f6109824 100644

+ --- a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props

+ +++ b/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props

+ @@ -103,6 +103,12 @@

+        <Versions>7;7.0;7.1;7.2;7.3;7.4;7.5;7.6</Versions>

+      </RuntimeGroup>

+  

+ +    <RuntimeGroup Include="rhel">

+ +      <Parent>linux</Parent>

+ +      <Architectures>x64</Architectures>

+ +      <Versions>8;8.0</Versions>

+ +    </RuntimeGroup>

+ +

+      <RuntimeGroup Include="sles">

+        <Parent>linux</Parent>

+        <Architectures>x64</Architectures>

dotnet2.1.spec dotnet.spec
file renamed
+122 -59
@@ -19,13 +19,21 @@ 

  %global dotnet_cflags %(echo %optflags | sed -e 's/-fcf-protection//' | sed -e 's/-fstack-clash-protection//' | sed -re 's/-specs=[^ ]*//g')

  %global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g')

  

+ %if 0%{?fedora}

+ %global use_bundled_libunwind 0

+ %else

+ %global use_bundled_libunwind 1

+ %endif

+ 

+ %global simple_name dotnet

+ 

  %global host_version 2.1.7

  %global sdk_version 2.1.503

  %global runtime_version 2.1.7

  

- Name:           dotnet

+ Name:           %{simple_name}2.1

  Version:        %{sdk_version}

- Release:        4%{?dist}

+ Release:        5%{?dist}

  Summary:        .NET Core CLI tools and runtime

  License:        MIT and ASL 2.0 and BSD

  URL:            https://github.com/dotnet/
@@ -52,36 +60,44 @@ 

  

  Patch10:        corefx-optflags-support.patch

  Patch11:        corefx-32956-alpn.patch

+ Patch12:        corefx-rhel-runtime-ids.patch

+ 

+ Patch100:       coreclr-build-python3.patch

+ Patch101:       coreclr-cmake-python3.patch

+ Patch102:       coreclr-mscorlib.patch

+ Patch103:       coreclr-pie.patch

  

  Patch300:       core-setup-4510-commit-id.patch

+ Patch301:       core-setup-pie.patch

+ 

  Patch400:       cli-telemetry-optout.patch

  

  ExclusiveArch:  x86_64

  

  BuildRequires:  clang

  BuildRequires:  cmake

+ # Bootstrap SDK needs OpenSSL 1.0 to run, but we can build and then

+ # run with either OpenSSL 1.0 or 1.1

+ %if 0%{?fedora} >= 26 || 0%{?rhel} >= 8

+ BuildRequires:  compat-openssl10

+ %endif

  BuildRequires:  git

  BuildRequires:  glibc-langpack-en

  BuildRequires:  hostname

  BuildRequires:  krb5-devel

  BuildRequires:  libcurl-devel

  BuildRequires:  libicu-devel

+ %if ! %{use_bundled_libunwind}

  BuildRequires:  libunwind-devel

+ %endif

  BuildRequires:  libuuid-devel

  BuildRequires:  lldb-devel

  BuildRequires:  llvm

  BuildRequires:  lttng-ust-devel

- BuildRequires:  python

+ BuildRequires:  openssl-devel

+ BuildRequires:  python3

  BuildRequires:  strace

  BuildRequires:  zlib-devel

- BuildRequires:  openssl-devel

- %if 0%{fedora} >= 26

- # Bootstrap SDK needs OpenSSL 1.0 to run, but we can build and then

- # run with either OpenSSL 1.0 or 1.1

- BuildRequires:  compat-openssl10

- %endif

- 

- Requires:       %{name}-sdk-2.1%{?_isa} >= %{sdk_version}-%{release}

  

  %description

  .NET Core is a fast, lightweight and modular platform for creating
@@ -94,12 +110,32 @@ 

  framework libraries, an SDK containing compilers and a 'dotnet'

  application to drive everything.

  

- %package host

+ 

+ %package -n %{simple_name}

+ 

+ Version:        %{sdk_version}

+ Summary:        .NET CLI tools and runtime

+ 

+ Requires:       %{simple_name}-sdk-2.1%{?_isa} >= %{sdk_version}-%{release}

+ 

+ %description -n %{simple_name}

+ .NET Core is a fast, lightweight and modular platform for creating

+ cross platform applications that work on Linux, macOS and Windows.

+ 

+ It particularly focuses on creating console applications, web

+ applications and micro-services.

+ 

+ .NET Core contains a runtime conforming to .NET Standards a set of

+ framework libraries, an SDK containing compilers and a 'dotnet'

+ application to drive everything.

+ 

+ 

+ %package -n %{simple_name}-host

  

  Version:        %{host_version}

  Summary:        .NET command line launcher

  

- %description host

+ %description -n %{simple_name}-host

  The .NET Core host is a command line program that runs a standalone

  .NET core application or launches the SDK.

  
@@ -109,16 +145,17 @@ 

  It particularly focuses on creating console applications, web

  applications and micro-services.

  

- %package host-fxr-2.1

+ 

+ %package -n %{simple_name}-host-fxr-2.1

  

  Version:        %{host_version}

  Summary:        .NET Core command line host resolver

  

  # Theoretically any version of the host should work. But lets aim for the one

  # provided by this package, or from a newer version of .NET Core

- Requires:       %{name}-host%{?_isa} >= %{host_version}-%{release}

+ Requires:       %{simple_name}-host%{?_isa} >= %{host_version}-%{release}

  

- %description host-fxr-2.1

+ %description -n %{simple_name}-host-fxr-2.1

  The .NET Core host resolver contains the logic to resolve and select

  the right version of the .NET Core SDK or runtime to use.

  
@@ -129,18 +166,17 @@ 

  applications and micro-services.

  

  

- %package runtime-2.1

+ %package -n %{simple_name}-runtime-2.1

  

  Version:        %{runtime_version}

  Summary:        NET Core 2.1 runtime

  

- Requires:       %{name}-host-fxr-2.1%{?_isa} >= %{host_version}-%{release}

+ Requires:       %{simple_name}-host-fxr-2.1%{?_isa} >= %{host_version}-%{release}

  

  # libicu is dlopen()ed

  Requires:       libicu

  

- 

- %description runtime-2.1

+ %description -n %{simple_name}-runtime-2.1

  The .NET Core runtime contains everything needed to run .NET Core applications.

  It includes a high performance Virtual Machine as well as the framework

  libraries used by .NET Core applications.
@@ -151,14 +187,15 @@ 

  It particularly focuses on creating console applications, web

  applications and micro-services.

  

- %package sdk-2.1

+ 

+ %package -n %{simple_name}-sdk-2.1

  

  Version:        %{sdk_version}

  Summary:        .NET Core 2.1 Software Development Kit

  

- Requires:       %{name}-sdk-2.1.5xx%{?_isa} >= %{sdk_version}-%{release}

+ Requires:       %{simple_name}-sdk-2.1.5xx%{?_isa} >= %{sdk_version}-%{release}

  

- %description sdk-2.1

+ %description -n %{simple_name}-sdk-2.1

  The .NET Core SDK is a collection of command line applications to

  create, build, publish and run .NET Core applications.

  
@@ -168,14 +205,15 @@ 

  It particularly focuses on creating console applications, web

  applications and micro-services.

  

- %package sdk-2.1.5xx

+ 

+ %package -n %{simple_name}-sdk-2.1.5xx

  

  Version:        %{sdk_version}

  Summary:        .NET Core 2.1.5xx Software Development Kit

  

- Requires:       %{name}-runtime-2.1%{?_isa} >= %{runtime_version}-%{release}

+ Requires:       %{simple_name}-runtime-2.1%{?_isa} >= %{runtime_version}-%{release}

  

- %description sdk-2.1.5xx

+ %description -n %{simple_name}-sdk-2.1.5xx

  The .NET Core SDK is a collection of command line applications to

  create, build, publish and run .NET Core applications.

  
@@ -186,10 +224,10 @@ 

  applications and micro-services.

  

  %prep

- %setup -q -n %{name}-v%{runtime_version}

+ %setup -q -n %{simple_name}-v%{runtime_version}

  

  # Fix bad hardcoded path in build

- sed -i 's|/usr/share/dotnet|%{_libdir}/%{name}|' src/core-setup/src/corehost/common/pal.unix.cpp

+ sed -i 's|/usr/share/dotnet|%{_libdir}/%{simple_name}|' src/core-setup/src/corehost/common/pal.unix.cpp

  

  pushd src/corefx

  %patch1 -p1
@@ -202,36 +240,54 @@ 

  

  %patch10 -p1

  %patch11 -p1

+ %patch12 -p1

+ popd

+ 

+ pushd src/coreclr

+ %patch100 -p1

+ %patch101 -p1

+ %patch102 -p1

+ %patch103 -p1

  popd

  

  pushd src/core-setup

  %patch300 -p1

+ %patch301 -p1

  popd

  

  pushd src/cli

  %patch400 -p1

  popd

  

- %build

+ %if %{use_bundled_libunwind}

+ # Use bundled libunwind

+ sed -i 's|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=FALSE|' repos/coreclr.proj

+ %endif

  

+ # disable -Werror

+ sed -i '/add_compile_options(-Werror)/d' src/coreclr/compileoptions.cmake

+ 

+ 

+ %build

  export CFLAGS="%{dotnet_cflags}"

  export CXXFLAGS="%{dotnet_cflags}"

  export LDFLAGS="%{dotnet_ldflags}"

  

  VERBOSE=1 ./build.sh \

-   /v:diag \

-   /p:MinimalConsoleLogOutput=false

+   /v:n \

+   /p:MinimalConsoleLogOutput=false \

+ 

  

  %install

- install -d -m 0755 %{buildroot}%{_libdir}/%{name}/

+ install -d -m 0755 %{buildroot}%{_libdir}/%{simple_name}/

  ls bin/x64/Release

- tar xf bin/x64/Release/dotnet-sdk-%{sdk_version}-*.tar.gz -C %{buildroot}%{_libdir}/%{name}/

+ tar xf bin/x64/Release/dotnet-sdk-%{sdk_version}-*.tar.gz -C %{buildroot}%{_libdir}/%{simple_name}/

  

  # Fix permissions on files

- find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.props' -exec chmod -x {} \;

- find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.targets' -exec chmod -x {} \;

- find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.dll' -exec chmod -x {} \;

- find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.pubxml' -exec chmod -x {} \;

+ find %{buildroot}%{_libdir}/%{simple_name}/ -type f -name '*.props' -exec chmod -x {} \;

+ find %{buildroot}%{_libdir}/%{simple_name}/ -type f -name '*.targets' -exec chmod -x {} \;

+ find %{buildroot}%{_libdir}/%{simple_name}/ -type f -name '*.dll' -exec chmod -x {} \;

+ find %{buildroot}%{_libdir}/%{simple_name}/ -type f -name '*.pubxml' -exec chmod -x {} \;

  

  # Add ~/.dotnet/tools to $PATH for all users

  install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
@@ -246,7 +302,7 @@ 

  #install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet

  

  install -d -m 0755 %{buildroot}%{_bindir}

- ln -s %{_libdir}/%{name}/dotnet %{buildroot}%{_bindir}/

+ ln -s %{_libdir}/%{simple_name}/dotnet %{buildroot}%{_bindir}/

  

  install -d -m 0755 %{buildroot}%{_mandir}/man1/

  find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \;
@@ -255,45 +311,52 @@ 

  # because native binaries are stripped by rpm-build after %%install.

  # So we need to do this check earlier.

  echo "Testing build results for debug symbols..."

- %{SOURCE1} -v %{buildroot}%{_libdir}/%{name}/

+ %{SOURCE1} -v %{buildroot}%{_libdir}/%{simple_name}/

  

  %check

- %{buildroot}%{_libdir}/%{name}/dotnet --info

+ %{buildroot}%{_libdir}/%{simple_name}/dotnet --info

  

- %files

+ %files -n %{simple_name}

  # empty package useful for dependencies

  

- %files host

- %dir %{_libdir}/%{name}

- %{_libdir}/%{name}/dotnet

- %dir %{_libdir}/%{name}/host

- %dir %{_libdir}/%{name}/host/fxr

+ %files -n %{simple_name}-host

+ %dir %{_libdir}/%{simple_name}

+ %{_libdir}/%{simple_name}/dotnet

+ %dir %{_libdir}/%{simple_name}/host

+ %dir %{_libdir}/%{simple_name}/host/fxr

  %{_bindir}/dotnet

- %license %{_libdir}/%{name}/LICENSE.txt

- %license %{_libdir}/%{name}/ThirdPartyNotices.txt

+ %license %{_libdir}/%{simple_name}/LICENSE.txt

+ %license %{_libdir}/%{simple_name}/ThirdPartyNotices.txt

  %doc %{_mandir}/man1/dotnet*.1.gz

  %{_sysconfdir}/profile.d/dotnet.sh

  %dir %{_datadir}/bash-completion

  %dir %{_datadir}/bash-completion/completions

  %{_datadir}/bash-completion/completions/dotnet

  

- %files host-fxr-2.1

- %dir %{_libdir}/%{name}/host/fxr

- %{_libdir}/%{name}/host/fxr/%{host_version}

+ %files -n %{simple_name}-host-fxr-2.1

+ %dir %{_libdir}/%{simple_name}/host/fxr

+ %{_libdir}/%{simple_name}/host/fxr/%{host_version}

  

- %files runtime-2.1

- %dir %{_libdir}/%{name}/shared

- %dir %{_libdir}/%{name}/shared/Microsoft.NETCore.App

- %{_libdir}/%{name}/shared/Microsoft.NETCore.App/%{runtime_version}

+ %files -n %{simple_name}-runtime-2.1

+ %dir %{_libdir}/%{simple_name}/shared

+ %dir %{_libdir}/%{simple_name}/shared/Microsoft.NETCore.App

+ %{_libdir}/%{simple_name}/shared/Microsoft.NETCore.App/%{runtime_version}

  

- %files sdk-2.1

+ %files -n %{simple_name}-sdk-2.1

  # empty package useful for dependencies

  

- %files sdk-2.1.5xx

- %dir %{_libdir}/%{name}/sdk

- %{_libdir}/%{name}/sdk/%{sdk_version}

+ %files -n %{simple_name}-sdk-2.1.5xx

+ %dir %{_libdir}/%{simple_name}/sdk

+ %{_libdir}/%{simple_name}/sdk/%{sdk_version}

  

  %changelog

+ * Wed Feb 13 2019 Omair Majid <omajid@redhat.com> - 2.1.503-4

+ - Rename spec file to dotnet2.1

+ - Link executibles with -pie

+ - Build using python3

+ - Add RHEL 8 runtime ids

+ - Conditionalize build to support bundled/system libunwind

+ 

  * Mon Jan 21 2019 Omair Majid <omajid@redhat.com> - 2.1.503-4

  - Backport support for OpenSSL 1.1

  

This message should probably be updated as well.

Other than my comment about in python install message, this looks good to me.

Pull-Request has been merged by omajid

5 years ago