#3 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-2 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 be updated to reflect the desire for python3.

+  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 @@

+  

+  add_dependencies(createdump pal_redefines_file)

+  

+ +SET_TARGET_PROPERTIES(createdump PROPERTIES LINK_FLAGS -pie)

+ +

+  target_link_libraries(createdump

+      createdump_lib

+      # share the PAL/corguids 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.2.spec dotnet.spec
file renamed
+117 -73
@@ -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.2.1

  %global sdk_version 2.2.103

  %global runtime_version 2.2.1

  

- Name:           dotnet

+ Name:           %{simple_name}2.2

  Version:        %{sdk_version}

- Release:        1%{?dist}

+ Release:        2%{?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:  openssl-devel

- BuildRequires:  python

+ BuildRequires:  python3

  BuildRequires:  strace

  BuildRequires:  zlib-devel

- # 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

- BuildRequires:  compat-openssl10

- %endif

- 

- Requires:       %{name}-sdk-2.2%{?_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.2%{?_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.2

+ 

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

  

  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.2

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

  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,17 +166,17 @@ 

  applications and micro-services.

  

  

- %package runtime-2.2

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

  

  Version:        %{runtime_version}

  Summary:        NET Core 2.2 runtime

  

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

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

  

  # libicu is dlopen()ed

  Requires:       libicu

  

- %description runtime-2.2

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

  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,32 +188,15 @@ 

  applications and micro-services.

  

  

- %package sdk-2.2

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

  

  Version:        %{sdk_version}

  Summary:        .NET Core 2.2 Software Development Kit

  

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

+ Provides:       %{simple_name}-sdk-2.2.1xx = %{version}-%{release}

+ Obsoletes:      %{simple_name}-sdk-2.2.1xx <= 2.2.103-4

  

- %description sdk-2.2

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

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

- 

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

- cross platform applications that work on Linux, Mac and Windows.

- 

- It particularly focuses on creating console applications, web

- applications and micro-services.

- 

- 

- %package sdk-2.2.1xx

- 

- Version:        %{sdk_version}

- Summary:        .NET Core 2.2.1xx Software Development Kit

- 

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

- 

- %description sdk-2.2.1xx

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

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

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

  
@@ -188,10 +208,10 @@ 

  

  

  %prep

- %setup -q -n %{name}-v%{sdk_version}-SDK-ga

+ %setup -q -n dotnet-v%{sdk_version}-SDK-ga

  

  # 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
@@ -204,6 +224,14 @@ 

  

  %patch10 -p1

  %patch11 -p1

+ %patch12 -p1

+ popd

+ 

+ pushd src/coreclr

+ %patch100 -p1

+ %patch101 -p1

+ %patch102 -p1

+ %patch103 -p1

  popd

  

  pushd src/core-setup
@@ -214,25 +242,35 @@ 

  %patch400 -p1

  popd

  

+ %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:LogVerbosity=n \

+   /p:MinimalConsoleLogOutput=false \

+   /p:ContinueOnPrebuiltBaselineError=true

  

  %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/
@@ -247,7 +285,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/ \;
@@ -256,45 +294,51 @@ 

  # 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.2

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

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

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

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

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

  

- %files runtime-2.2

- %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.2

+ %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.2

- # empty package useful for dependencies

- 

- %files sdk-2.2.1xx

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

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

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

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

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

  

  %changelog

+ * Mon Feb 11 2019 Omair Majid <omajid@redhat.com> - 2.2.103-2

+ - Rename spec file to dotnet2.2 to meet Fedora guidelines

+ - Link executibles with -pie

+ - Build using python3

+ - Add RHEL 8 runtime ids

+ - Conditionalize build to support bundled/system libunwind

+ - Do not error out build on prebuilt baseline issues

+ - Remove version-specific SDK subpackage

+ 

  * Wed Jan 23 2019 Omair Majid <omajid@redhat.com> - 2.2.103-1

  - Update to .NET Core Runtime 2.2.1 and SDK 2.2.103

  - Sync with the 2.1 RPM

rebased onto 3a74a65

5 years ago

Hey, @tmds, this removes the-sdk-2.2.1xx subpackage. Does that sound okay to you?

rebased onto 819ad38

5 years ago

rebased onto fd5742f

5 years ago

rebased onto ba661f2

5 years ago

rebased onto 79d25f5

5 years ago

This message should be updated to reflect the desire for python3.

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

Hey, thanks for the review.

I didn't actually change the re-wording because Python 3 is implicit in "Python 2.7.9 or later". Does that make sense? Do you still think it's worth calling out explicitly?

Also, please note that this patch is a direct export via git show from upstream: https://github.com/dotnet/coreclr/pull/22145. We should fix this upstream if a fix is actually needed.

Honestly, it's not a big deal. I just figured if there was a preference for python3 then maybe that should be called out in the message. I don't think it really matter either way.

Thanks for the review! Merging.

Pull-Request has been merged by omajid

5 years ago