Gentoo Archives: gentoo-portage-dev

From: tvali <qtvali@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] Re: User created package lists
Date: Thu, 23 Mar 2006 10:18:18
Message-Id: cea53e3c0603230217o5858df83r@mail.gmail.com
In Reply to: Re: [gentoo-portage-dev] Re: User created package lists by Brian
1 2006/3/23, Brian <dol-sen@×××××.net>:
2 >
3 > On Tue, 2006-21-03 at 10:50 -0600, MIkey wrote:
4 > > tvali wrote:
5 > >
6 > > > So, if portage would be looked as lists and operations with lists
7 > > > (calculating dependencies of package would be operation with list of
8 > > > that package and list of all - portage tree -, then); building tools
9 > > > [shell commands] for creating those lists and tools for operations
10 > > > with those lists and leaving "emerge" tool just a handy interface to
11 > > > command them would be imho great.
12 >
13 > For a completely re-vamped portage, broken up into many smaller modules
14 > check out the pkgcore development.
15 >
16 > http://gentooexperimental.org/~ferringb/bzr/pkgcore/
17
18
19 Thanks. Will check out when get some time.
20
21 >
22 > > What about something along these lines...
23 > >
24 > > Add the capability for emerge to take a category as an argument, emerge
25 > > www-apps for example, and emerge all packages within that category.
26 > > Optionally make it so this will only work on categories within
27 > > PORTDIR_OVERLAY, or create a new type of overlay, LIST_OVERLAY.
28 > >
29 > > Then the user can create overlays with their own category names and
30 > symlink
31 > > in the package directories they want from the real portage tree.
32 > >
33 >
34 > I think you both are making it more complicated than it needs to be.
35 > Creating meta packages listing all the deps etc. may make portage work
36 > for emerges but won't give a user the heads up when one of those deps
37 > are upgradable so easily.
38 >
39 > Marius has stated that user package lists are to be supported in the
40 > future (OK), Porthole will have the ability to get ahead of portage
41 > because it is not concerned with the direct merging/unmerging of
42 > packages and system management. It is merely a way to display package
43 > data and ask portage (emerge) to merge/unmerge packages. So back to my
44 > original question:
45 >
46 > Will user created lists be located in the /etc/portage directory along
47 > with the other user configs? If so will the format be similar to the
48 > package.* files? For user package lists I imagine there could be the
49 > need to control version ranges, so the standard atoms should somehow
50 > apply.
51 >
52 > I would like to try and get as close to a portage format as can be
53 > foreseen so that it will require less updates/re-coding later when that
54 > feature is implemented.
55
56
57 Yes, i agree that package list should be more specific after a bit of
58 thinking :)
59
60 Having package lists as files allows:
61 * Copy them to other computer
62 * Do operations with them
63
64 I think that dependencies should not be contained in those lists anyhow but
65 they should be meant to be used with portage tree.
66
67 Package list should only be usable for two things:
68 * List packages
69 * List package data specific to user computer
70
71 Keeping any other data in package lists would be useless as there would be
72 two things to update instead of one portage tree. As package list file
73 identifies package by name and add then user-specific data maybe (version),
74 it's enough.
75
76 eg.
77 >
78 >
79 > /etc/portage/lists/
80 >
81 > This directory would hold any number of user created lists. I am not
82 > sure that additional subdirectories would be desired or needed. After
83 > all this feature would be to help simplify some tasks, not make ones
84 > head explode trying to follow something overly complex.
85 >
86 >
87 > /etc/portage/lists/userlist1
88 >
89 > format:
90 >
91 > net-www/apache
92 > www-apache/mod_perl
93 > ...
94 >
95 >
96 > How would you atomize a version range? >=, <=, =, <, > for one ended
97 > range limits the existing format from package.* files could be used.
98 >
99 > eg. limit net-www/apache to version 2 only? Lets pretend a version 3 is
100 > already released, so there could be versions series1, series 2, series
101 > 3.
102 >
103 > >=net-www/apache-2.0.0
104 > <=net-www/apache-2.99.99
105 > www-apache/mod_perl
106 > ...
107 >
108 > Where the upper range limit would immediately follow the lower range
109 > limit
110 >
111 > Or would an fstab type format be used. More available options could be
112 > easily assigned.
113 >
114 > # package lowest-version highest-version updates
115 > net-www/apache 2.0.0 2.99.0 M,K
116 >
117 > Where updates could be one or more of "M" manual, "A" automatic, "N"
118 > never, "K" binary packages only.
119
120
121 I dont know exactly, where, but i think that using comma-separated list of
122 ranges should be considered everywhere.
123
124 Ranges should be like:
125 1.*
126 2.0..2.0.4
127 (3.3.2)..3.3.6 # not including 3.3.2 -- is needed?
128
129 Comma-separated list:
130 [1.*,2.0..2.0.4,(3.3.2)..3.3.6]
131
132 It would not be that hard to implement features like the updates field
133 > and range limits in porthole. Since it is not feasible in the current
134 > portage code-base, a wrapper module/script could be made to implement it
135 > for cli.
136
137
138 Now i dont know what youre talking about but you shouldnt try to explain as
139 i havent yet gone through all portage code as there's some lack of time, but
140 i will :)
141
142 --
143 > Brian <dol-sen@×××××.net>
144 >
145 > --
146 > gentoo-portage-dev@g.o mailing list
147 >
148 >
149
150
151 --
152 tvali
153
154 >From a programmer's point of view, the user is a peripheral that types when
155 you issue a read request. -P. Williams
156
157 If you think your management doesn't know what it's doing or that your
158 organisation turns out low-quality software crap that embarrasses you, then
159 leave. -Ed Yourdon
160
161 We all agree on the necessity of compromise. We just can't agree on when
162 it's necessary to compromise. -Larry Wall
163
164 [ http://www.softwarequotes.com/ ] -
165 http://www.softwarequotes.com/ShowQuotes.asp?ID=544&Name=Borenstein,_Nathaniel_S.
166 - http://www.softwarequotes.com/ShowQuotes.asp?ID=571&Name=Boehm,_Barry