From 004474e93b1e7fa9c01ac45fbce50f3dbbbcc0d2 Mon Sep 17 00:00:00 2001 From: Ben Nemec Date: Tue, 18 Feb 2014 14:48:14 -0600 Subject: [PATCH] Generalize install-packages for yum All of the yum-based install-packages scripts are doing essentially the same thing, so let's use one script for all of the elements that depend on the yum element. Change-Id: I49e8c9b44e41bcf4cb9fa820e8a9179754694a97 --- elements/fedora/bin/install-packages | 33 -------------------- elements/rhel/element-deps | 1 + elements/rhel/pre-install.d/10-yum-blacklist | 3 ++ elements/{rhel => yum}/bin/install-packages | 16 ++++++++-- 4 files changed, 17 insertions(+), 36 deletions(-) delete mode 100755 elements/fedora/bin/install-packages create mode 100755 elements/rhel/pre-install.d/10-yum-blacklist rename elements/{rhel => yum}/bin/install-packages (75%) diff --git a/elements/fedora/bin/install-packages b/elements/fedora/bin/install-packages deleted file mode 100755 index b2ea563c..00000000 --- a/elements/fedora/bin/install-packages +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# Copyright 2012 Hewlett-Packard Development Company, L.P. -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -set -e - -if [ "$1" = "-u" ] ; then - yum -y update - exit 0 -elif [ "$1" = "-d" ] ; then - EXTRA_ARGS="--downloadonly" - shift -fi - -yum -y install $EXTRA_ARGS $(map-packages "$@") -for pkg in "$@"; do - if [ "$pkg" = "python-pip" ] ; then - alternatives --install /usr/bin/pip pip /usr/bin/pip-python 10 - fi -done diff --git a/elements/rhel/element-deps b/elements/rhel/element-deps index fcb39be0..7c7710bf 100644 --- a/elements/rhel/element-deps +++ b/elements/rhel/element-deps @@ -1,3 +1,4 @@ dib-run-parts cache-url rpm-distro +yum diff --git a/elements/rhel/pre-install.d/10-yum-blacklist b/elements/rhel/pre-install.d/10-yum-blacklist new file mode 100755 index 00000000..a93c3190 --- /dev/null +++ b/elements/rhel/pre-install.d/10-yum-blacklist @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "ccache dkms" > /tmp/yum-blacklist \ No newline at end of file diff --git a/elements/rhel/bin/install-packages b/elements/yum/bin/install-packages similarity index 75% rename from elements/rhel/bin/install-packages rename to elements/yum/bin/install-packages index 7c46019d..abe65862 100755 --- a/elements/rhel/bin/install-packages +++ b/elements/yum/bin/install-packages @@ -1,4 +1,7 @@ #!/bin/bash + +# Copyright 2012 Hewlett-Packard Development Company, L.P. +# All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -14,15 +17,17 @@ set -e -# Update packages for the distro if [ "$1" = "-u" ] ; then - #yum -y update + yum -y update exit 0 +elif [ "$1" = "-d" ] ; then + EXTRA_ARGS="--downloadonly" + shift fi # Packages that aren't available in the distro but requested for installation # can be ignored by adding them to the exclude list -BLACKLIST=(ccache dkms) +BLACKLIST=$(cat /tmp/yum-blacklist 2>/dev/null || echo "") WHITELIST=() for i in "$@" do @@ -37,4 +42,9 @@ if [ -n "$WHITELIST" ]; then rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release fi yum -y install $(map-packages $WHITELIST) + for pkg in "$@"; do + if [ "$pkg" = "python-pip" ] ; then + alternatives --install /usr/bin/pip pip /usr/bin/pip-python 10 + fi + done fi