Gentoo Archives: gentoo-portage-dev

From: Atis <atisss@×××××.com>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] Feature requests, and few bugreports
Date: Mon, 20 Jun 2005 13:23:40
Message-Id: 945196e0506200623efb0add@mail.gmail.com
1 Hello portage developers
2
3 I apologize about not using bugzilla, but i'm not so familiar with it,
4 and currently i have
5 very time-limited internet connection, so i write most of my mails
6 offline, and i can't affroad
7 checking for already posted bugs. Hope you will apreciate my effort,
8 and keep inform me (trough the ML) about further changes in those
9 areas, existing fixes, or just my stupidity :)
10 Maybe some of topics listed here are not corresponding to topic of
11 this ML, please let me know where they should be posted.
12
13 * verify of merged files
14
15 While emerging system i got build error that javac check [in configure] failed.
16 I checked that i have blackdown-jdk already merged, but javac didn't worked,
17 it didn't gave even -help message. I started to check all the files in
18 /opt/blackdown-jdk-1.4.2.01, and compared them with extracted version
19 of j2sdk-1_4_2_08-linux-i586.bin
20 Finally i found out that there are few files that have different sizes.
21 One of them was .properties file [i suppose it was intentionally
22 changed by .ebuild]
23 But the most surprise was that
24 /opt/blackdown-jdk-1.4.2.01/jre/lib/rt.jar has size 0 bytes.
25 I copied over one from self extracted .bin, checked javac, works...
26 The results show, that you need to implement some kind of checking,
27 are the merged files the same
28 size as source. Or maybe there is bug/unhandled exception in copy
29 procedure. Anyway, simple size-check could
30 solve lot of problems.
31
32 * --resume functionality preserving
33
34 In the situation described above, i wanted to launch --unmerge j2sdk
35 and merge it again, but that would
36 break my existing [stopped] emerge -e system, and take a LOT of time -
37 to do that again. Also in other cases,
38 where in middle of emerge you find out that something is wrong, it
39 could be very useful - to launch another
40 emerge and preserving possibility to launch emerge --resume. I have
41 idea how this could be implemented.
42
43 Creating of files(dirs?) with status information, and telling their
44 name if something goes wrong.
45 IE, when something brokes, i have message:
46
47 To resume this operation type
48 emerge --resume 2005-06-19-01
49
50 and by default, --resume takes last of those files.
51
52 Alternative could be - to allow to do emerge without overwriting
53 --resume data [whereever this is stored now]
54 ie
55 emerge --holdresume j2sdk
56
57 * Total package count with --resume
58
59 Shouldn't it be the count of total packages before emerge has broken,
60 not the count of packages installed
61 in this launch.
62
63 * while emerge -e system [hardened/x86/2.6 profile] i found out that
64 Perl5 is required to build dev-libs/openssl-0.9.7e-r1
65
66 Doing emerge -p -v -t -e system showed that Perl5 will be built only
67 after openssl [also on default-linux/x86/2005.0 profile], and it
68 doesn't count that openssl-0.9.7e-r1.ebuld specifies
69 DEPEND=">=dev-lang/perl-5"
70
71 Maybe Perl5 needs to be added to bootstrap?
72
73 Or at guilt is that i changed USE flags between bootstrap and emerge
74 -e system? Does bootstrap looks for circular dependencies
75 by using the USE flags? It should be said in manual (as warning) then.
76 Or i shouldn't have set any USE flags during
77 emerge system. But it's waste of time then, as generally all the
78 packages i compile during emerge system i need to recompile later.
79
80 This example of
81 #emerge -p -v -t -e system shows it:
82
83 [...skipped...]
84 [ebuild N ] dev-lang/perl-5.8.5-r5 +berkdb -debug +doc -gdbm
85 -ithreads -perlsuid 0 kB
86 [ebuild N ] sys-devel/libperl-5.8.5 +berkdb -debug -gdbm
87 -ithreads 0 kB
88 [ebuild N ] sys-apps/groff-1.19.1-r2 -X -debug 2,567 kB
89 [ebuild N ] sys-libs/db-4.2.52_p2 -bootstrap +doc +java
90 -nocxx -tcltk 0 kB
91 [ebuild N ] dev-java/blackdown-jdk-1.4.2.01-r2 +doc -mozilla 0 kB
92 [ebuild N ] dev-java/java-config-1.2.11 15 kB
93 [ebuild N f ] dev-java/java-sdk-docs-1.4.2 0 kB
94 [ebuild N ] app-arch/unzip-5.50-r2 0 kB
95 [ebuild N ] sys-libs/glibc-2.3.4.20041102-r1 -build -debug
96 -erandom -hardened (-multilib) -nls -nomalloccheck -nptl -nptlonly
97 -pic +userlocales 17,112 kB
98 [ebuild N ] sys-kernel/linux-headers-2.6.8.1-r2 34,870 kB
99 [ebuild N ] sys-devel/gcc-3.3.5.20050130-r1 (-altivec)
100 -bootstrap -boundschecking -build -debug -fortran +gcj -gtk -hardened
101 -ip28 (-multilib) -multislot (-n32) (-n64) -nls -nocxx -nopie -nossp
102 -objc -static 23,639 kB
103 [ebuild N ] sys-devel/binutils-2.15.92.0.2-r10 -debug
104 -multislot -multitarget -nls -test 10,799 kB
105 [ebuild N ] sys-devel/binutils-config-1.8-r2 0 kB
106 [ebuild N ] sys-devel/gcc-config-1.3.11-r2 0 kB
107 [ebuild N ] sys-apps/portage-2.0.51.19 -build -debug
108 (-selinux) 277 kB
109 [ebuild N ] dev-lang/python-2.3.5 -X +berkdb
110 -bootstrap -build -debug +doc -gdbm -ipv6 +ncurses -nocxx +readline
111 +ssl -tcltk -ucs2 0 kB
112 [ebuild N ] dev-python/python-docs-2.3.5 1,213 kB
113 [ebuild N ] dev-libs/expat-1.95.8 -test 310 kB
114 [ebuild N ] dev-libs/openssl-0.9.7e-r1 -bindist
115 -debug -emacs -test 0 kB
116 [...skipped...]
117
118 #emerge --version
119 Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
120 glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r3-xAM i686)
121
122 IMHO emerge's check for circular dependencies should catch this out.
123
124 Executing
125
126 #USE="-*" emerge perl
127 solves problem, and allows to launch
128 #emerge -e system
129
130 In this case, preserving resume [as described above] would also be
131 very helpful, as i had to re-emerge gcc and glibc again.
132
133 * During bootstrap could be set +userlocales for glibc.
134
135 As it takes very long time to build glibc with all the locales (at
136 least on my Celeron466/32Mb :),
137 it could be allowed to build glibc only with locales specified. As in
138 manual, specifying locales
139 is already before bootstrap.
140
141 * Condensed list of possible USE flags during emerge -p
142
143 How do i (and probably many other users) write USE flags:
144
145 i do emerge -p -v <packages-to-install>
146 then i read about every USE flag i see on screen, and adjust
147 make.conf by my needs.
148
149 A simple list in bottom of screen (whenever i set -v) would be very helpful
150 as the flags very often repeats between packages. Look at example:
151
152 gak ~ # /usr/lib/portage/bin/emerge-xam -p -v mc apache openssh tomcat
153
154 These are the packages that I would merge, in order:
155
156 Calculating dependencies ...done!
157 [ebuild R ] app-misc/mc-4.6.0-r14 -7zip -X -debug +gpm +ncurses
158 -nls -samba -slang +unicode 0 kB
159 [ebuild R ] net-www/apache-2.0.54-r11 +apache2 -debug +doc +ldap
160 -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker
161 -no-suexec +ssl -static-modules -threads 0 kB
162 [ebuild R ] net-misc/openssh-3.9_p1-r2 +X509 -chroot -debug -ipv6
163 -kerberos +ldap* -nocxx +pam* (-selinux) -sftplogging -skey -smartcard
164 -static -tcpd 43 kB
165 [ebuild R ] www-servers/tomcat-5.0.27-r6 +doc +jikes 0 kB
166
167 Total size of downloads: 43 kB
168
169 Total USE flags: 7zip X X509 apache2 chroot debug doc gpm ipv6 jikes
170 kerberos ldap mpm-leader mpm-peruser mpm-prefork mpm-threadpool
171 mpm-worker ncurses nls no-suexec nocxx pam samba selinux sftplogging
172 skey slang smartcard ssl static static-modules tcpd threads unicode
173 gak ~ #
174
175 also - separation by local and global USE flags could be helpful, as
176 well as different highlighting (and + or -) of flags specified in
177 make.conf and portage/package.use
178
179 Output above comes from modified portage, as i have good programming
180 skills but low knowlede of python,
181 i wriote initial implementation
182 ----------------- diff from emerge of Portage 2.0.51.19
183 1400a1401
184 > total_iuse=[]
185 1506a1508
186 > total_iuse=total_iuse+(iuse_split)
187 1639a1642
188 >
189 1651a1655,1659
190 > totaluseflags=""
191 > total_iuse.sort()
192 > for f in portage_util.unique_array(total_iuse):
193 > totaluseflags=totaluseflags+(" "+f)
194 > print ("\nTotal USE flags:"+teal(totaluseflags))
195 ----------------- end of diff
196 I could continiue to develop this feature, and probably other features
197 as well, but for summer i'll be totally offline,
198 maybe in autumn i could help you more :)
199
200 * Introducing of flags --buildonly and --merge
201
202 Could be helpful for system administrators to have --buildonly,
203 as this could be run in automated scripts, sending a mail when
204 everything is compiled.
205 Later when adminstrator comes to see the system, he can check the
206 build errors/messages,
207 and with total overview of everything (as it takes much shorter time
208 than build) does --merge
209
210 See scenario:
211
212 #emerge --buildonly --deep world
213
214 [..compiling...]
215
216 Done.
217
218 #emerge --merge
219
220 I know, particulary this could be achieved by using ebuild, but that
221 don't work on global targets
222 as well as on dependencies. And ease of use would make this very popular.
223 Multiple instances of --merge, as described by --resume (see above)
224 would also be very appreciated.
225
226 --
227 Atis Lezdins,
228 IT Responsible of LBG Riga,
229 atis@×××××××.org
230 ICQ: 142239285
231 Phone: +371 6895370 [Tele2]
232
233 --
234 gentoo-portage-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-portage-dev] Feature requests, and few bugreports Jason Stubbs <jstubbs@g.o>