From 29fd2e335caa465372eb35a1b65ecdf9a37f83a6 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 22 May 2007 06:27:32 +0000 Subject: When ${PKGDIR}/All/ doesn't exist, put packages in ${PKGDIR}/${CATEGORY}/ instead. This new layout is backward compatible with portage-2.1.2 and it will be a requirement for new PORTAGE_BINHOST support that is comming. svn path=/main/trunk/; revision=6568 --- bin/misc-functions.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index d7aa9b05f..86d13292d 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -496,13 +496,18 @@ preinst_selinux_labels() { dyn_package() { cd "${PORTAGE_BUILDDIR}/image" install_mask "${PORTAGE_BUILDDIR}/image" ${PKG_INSTALL_MASK} - local pkg_dest="${PKGDIR}/All/${PF}.tbz2" - local pkg_tmp="${PKGDIR}/All/${PF}.tbz2.$$" + if [ -d "${PKGDIR}/All" ] ; then + local pkg_dest="${PKGDIR}/All/${PF}.tbz2" + else + local pkg_dest="${PKGDIR}/${CATEGORY}/${PF}.tbz2" + fi + local pkg_tmp="${pkg_dest}.$$" local tar_options="" [ "${PORTAGE_QUIET}" == "1" ] || tar_options="${tar_options} -v" # Sandbox is disabled in case the user wants to use a symlink # for $PKGDIR and/or $PKGDIR/All. export SANDBOX_ON="0" + mkdir -p "${pkg_tmp%/*}" || die "mkdir failed" tar ${tar_options} -cf - . | bzip2 -f > "${pkg_tmp}" || \ die "Failed to create tarball" cd .. @@ -513,7 +518,10 @@ dyn_package() { die "Failed to append metadata to the tbz2 file" fi mv -f "${pkg_tmp}" "${pkg_dest}" || die "Failed to move tbz2 to ${pkg_dest}" - ln -sf "../All/${PF}.tbz2" "${PKGDIR}/${CATEGORY}/${PF}.tbz2" || die "Failed to create symlink in ${PKGDIR}/${CATEGORY}" + if [ -d "${PKGDIR}/All" ] ; then + ln -sf "../All/${PF}.tbz2" "${PKGDIR}/${CATEGORY}/${PF}.tbz2" || \ + die "Failed to create symlink in ${PKGDIR}/${CATEGORY}" + fi vecho ">>> Done." cd "${PORTAGE_BUILDDIR}" touch .packaged || die "Failed to 'touch .packaged' in ${PORTAGE_BUILDDIR}" -- cgit v1.2.3-1-g7c22