Apparently, though unproven, at 21:26 on Friday 29 October 2010, Fatih Tümen 
did opine thusly:

> On Fri, Oct 29, 2010 at 21:18, Alan McKinnon <[email protected]> 
wrote:
> > Apparently, though unproven, at 18:46 on Friday 29 October 2010, Fatih
> > Tümen
> > 
> > did opine thusly:
> >> Hi,
> >> 
> >> Is there a way tell portage to build binary package before removing it
> >> from the system?
> >> 
> >> man emerge says:
> >> --buildpkg (-b)
> >>               Tells  emerge  to  build binary packages for all ebuilds
> >> processed in addition to actually **merging** the packages.
> >>               [...]
> >>               An alternative for already-merged packages is to use
> >> quickpkg(1) which creates a tbz2 from the live filesystem.
> >> 
> >> I have about 20 packages to unmerge or remerge with new use flags. But
> >> I want to keep binary copies (with old use settings) before unmerging
> >> them. Unfortunately I did not have buildpkg in FEATURES at the time of
> >> emerging them. Doing this now by hand sounds kinda fatigue unless...
> >> the output of --pretend was parsable so I do what I want by..
> >> 
> >> for pkg in ${PKGS}; do quickpkg --include-config\=y $pkg; done
> >> 
> >> or by something better?
> >> 
> >> Thanks for ideas in advance.
> >> --
> >>    Fatih
> > 
> > Write a wrapper script around quickpkg and emerge.
> > 
> > And set buildpkg in FEATURES so this doesn't happen again :-)
> 
> 'wrapper' rang the bell. Thanks.
> 
> The only one I recalled was post_src_install from lafilefixer thing.
> So I grepped /usr/lib/portage/ for it and found the list of others at
> /usr/lib/portage/bin/isolated-functions.sh +521 and wrote this inside
> /etc/portage/bashrc
> 
> pkg_prerm() {
>     echo ">>> Building binary package before unmerging ;)"
>     if [[ -f /var/db/.pkg.portage_lockfile ]]; then
>         rm -f /var/db/.pkg.portage_lockfile #2>/dev/null
>     fi
>     quickpkg --include-config\=y "=$CATEGORY/$P"
>     touch /var/db/.pkg.portage_lockfile
> }


It didn't occur to me to do it that way :-)

But it's actually a fine idea, and the way you are supposed to do it by 
design. Maybe next time I'll remember what those hooks are for :-)




-- 
alan dot mckinnon at gmail dot com

Reply via email to