update_chroot/build_packages: remove obsolete packages

Before attempting to do @preserved-rebuild to fix linked against old
libraries remove any packages that no longer have corresponding ebuilds,
making them impossible to rebuild. This uses `--depclean`'s secondary
meaning: `--unmerge` but only remove packages without dependencies.
This commit is contained in:
Michael Marineau 2015-07-24 14:37:46 -07:00
parent 0fbb1891e0
commit e881b270db
2 changed files with 6 additions and 0 deletions

View File

@ -225,6 +225,9 @@ info "Merging board packages now"
sudo -E "${EMERGE_CMD[@]}" "${EMERGE_FLAGS[@]}" \ sudo -E "${EMERGE_CMD[@]}" "${EMERGE_FLAGS[@]}" \
@system coreos-devel/board-packages @system coreos-devel/board-packages
info "Removing obsolete packages"
sudo -E "${EMERGE_CMD[@]}" --depclean @unavailable
if "portageq-${BOARD}" list_preserved_libs "${BOARD_ROOT}" >/dev/null; then if "portageq-${BOARD}" list_preserved_libs "${BOARD_ROOT}" >/dev/null; then
sudo -E "${EMERGE_CMD[@]}" "${REBUILD_FLAGS[@]}" @preserved-rebuild sudo -E "${EMERGE_CMD[@]}" "${REBUILD_FLAGS[@]}" @preserved-rebuild
fi fi

View File

@ -226,6 +226,9 @@ info "Updating all SDK packages"
sudo -E ${EMERGE_CMD} ${EMERGE_FLAGS} \ sudo -E ${EMERGE_CMD} ${EMERGE_FLAGS} \
coreos-devel/sdk-depends world coreos-devel/sdk-depends world
info "Removing obsolete packages"
sudo -E ${EMERGE_CMD} --depclean @unavailable
if portageq list_preserved_libs / >/dev/null; then if portageq list_preserved_libs / >/dev/null; then
info "Rebuilding packages linked against old libraries" info "Rebuilding packages linked against old libraries"
sudo -E ${EMERGE_CMD} ${REBUILD_FLAGS} @preserved-rebuild sudo -E ${EMERGE_CMD} ${REBUILD_FLAGS} @preserved-rebuild