1 |
vapier 11/02/22 06:10:16 |
2 |
|
3 |
Modified: qmerge.c |
4 |
Log: |
5 |
unify the pkg_{pre,post}rm steps a bit, and seed the env with stub debug-print funcs like the pm does |
6 |
|
7 |
Revision Changes Path |
8 |
1.101 portage-utils/qmerge.c |
9 |
|
10 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-projects/portage-utils/qmerge.c?rev=1.101&view=markup |
11 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-projects/portage-utils/qmerge.c?rev=1.101&content-type=text/plain |
12 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-projects/portage-utils/qmerge.c?r1=1.100&r2=1.101 |
13 |
|
14 |
Index: qmerge.c |
15 |
=================================================================== |
16 |
RCS file: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v |
17 |
retrieving revision 1.100 |
18 |
retrieving revision 1.101 |
19 |
diff -u -r1.100 -r1.101 |
20 |
--- qmerge.c 21 Feb 2011 22:02:59 -0000 1.100 |
21 |
+++ qmerge.c 22 Feb 2011 06:10:16 -0000 1.101 |
22 |
@@ -1,7 +1,7 @@ |
23 |
/* |
24 |
* Copyright 2005-2010 Gentoo Foundation |
25 |
* Distributed under the terms of the GNU General Public License v2 |
26 |
- * $Header: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v 1.100 2011/02/21 22:02:59 vapier Exp $ |
27 |
+ * $Header: /var/cvsroot/gentoo-projects/portage-utils/qmerge.c,v 1.101 2011/02/22 06:10:16 vapier Exp $ |
28 |
* |
29 |
* Copyright 2005-2010 Ned Ludd - <solar@g.o> |
30 |
* Copyright 2005-2010 Mike Frysinger - <vapier@g.o> |
31 |
@@ -55,7 +55,7 @@ |
32 |
COMMON_OPTS_HELP |
33 |
}; |
34 |
|
35 |
-static const char qmerge_rcsid[] = "$Id: qmerge.c,v 1.100 2011/02/21 22:02:59 vapier Exp $"; |
36 |
+static const char qmerge_rcsid[] = "$Id: qmerge.c,v 1.101 2011/02/22 06:10:16 vapier Exp $"; |
37 |
#define qmerge_usage(ret) usage(ret, QMERGE_FLAGS, qmerge_long_opts, qmerge_opts_help, lookup_applet_idx("qmerge")) |
38 |
|
39 |
char search_pkgs = 0; |
40 |
@@ -424,6 +424,20 @@ |
41 |
return ret; |
42 |
} |
43 |
|
44 |
+#define pkg_run_func(func, setup) \ |
45 |
+ do { \ |
46 |
+ qprintf(">>> %s\n", func); \ |
47 |
+ xsystembash( \ |
48 |
+ "debug-print() { :; }; " \ |
49 |
+ "debug-print-function() { :; }; " \ |
50 |
+ "debug-print-section() { :; }; " \ |
51 |
+ func "() { :; }; " \ |
52 |
+ setup \ |
53 |
+ ". ./environment && " \ |
54 |
+ func \ |
55 |
+ ); \ |
56 |
+ } while (0) |
57 |
+ |
58 |
/* oh shit getting into pkg mgt here. FIXME: write a real dep resolver. */ |
59 |
void pkg_merge(int level, depend_atom *atom, struct pkg_t *pkg) |
60 |
{ |
61 |
@@ -861,14 +875,8 @@ |
62 |
|
63 |
/* First execute the pkg_prerm step */ |
64 |
if (!pretend) { |
65 |
- qprintf(">>> pkg_prerm\n"); |
66 |
xchdir(vdb_path); |
67 |
- xsystembash( |
68 |
- "bzip2 -dc environment.bz2 > environment && " |
69 |
- "pkg_prerm() { :; } && " |
70 |
- ". ./environment && " |
71 |
- "pkg_prerm" |
72 |
- ); |
73 |
+ pkg_run_func("pkg_prerm", "bzip2 -dc environment.bz2 > environment && "); |
74 |
} |
75 |
|
76 |
/* Now start removing all the installed files */ |
77 |
@@ -974,15 +982,8 @@ |
78 |
freeargv(cpm_argc, cpm_argv); |
79 |
|
80 |
/* Then execute the pkg_postrm step */ |
81 |
- if (!pretend) { |
82 |
- qprintf(">>> pkg_postrm\n"); |
83 |
- xsystembash( |
84 |
- /* "bzip2 -dc environment.bz2 > environment && " */ |
85 |
- "pkg_postrm() { :; } && " |
86 |
- ". ./environment && " |
87 |
- "pkg_postrm" |
88 |
- ); |
89 |
- } |
90 |
+ if (!pretend) |
91 |
+ pkg_run_func("pkg_postrm", ""); |
92 |
|
93 |
if (!pretend) { |
94 |
/* Finally delete the vdb entry */ |