1 |
rafaelmartins 11/05/31 05:24:11 |
2 |
|
3 |
Added: g-octave-0.4.1-add_cave_support.patch |
4 |
Log: |
5 |
Revision bump, fixes bug #274593, thanks to Karol Szumski |
6 |
|
7 |
(Portage version: 2.2.0_alpha34/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 app-portage/g-octave/files/g-octave-0.4.1-add_cave_support.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-portage/g-octave/files/g-octave-0.4.1-add_cave_support.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-portage/g-octave/files/g-octave-0.4.1-add_cave_support.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: g-octave-0.4.1-add_cave_support.patch |
16 |
=================================================================== |
17 |
--- ./g-octave-0.4.1/g_octave/package_manager.py 2010-10-23 23:37:26.000000000 +0200 |
18 |
+++ ./g-octave-0.4.1/g_octave/package_manager.py 2011-05-25 12:52:10.510019006 +0200 |
19 |
@@ -15,6 +15,7 @@ |
20 |
'Portage', |
21 |
'Pkgcore', |
22 |
'Paludis', |
23 |
+ 'Cave', |
24 |
] |
25 |
|
26 |
import grp |
27 |
@@ -243,3 +244,56 @@ |
28 |
packages.append(line.strip()) |
29 |
return packages |
30 |
|
31 |
+class Cave(Base): |
32 |
+ |
33 |
+ _client = '/usr/bin/cave' |
34 |
+ _group = 'paludisbuild' |
35 |
+ |
36 |
+ post_uninstall = [ |
37 |
+ 'You may want to remove the dependencies too, using:', |
38 |
+ '# cave purge', |
39 |
+ ] |
40 |
+ |
41 |
+ def __init__(self, ask=False, verbose=False, pretend=False, oneshot=False, nocolor=False): |
42 |
+ self._fullcommand = [self._client] |
43 |
+ self._cmd = ['-z'] |
44 |
+ oneshot and self._cmd.append('-1') |
45 |
+ not pretend and self._cmd.append('-x') |
46 |
+ #if verbose: |
47 |
+ # self._fullcommand += [ |
48 |
+ # '--show-descriptions', 'all', |
49 |
+ # '--show-option-descriptions', 'all', |
50 |
+ # ] |
51 |
+ #cave doesn't support '--ask' |
52 |
+ #cave doesn't support '--no-color' |
53 |
+ |
54 |
+ def run_command(self, command): |
55 |
+ return subprocess.call(self._fullcommand + command + self._cmd) |
56 |
+ |
57 |
+ def install_package(self, pkgatom, catpkg): |
58 |
+ return self.run_command(['resolve'] + [pkgatom]) |
59 |
+ |
60 |
+ def uninstall_package(self, pkgatom, catpkg): |
61 |
+ return self.run_command(['uninstall'] + [pkgatom]) |
62 |
+ |
63 |
+ def update_package(self, pkgatom=None, catpkg=None): |
64 |
+ cmd = ['-1','-K','s','-k','s'] |
65 |
+ if pkgatom is None: |
66 |
+ pkgatom = self.installed_packages() |
67 |
+ else: |
68 |
+ pkgatom = [pkgatom] |
69 |
+ self.do_ebuilds(pkgatom) |
70 |
+ return self.run_command(['resolve'] + cmd + pkgatom) |
71 |
+ |
72 |
+ def installed_packages(self): |
73 |
+ packages = [] |
74 |
+ p = subprocess.Popen([ |
75 |
+ 'cave', |
76 |
+ 'print-ids', |
77 |
+ '--matching', 'g-octave/*::installed', |
78 |
+ '--format', '%c/%p\n', |
79 |
+ ], stdout=subprocess.PIPE) |
80 |
+ if p.wait() == os.EX_OK: |
81 |
+ for line in p.stdout: |
82 |
+ packages.append(line.strip()) |
83 |
+ return packages |
84 |
--- ./g-octave-0.4.1/scripts/g-octave 2011-05-25 12:00:25.740019020 +0200 |
85 |
+++ ./g-octave-0.4.1/scripts/g-octave 2011-05-25 12:00:39.434019008 +0200 |
86 |
@@ -217,7 +217,7 @@ |
87 |
return os.EX_DATAERR |
88 |
return os.EX_OK |
89 |
|
90 |
- from g_octave.package_manager import Portage, Pkgcore, Paludis |
91 |
+ from g_octave.package_manager import Portage, Pkgcore, Paludis, Cave |
92 |
|
93 |
if conf_prefetch.package_manager == 'portage': |
94 |
log.info('Your package manager is: Portage') |
95 |
@@ -228,6 +228,9 @@ |
96 |
elif conf_prefetch.package_manager == 'paludis': |
97 |
log.info('Your package manager is: Paludis') |
98 |
pkg_manager = Paludis(options.ask, options.verbose, options.pretend, options.oneshot, not options.colors) |
99 |
+ elif conf_prefetch.package_manager == 'cave': |
100 |
+ log.info('Your package manager is: Paludis (Cave)') |
101 |
+ pkg_manager = Cave(options.ask, options.verbose, options.pretend, options.oneshot, not options.colors) |
102 |
else: |
103 |
log.error('Invalid package manager: %s' % conf_prefetch.package_manager) |
104 |
out.eerror('Invalid package manager: %s' % conf_prefetch.package_manager) |