summaryrefslogtreecommitdiffstats
path: root/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/opkg/opkg/opkg-intercept-cleanup.patch')
-rw-r--r--meta/packages/opkg/opkg/opkg-intercept-cleanup.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch b/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch
new file mode 100644
index 0000000000..12893e3852
--- /dev/null
+++ b/meta/packages/opkg/opkg/opkg-intercept-cleanup.patch
@@ -0,0 +1,47 @@
1---
2 libopkg/opkg_cmd.c | 13 +++++++++----
3 1 file changed, 9 insertions(+), 4 deletions(-)
4
5--- trunk.orig/libopkg/opkg_cmd.c
6+++ trunk/libopkg/opkg_cmd.c
7@@ -19,6 +19,7 @@
8 #include "includes.h"
9 #include <dirent.h>
10 #include <glob.h>
11+#include <unistd.h>
12
13 #include "opkg_conf.h"
14 #include "opkg_cmd.h"
15@@ -350,7 +351,6 @@ static opkg_intercept_t opkg_prep_interc
16
17 static int opkg_finalize_intercepts(opkg_intercept_t ctx)
18 {
19- char *cmd;
20 DIR *dir;
21 int err = 0;
22
23@@ -376,6 +376,10 @@ static int opkg_finalize_intercepts(opkg
24 err = errno;
25 perror (de->d_name);
26 }
27+ if (unlink (path)) {
28+ err = errno;
29+ perror (path);
30+ }
31 }
32 free (path);
33 }
34@@ -383,9 +387,10 @@ static int opkg_finalize_intercepts(opkg
35 } else
36 perror (ctx->statedir);
37
38- sprintf_alloc (&cmd, "rm -rf %s", ctx->statedir);
39- err = system (cmd);
40- free (cmd);
41+ if (rmdir (ctx->statedir)) {
42+ err = errno;
43+ perror (ctx->statedir);
44+ }
45
46 free (ctx->statedir);
47 free (ctx);