From a8482df055d2233fabd142ec5bcf8ea748adc888 Mon Sep 17 00:00:00 2001
From: Ciaran McCreesh
Date: Sun, 5 Aug 2012 17:56:23 +0100
Subject: build_options: preserve_work is now work=preserve
Fixes: ticket:1252
---
doc/configuration/use.html.part.in | 9 +-
doc/faq/different.html.part | 2 +-
paludis/elike_choices-fwd.hh | 2 +-
paludis/elike_choices.cc | 260 +++++++++++++++-------
paludis/elike_choices.hh | 33 ++-
paludis/elike_choices.se | 12 +
paludis/repositories/e/do_install_action.cc | 74 +++++-
paludis/repositories/e/ebuild_id.cc | 4 +-
paludis/repositories/unpackaged/unpackaged_id.cc | 4 +-
paludis/repositories/unpackaged/unpackaged_key.cc | 6 +-
10 files changed, 296 insertions(+), 110 deletions(-)
diff --git a/doc/configuration/use.html.part.in b/doc/configuration/use.html.part.in
index d34a7853f..981eef0b0 100644
--- a/doc/configuration/use.html.part.in
+++ b/doc/configuration/use.html.part.in
@@ -66,10 +66,11 @@ default VIDEO_CARDS
from your profile, you will need to use *
(using set -x
). Not generally a good idea, but can be handy to track down why an ebuild is
misbehaving.
- preserve_work
- If set, Paludis will not delete temporary working directories used during the build, and will perform a
- non-destructive merge that leaves the image directory intact. This will result in the 'tidyup' phase being
- skipped, but not the 'killold' phase.
+ work
+ Controls whether Paludis deletes temporary working directories used during the build. If set to
+ preserve
, the working directory is always kept (and a non-destructive merge is performed). If set to
+ tidyup
, the working directory is removed after a successful build. If set to remove
,
+ the working directory is always removed, even after a failed build.
jobs
If set to an unsigned integer, specifies the number of jobs to run in parallel when build systems
diff --git a/doc/faq/different.html.part b/doc/faq/different.html.part
index ebbfb4f94..5931c7a92 100644
--- a/doc/faq/different.html.part
+++ b/doc/faq/different.html.part
@@ -28,7 +28,7 @@ a rather ugly way of handling things. We do have equivalents to most values:
See Use distcc
.
keepwork, keeptemp, noclean
- You can use BUILD_OPTIONS: preserve_work
for a similar effect.
+ You can use BUILD_OPTIONS: work=preserve
for a similar effect.
nodoc, noinfo, noman
You could write a hook that removes the relevant directories from
diff --git a/paludis/elike_choices-fwd.hh b/paludis/elike_choices-fwd.hh
index 9e146a324..bb0bae625 100644
--- a/paludis/elike_choices-fwd.hh
+++ b/paludis/elike_choices-fwd.hh
@@ -33,8 +33,8 @@ namespace paludis
struct ELikeExpensiveTestsChoiceValue;
struct ELikeJobsChoiceValue;
struct ELikeTraceChoiceValue;
- struct ELikePreserveWorkChoiceValue;
struct ELikeSymbolsChoiceValue;
+ struct ELikeWorkChoiceValue;
const ChoicePrefixName canonical_build_options_prefix() PALUDIS_VISIBLE PALUDIS_ATTRIBUTE((warn_unused_result));
const std::string canonical_build_options_raw_name() PALUDIS_VISIBLE PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/elike_choices.cc b/paludis/elike_choices.cc
index 23cab36ec..e9946551b 100644
--- a/paludis/elike_choices.cc
+++ b/paludis/elike_choices.cc
@@ -47,10 +47,15 @@ namespace
const std::shared_ptr