summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/opkg/opkg/alternatives-ln.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/opkg/opkg/alternatives-ln.patch')
-rw-r--r--meta/recipes-devtools/opkg/opkg/alternatives-ln.patch56
1 files changed, 0 insertions, 56 deletions
diff --git a/meta/recipes-devtools/opkg/opkg/alternatives-ln.patch b/meta/recipes-devtools/opkg/opkg/alternatives-ln.patch
deleted file mode 100644
index f257eb0e1c..0000000000
--- a/meta/recipes-devtools/opkg/opkg/alternatives-ln.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1update-alternatives: use 'ln -n'
2
3Using the '-n' option (--no-dereference) is a better way to solve the
4do-not-link-into-directory issue. Using only 'ln -sf' can cause problems
5on SELinux enabled hosts when target is inaccessible; e.g. when preparing
6an offline rootsystem:
7
8 | $ cd <offline root>
9 | $ ln -sf /lib/systemd/systemd sbin/init # alternative #1
10 | $ ln -sf /bin/busybox sbin/init # alternative #2
11 | ln: accessing `sbin/init': Permission denied
12 |
13 | --> strace:
14 | brk(0) = 0x102b000
15 | stat("sbin/init", 0x7fffaa91c900) = -1 EACCES (Permission denied)
16 | ...
17 | exit_group(1) = ?
18
19Now with '-n':
20
21 | $ ln -snf /bin/busybox sbin/init
22 | lstat("sbin/init", {st_mode=S_IFLNK|0777, st_size=20, ...}) = 0
23 | lstat("sbin/init", {st_mode=S_IFLNK|0777, st_size=20, ...}) = 0
24 | stat("/bin/busybox", 0x7fff8c1a3bd0) = -1 ENOENT (No such file or directory)
25 | symlink("/bin/busybox", "sbin/init") = -1 EEXIST (File exists)
26 | unlink("sbin/init") = 0
27 | symlink("/bin/busybox", "sbin/init") = 0
28
29
30The '-n' flag is well supported (coreutils have it at least since
311999, busybox at least since 0.60.3 (2002)) and it obsoletes the
32explicit check whether target is a directory.
33
34Upstream-Status: pending [http://code.google.com/p/opkg/issues/detail?id=95]
35Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
36
37Index: trunk/utils/update-alternatives.in
38===================================================================
39--- trunk.orig/utils/update-alternatives.in
40+++ trunk/utils/update-alternatives.in
41@@ -113,14 +113,7 @@ find_best_alt() {
42 if [ ! -d $link_dir ]; then
43 mkdir -p $link_dir
44 fi
45- if [ -h $link -a -d $link ]; then
46- # If $link exists and the target is a directory,
47- # 'ln -sf $path $link' doesn't replace the link to
48- # that directory, it creates new link inside.
49- echo "update-alternatives: Removing $link".
50- rm -f $link
51- fi
52- ln -sf $path $link
53+ ln -snf $path $link
54 echo "update-alternatives: Linking $link to $path"
55 else
56 echo "update-alternatives: Error: not linking $link to $path since $link exists and is not a link"