From e0b67523fe2d6f25b365eaf5abcb4e8f51ed8c66 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Tue, 20 Dec 2011 17:43:10 -0600 Subject: [PATCH] script/makepkg: include portmaster in build environment; use it to clean up dependencies before packaging things up --- script/makepkg | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/script/makepkg b/script/makepkg index 4c310f5..b57b43e 100755 --- a/script/makepkg +++ b/script/makepkg @@ -422,10 +422,24 @@ port_fetch_recursive() { # Missing dependencies are not fatal, since a port build will rebuild them anyways port_load_deps() { local port="${1}" + # Install portmaster: it's needed to clean up dependencies after an update build + portmaster_port="ports-mgmt/portmaster" + portmaster=$(port2pkg "${portmaster_port}") + if [ -f "${final_bdeps_dir}/${portmaster}.tbz" ] + then + cp -f "${final_bdeps_dir}/${portmaster}.tbz" "${bdeps_dir}" 2>/dev/null && meh "Loading ${portmaster}" + else + meh "No portmaster package exists; building one" + chmake "${portmaster_port}" clean build install clean || wtf "port_build ${portmaster_port} failed" + fi + + # And now for the dependencies for pkg in $(port2pkg $(port_all_deps "${port}")) do cp -f "${final_bdeps_dir}/${pkg}.tbz" "${bdeps_dir}" 2>/dev/null && meh "Loading dependent ${pkg}" done + + # Install all selected packages, ignoring already-installed packages and missing dependencies if ls "${bdeps_dir}"/*.tbz >/dev/null 2>&1 then meh "Installing dependencies" @@ -443,6 +457,8 @@ port_build() { # Package a port port_package() { local port="${1}" + meh "Cleaning up dependency tree" + cheval "portmaster --check-depends" meh "Creating rdep package tree for ${port}" cheval "pkg_create -Rvb $(port2pkg "${port}")" || wtf "port_package ${port} failed" } -- 2.42.0