1 |
Signed-off-by: Alexander Berntsen <bernalex@g.o> |
2 |
Suggested-by: Zac Medico <zmedico@g.o> |
3 |
--- |
4 |
Add some output. Use the more backwards compatible OSError instead of |
5 |
FileNotFoundError. |
6 |
|
7 |
pym/_emerge/main.py | 14 ++++++++++++++ |
8 |
1 file changed, 14 insertions(+) |
9 |
|
10 |
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py |
11 |
index 5d5e936..f1a9e18 100644 |
12 |
--- a/pym/_emerge/main.py |
13 |
+++ b/pym/_emerge/main.py |
14 |
@@ -1100,6 +1100,20 @@ def emerge_main(args=None): |
15 |
# loading to allow new repos with non-existent directories |
16 |
portage._sync_mode = True |
17 |
|
18 |
+ # Verify that /dev/null exists and is a device file as a cheap early |
19 |
+ # filter for obviously broken /dev/s. |
20 |
+ try: |
21 |
+ if os.stat(os.devnull).st_rdev == 0: |
22 |
+ writemsg_level("Failed to validate a sane '/dev'.\n" |
23 |
+ "'/dev/null' is not a device file.\n", |
24 |
+ level=logging.ERROR, noiselevel=-1) |
25 |
+ return 1 |
26 |
+ except OSError: |
27 |
+ writemsg_level("Failed to validate a sane '/dev'.\n" |
28 |
+ "'/dev/null' does not exist.\n", |
29 |
+ level=logging.ERROR, noiselevel=-1) |
30 |
+ return 1 |
31 |
+ |
32 |
# Portage needs to ensure a sane umask for the files it creates. |
33 |
os.umask(0o22) |
34 |
emerge_config = load_emerge_config( |
35 |
-- |
36 |
2.0.5 |