From: kwkhui@hkbn.net
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] emerge --update : how to keep it going?
Date: Sun, 2 Dec 2012 22:58:47 +0800 [thread overview]
Message-ID: <20121202225847.1a6e635d@gentoo-main.kwkh-home> (raw)
In-Reply-To: <20121202161202.05923071@khamul.example.com>
[-- Attachment #1: Type: text/plain, Size: 2543 bytes --]
On Sun, 2 Dec 2012 16:12:02 +0200
Alan McKinnon <alan.mckinnon@gmail.com> wrote:
> On Sat, 01 Dec 2012 19:58:45 +0000
> Graham Murray <graham@gmurray.org.uk> wrote:
>
> > Volker Armin Hemmann <volkerarmin@googlemail.com> writes:
> >
> > > --keep-going does not help you, if the emerge does not start
> > > because of missing dep/slot conflict/blocking/masking whatever...
> >
> > Though it would be nice if there was some flag, probably mainly of
> > use with either ' -u @world' or --resume, to tell portage to get on
> > and merge what it can and leave any masked packages or those which
> > would generate blockers or conflicts.
> >
>
> That is a terribly bad idea, and you need to have a fairly deep
> understanding of IT theory to see it (which is why so few people see
> it). I don't know which camp you are in.
>
> The command is to emerge world, and it's supposed to be determinate,
> i.e. when it's ready to start you can tell what it's going to do, and
> that should be what you told it to do, no more and no less[1]
>
> the command is
> "emerge world"
> not
> "emerge the-bits-of-world-you-think-you-can-deal-with"
>
> If portage cannot emerge world and fully obey what root told it to do,
> then portage correctly refuses to continue. It could not possibly be
> any other way, as eg all automated build tools (puppet, chef and
> friends, even flameeyes's sandbox) break horribly if you do it any
> other way. Life is hard enough dealing with build failures without
> adding portage do somethign different to what it was told into the
> mix.
>
> [1] "determinate" excludes build failures, as those are not
> predictable. Dep graph failures happen before the meaty work begins.
>
>
>
While there are good reasons not to implement it in portage itself, you
can implement it with a bit of help from shell scripts telling portage
what to do.
Do an "emerge -uDpv world", use sed or awk or whatever to replace the
beginning [ebuild ...] and whatever come after the package
name&version, and finally loop "emerge -1 =${package}" for each package
in that list. Now provided you discard the return value of emerge, if
such ${package} will give you something that portage doesn't think is a
good idea (e.g. unsatisfiable dependencies), the loop will go on to the
next package instead of completely halting.
The shell script is thus left as an exercise.
The usual warning applies:- it can be done doesn't necessarily mean it
is a good idea to do it.
Kerwin.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2012-12-02 15:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-30 12:26 [gentoo-user] emerge --update : how to keep it going? Helmut Jarausch
2012-11-30 12:42 ` Francisco Ares
2012-11-30 12:43 ` Michael Mol
2012-11-30 12:46 ` Dale
2012-11-30 12:52 ` Yohan Pereira
2012-11-30 13:05 ` 2sb7vwu
2012-11-30 16:44 ` Michael Orlitzky
2012-12-01 13:02 ` 2sb7vwu
2012-12-01 18:56 ` Volker Armin Hemmann
2012-12-01 19:58 ` Graham Murray
2012-12-01 20:19 ` Mark Knecht
2012-12-01 20:30 ` Volker Armin Hemmann
2012-12-02 14:12 ` Alan McKinnon
2012-12-02 14:58 ` kwkhui [this message]
2012-11-30 17:53 ` Keith Dart
2012-11-30 18:01 ` Helmut Jarausch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121202225847.1a6e635d@gentoo-main.kwkh-home \
--to=kwkhui@hkbn.net \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox