[lxc-devel] [PATCH] fix lxc-fedora template for fedora 21
Serge Hallyn
serge.hallyn at ubuntu.com
Mon Jan 5 16:47:17 UTC 2015
Quoting Michael Adam (obnox at samba.org):
> Hi,
>
> And a happy new year to everybody!
>
> Is this the correct way to submit a patch?
Almost - it's perfect, except for please put the patches inline rather
than as attachments, if possible.
> Or is it also possible to simply create a pull request on github?
No for thi sproject I prefer email so that everyone can see them.
> Anyhow, here it is:
Thanks for the patch. It looks good to me, though I have not tested
and don't have any fedora right now. I'm hoping mwarfield will
see it and comment if there are any problems, but meanwhile acked belw.
> the fedora template fails for f21 because in
> f21, a package fedora-repos has been split out
> of the fedora-release package, and fedora-repos
> is also required.
>
> Attached patch fixes this for me by adding the
> fedora-repos pacakge if the release is >= 21.
>
> Comments / merge appreciated...
>
> Thanks, Michael
> From c8324559061541e16217e1e9da6886677bbf6516 Mon Sep 17 00:00:00 2001
> From: Michael Adam <obnox at samba.org>
> Date: Fri, 2 Jan 2015 20:28:59 +0100
> Subject: [PATCH] lxc-fedora: In fedora21, the fedora-repos package is needed.
>
> fedora-release has been split into fedora-release and fedora-repos.
>
> Signed-off-by: Michael Adam <obnox at samba.org>
Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
> ---
> templates/lxc-fedora.in | 36 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 35 insertions(+), 1 deletion(-)
>
> diff --git a/templates/lxc-fedora.in b/templates/lxc-fedora.in
> index 65e9959..2123e69 100644
> --- a/templates/lxc-fedora.in
> +++ b/templates/lxc-fedora.in
> @@ -823,6 +823,13 @@ download_fedora()
> PKG_LIST="${PKG_LIST} db4-utils"
> fi
>
> + if [[ ${release} -ge 21 ]]
> + then
> + # Since Fedora 21, a separate fedora-repos package is needed.
> + # Before, the information was conained in fedora-release.
> + PKG_LIST="${PKG_LIST} fedora-repos"
> + fi
> +
> DOWNLOAD_OK=no
>
> # We're splitting the old loop into two loops plus a directory retrival.
> @@ -851,7 +858,7 @@ download_fedora()
> RELEASE_URL="$MIRROR_URL/Packages/"
> fi
>
> - echo "Fetching rpm name from $RELEASE_URL..."
> + echo "Fetching release rpm name from $RELEASE_URL..."
> # This code is mildly "brittle" in that it assumes a certain directory
> # page format and parsing HTML. I've done worse. :-P
> RELEASE_RPM=$(curl -L -f "$RELEASE_URL" | sed -e "/fedora-release-${release}-/!d" -e 's/.*<a href=\"//' -e 's/\">.*//' )
> @@ -867,6 +874,24 @@ download_fedora()
> continue
> fi
>
> + # F21 and newer need fedora-repos in addition to fedora-release.
> + if [ "$release" -ge "21" ]; then
> + echo "Fetching repos rpm name from $RELEASE_URL..."
> + REPOS_RPM=$(curl -L -f "$RELEASE_URL" | sed -e "/fedora-repos-${release}-/!d" -e 's/.*<a href=\"//' -e 's/\">.*//' )
> + if [ $? -ne 0 -o "${REPOS_RPM}" = "" ]; then
> + echo "Failed to identify fedora repos rpm."
> + continue
> + fi
> +
> + echo "Fetching fedora repos rpm from ${RELEASE_URL}/${REPOS_RPM}..."
> + curl -L -f "${RELEASE_URL}/${REPOS_RPM}" > ${INSTALL_ROOT}/${REPOS_RPM}
> + if [ $? -ne 0 ]; then
> + echo "Failed to download fedora repos rpm ${RELEASE_RPM}."
> + continue
> + fi
> + fi
> +
> +
> DOWNLOAD_OK=yes
> break
> done
> @@ -887,9 +912,18 @@ download_fedora()
> fedora_bootstrap_mounts
>
> ${BOOTSTRAP_CHROOT}rpm --root ${BOOTSTRAP_INSTALL_ROOT} --initdb
> +
> # The --nodeps is STUPID but F15 had a bogus dependency on RawHide?!?!
> ${BOOTSTRAP_CHROOT}rpm --root ${BOOTSTRAP_INSTALL_ROOT} --nodeps -ivh ${BOOTSTRAP_INSTALL_ROOT}/${RELEASE_RPM}
>
> + # F21 and newer need fedora-repos in addition to fedora-release...
> + # Note that fedora-release and fedora-system have a mutual dependency.
> + # So installing the reops package after the release package we can
> + # spare one --nodeps.
> + if [ "$release" -ge "21" ]; then
> + ${BOOTSTRAP_CHROOT}rpm --root ${BOOTSTRAP_INSTALL_ROOT} -ivh ${BOOTSTRAP_INSTALL_ROOT}/${REPOS_RPM}
> + fi
> +
> # yum will take $basearch from host, so force the arch we want
> sed -i "s|\$basearch|$basearch|" ${BOOTSTRAP_DIR}/${BOOTSTRAP_INSTALL_ROOT}/etc/yum.repos.d/*
>
> --
> 2.1.0
>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
More information about the lxc-devel
mailing list