diff --git a/rootfs-builder/centos/RPM-GPG-KEY-CentOS-7 b/rootfs-builder/centos/RPM-GPG-KEY-CentOS-7 deleted file mode 100644 index 47f6d4d6bd..0000000000 --- a/rootfs-builder/centos/RPM-GPG-KEY-CentOS-7 +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.5 (GNU/Linux) - -mQINBFOn/0sBEADLDyZ+DQHkcTHDQSE0a0B2iYAEXwpPvs67cJ4tmhe/iMOyVMh9 -Yw/vBIF8scm6T/vPN5fopsKiW9UsAhGKg0epC6y5ed+NAUHTEa6pSOdo7CyFDwtn -4HF61Esyb4gzPT6QiSr0zvdTtgYBRZjAEPFVu3Dio0oZ5UQZ7fzdZfeixMQ8VMTQ -4y4x5vik9B+cqmGiq9AW71ixlDYVWasgR093fXiD9NLT4DTtK+KLGYNjJ8eMRqfZ -Ws7g7C+9aEGHfsGZ/SxLOumx/GfiTloal0dnq8TC7XQ/JuNdB9qjoXzRF+faDUsj -WuvNSQEqUXW1dzJjBvroEvgTdfCJfRpIgOrc256qvDMp1SxchMFltPlo5mbSMKu1 -x1p4UkAzx543meMlRXOgx2/hnBm6H6L0FsSyDS6P224yF+30eeODD4Ju4BCyQ0jO -IpUxmUnApo/m0eRelI6TRl7jK6aGqSYUNhFBuFxSPKgKYBpFhVzRM63Jsvib82rY -438q3sIOUdxZY6pvMOWRkdUVoz7WBExTdx5NtGX4kdW5QtcQHM+2kht6sBnJsvcB -JYcYIwAUeA5vdRfwLKuZn6SgAUKdgeOtuf+cPR3/E68LZr784SlokiHLtQkfk98j -NXm6fJjXwJvwiM2IiFyg8aUwEEDX5U+QOCA0wYrgUQ/h8iathvBJKSc9jQARAQAB -tEJDZW50T1MtNyBLZXkgKENlbnRPUyA3IE9mZmljaWFsIFNpZ25pbmcgS2V5KSA8 -c2VjdXJpdHlAY2VudG9zLm9yZz6JAjUEEwECAB8FAlOn/0sCGwMGCwkIBwMCBBUC -CAMDFgIBAh4BAheAAAoJECTGqKf0qA61TN0P/2730Th8cM+d1pEON7n0F1YiyxqG -QzwpC2Fhr2UIsXpi/lWTXIG6AlRvrajjFhw9HktYjlF4oMG032SnI0XPdmrN29lL -F+ee1ANdyvtkw4mMu2yQweVxU7Ku4oATPBvWRv+6pCQPTOMe5xPG0ZPjPGNiJ0xw -4Ns+f5Q6Gqm927oHXpylUQEmuHKsCp3dK/kZaxJOXsmq6syY1gbrLj2Anq0iWWP4 -Tq8WMktUrTcc+zQ2pFR7ovEihK0Rvhmk6/N4+4JwAGijfhejxwNX8T6PCuYs5Jiv -hQvsI9FdIIlTP4XhFZ4N9ndnEwA4AH7tNBsmB3HEbLqUSmu2Rr8hGiT2Plc4Y9AO -aliW1kOMsZFYrX39krfRk2n2NXvieQJ/lw318gSGR67uckkz2ZekbCEpj/0mnHWD -3R6V7m95R6UYqjcw++Q5CtZ2tzmxomZTf42IGIKBbSVmIS75WY+cBULUx3PcZYHD -ZqAbB0Dl4MbdEH61kOI8EbN/TLl1i077r+9LXR1mOnlC3GLD03+XfY8eEBQf7137 -YSMiW5r/5xwQk7xEcKlbZdmUJp3ZDTQBXT06vavvp3jlkqqH9QOE8ViZZ6aKQLqv -pL+4bs52jzuGwTMT7gOR5MzD+vT0fVS7Xm8MjOxvZgbHsAgzyFGlI1ggUQmU7lu3 -uPNL0eRx4S1G4Jn5 -=OGYX ------END PGP PUBLIC KEY BLOCK----- diff --git a/rootfs-builder/centos/config.sh b/rootfs-builder/centos/config.sh index 14be86b7d1..a354ea74d5 100644 --- a/rootfs-builder/centos/config.sh +++ b/rootfs-builder/centos/config.sh @@ -12,11 +12,13 @@ LOG_FILE="/var/log/yum-centos.log" MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=os&container=container" # Aditional Repos -CENTOS_UPDATES_URL="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=updates&container=container" +CENTOS_UPDATES_MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=updates&container=container" -CENTOS_EXTRAS_URL="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=extras&container=container" +CENTOS_EXTRAS_MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=extras&container=container" -CENTOS_PLUS_URL="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=centosplus&container=container" +CENTOS_PLUS_MIRROR_LIST="http://mirrorlist.centos.org/?release=${OS_VERSION}&arch=${ARCH}&repo=centosplus&container=container" + +GPG_KEY_URL="https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7" GPG_KEY_FILE="RPM-GPG-KEY-CentOS-7" diff --git a/rootfs-builder/centos/config_aarch64.sh b/rootfs-builder/centos/config_aarch64.sh new file mode 100644 index 0000000000..b4c6a2677f --- /dev/null +++ b/rootfs-builder/centos/config_aarch64.sh @@ -0,0 +1,18 @@ +# +# Copyright (c) 2018 ARM Limited +# +# SPDX-License-Identifier: Apache-2.0 + +# Base Repos +BASE_URL="http://mirror.centos.org/altarch/${OS_VERSION}/os/${ARCH}/" + +# Additional Repos +CENTOS_UPDATES_URL="http://mirror.centos.org/altarch/${OS_VERSION}/updates/${ARCH}/" + +CENTOS_EXTRAS_URL="http://mirror.centos.org/altarch/${OS_VERSION}/extras/${ARCH}/" + +CENTOS_PLUS_URL="http://mirror.centos.org/altarch/${OS_VERSION}/centosplus/${ARCH}/" + +GPG_KEY_ARCH_URL="http://mirror.centos.org/altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-aarch64" + +GPG_KEY_ARCH_FILE="RPM-GPG-KEY-CentOS-7-aarch64" diff --git a/rootfs-builder/rootfs.sh b/rootfs-builder/rootfs.sh index 9879963260..01d8c33850 100755 --- a/rootfs-builder/rootfs.sh +++ b/rootfs-builder/rootfs.sh @@ -28,6 +28,9 @@ source "${script_dir}/versions.txt" # distro-specific config file typeset -r CONFIG_SH="config.sh" +# optional arch-specific config file +typeset -r CONFIG_ARCH_SH="config_${ARCH}.sh" + # Name of an optional distro-specific file which, if it exists, must implement the # build_rootfs() function. typeset -r LIB_SH="rootfs_lib.sh" @@ -179,6 +182,12 @@ distro_config_dir="${script_dir}/${distro}" rootfs_config="${distro_config_dir}/${CONFIG_SH}" source "${rootfs_config}" +# Source arch-specific config file +rootfs_arch_config="${distro_config_dir}/${CONFIG_ARCH_SH}" +if [ -f "${rootfs_arch_config}" ]; then + source "${rootfs_arch_config}" +fi + [ -d "${distro_config_dir}" ] || die "Not found configuration directory ${distro_config_dir}" if [ -z "$ROOTFS_DIR" ]; then diff --git a/scripts/lib.sh b/scripts/lib.sh index 02e8dd5e60..ca7f500016 100644 --- a/scripts/lib.sh +++ b/scripts/lib.sh @@ -80,13 +80,25 @@ enabled=1 EOF fi - if [ "$GPG_KEY_FILE" != "" ]; then + if [ -n "$GPG_KEY_URL" ]; then + if [ ! -f "${CONFIG_DIR}/${GPG_KEY_FILE}" ]; then + curl -L ${GPG_KEY_URL} -o ${CONFIG_DIR}/${GPG_KEY_FILE} + fi cat >> "${DNF_CONF}" << EOF gpgcheck=1 gpgkey=file://${CONFIG_DIR}/${GPG_KEY_FILE} - EOF fi + + if [ -n "$GPG_KEY_ARCH_URL" ]; then + if [ ! -f "${CONFIG_DIR}/${GPG_KEY_ARCH_FILE}" ]; then + curl -L ${GPG_KEY_ARCH_URL} -o ${CONFIG_DIR}/${GPG_KEY_ARCH_FILE} + fi + cat >> "${DNF_CONF}" << EOF + file://${CONFIG_DIR}/${GPG_KEY_ARCH_FILE} +EOF + fi + } build_rootfs()