Produce RPM packages
Reference from https://github.com/dotnet/core-setup/tree/master/src/pkg/packaging/rpm The goal is to have parity with Debian, but does not publish to the feed When run the script with rhel, it will produce rpm file in the package step and publish rpm to the blob storage
This commit is contained in:
parent
cda914a365
commit
3419a87d6f
14 changed files with 682 additions and 1 deletions
27
scripts/docker/rhel/Dockerfile
Normal file
27
scripts/docker/rhel/Dockerfile
Normal file
|
@ -0,0 +1,27 @@
|
|||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
# Dockerfile that creates a container suitable to build dotnet-cli
|
||||
FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-c982313-20174116044113
|
||||
|
||||
# Install from sudo main package TODO This package needs to be mirrored
|
||||
RUN yum install -y https://www.sudo.ws/sudo/dist/packages/RHEL/7/sudo-1.8.20-3.el7.x86_64.rpm \
|
||||
&& yum clean all
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g root
|
||||
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# With the User Change, we need to change permssions on these directories
|
||||
RUN chmod -R a+rwx /usr/local
|
||||
RUN chmod -R a+rwx /home
|
||||
RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
|
||||
|
||||
# Set user to the one we just created
|
||||
USER ${USER_ID}
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /opt/code
|
|
@ -67,6 +67,9 @@ if [ -z "$DOCKERFILE" ]; then
|
|||
elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then
|
||||
echo "Detected current OS as CentOS, using 'centos' image"
|
||||
export DOCKERFILE=scripts/docker/centos
|
||||
elif [ "$(cat /etc/*-release | grep -cim1 rhel)" -eq 1 ]; then
|
||||
echo "Detected current OS as rhel, using 'rhel' image"
|
||||
export DOCKERFILE=scripts/docker/rhel
|
||||
elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then
|
||||
echo "Detected current OS as Debian, using 'debian' image"
|
||||
export DOCKERFILE=scripts/docker/debian
|
||||
|
|
39
scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh
Executable file
39
scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh
Executable file
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
current_userid=$(id -u)
|
||||
if [ $current_userid -ne 0 ]; then
|
||||
echo "$(basename "$0") uninstallation script requires superuser privileges to run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
host_package_name="dotnet-host"
|
||||
|
||||
remove_all(){
|
||||
yum remove -y $host_package_name
|
||||
}
|
||||
|
||||
is_dotnet_host_installed(){
|
||||
local out="$(yum list installed | grep $host_package_name)"
|
||||
[ -z "$out" ]
|
||||
}
|
||||
|
||||
is_dotnet_host_installed
|
||||
[ "$?" -eq 0 ] && echo "Unable to find dotnet installation to remove." >&2 \
|
||||
&& exit 0
|
||||
|
||||
remove_all
|
||||
[ "$?" -ne 0 ] && echo "Failed to remove dotnet packages." >&2 && exit 1
|
||||
|
||||
is_dotnet_host_installed
|
||||
[ "$?" -ne 0 ] && \
|
||||
echo "dotnet package removal succeeded but appear to still be installed. Please file an issue at https://github.com/dotnet/cli" >&2 && \
|
||||
exit 1
|
||||
|
||||
echo "dotnet package removal succeeded." >&2
|
||||
exit 0
|
Loading…
Add table
Add a link
Reference in a new issue