aboutsummaryrefslogtreecommitdiff
path: root/doc/faq/stricter.html.part
blob: 39c58215a13c537ed4bf22f125c827f0ab51023d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!-- vim: set tw=120 ft=html sw=4 sts=4 et : -->

<h1>FAQ: Paludis is Stricter than Portage</h1>

<ul>
    <li><a href="stricter.html#mergingweirdstuff">Merging Weird Stuff</a></li>
    <li><a href="stricter.html#testfailures">Packages Failing <code>src_test</code></a></li>
    <li><a href="stricter.html#sandboxwithroot">Sandbox Violations when <code>ROOT</code> is Set</a></li>
    <li><a href="stricter.html#blacklist">Repository Blacklists</a></li>
</ul>

<h2 id="mergingweirdstuff">Merging Weird Stuff</h2>

<p>Paludis will refuse to merge various things:</p>

<ul>
    <li>Device nodes, fifos and similar weird files. Portage will merge these
    incorrectly and then leave stray garbage lying around; Paludis refuses to do
    anything with them. Ebuilds that need to install fancy file types should do
    so in <code>pkg_postinst</code>.</li>

    <li>Non-directories on top of directories. Paludis will not let a package
    overwrite a directory with a non-directory. This is for your own safety.
    Portage doesn't bail out on this, but instead ends up partially merging
    content and generally making a mess of your system.</li>
</ul>

<p>If you encounter an ebuild that does any of these, fix the ebuild.</p>

<h2 id="testfailures">Packages Failing <code>src_test</code></h2>

<p>Prior to version 0.26, Paludis would always run <code>src_test</code>. Earlier
versions of this FAQ suggested using <code>SKIP_FUNCTIONS</code> to override this.</p>

<p>Unfortunately, because the QA standards in many parts of the Gentoo tree are so low,
and because some Gentoo developers have such terrible attitudes towards QA, this is
no longer the default behaviour. Whether or not tests are run is now controlled by
the state of <code>BUILD_OPTIONS: optional_tests</code> in use.conf.</p>

<h2 id="sandboxwithroot">Sandbox Violations when <code>ROOT</code> is Set</h2>

<p>Various packages will give sandbox violations when installing to somewhere
other than <code>/</code>.</p>

<p>Paludis enforces <code>ROOT</code> via Sandbox. However, some packages don't
honour <code>ROOT</code>. To temporarily disable sandbox for these packages,
set <code>SANDBOX_PREDICT=/</code> or <code>SANDBOX_WRITE=/</code> as
appropriate.</p>

<h2 id="blacklist">Repository Blacklists</h2>

<p>Paludis will sometimes blacklist certain repositories. When using a
blacklisted repository, you will receive a warning when Paludis starts up. This
is not a fatal error, but you should realise that use of the repository in
question will likely lead to breakages.</p>

<p>Repositories are only blacklisted under extreme circumstances, such as:</p>

<ul>
    <li>When they are known to be very broken.</li>
    <li>When they are known to rely heavily upon quirks in Portage's behaviour
    that Paludis will not emulate.</li>
    <li>When they are known to be a security threat.</li>
</ul>