Gentoo Archives: gentoo-dev

From: Dhruba Bandopadhyay <dhruba@××××××××××××.uk>
To: gentoo-dev@g.o
Subject: [gentoo-dev] Vanilla behaviour in Gentoo Linux (long email)
Date: Mon, 03 Nov 2003 01:28:17
Message-Id: 3FA5AF6F.5030501@codewordt.co.uk
1 Hello
2
3 I'm writing about the enforcement of default/expected 'vanilla' behaviour of
4 various attributes of the operating system. These issues have been an
5 annoyance for some time and are only being ventilated now that I have some
6 time so please forgive me if I seem a little edgy. My intention is to make
7 suggestions and reach discussed optimal solutions. When reading bear in
8 mind the philosophy of putting control into the user's hand and providing
9 choice to the user.
10
11 --------------------------------
12 Scenario 1: slocate and updatedb
13 --------------------------------
14 Out of the blue my hard drive starts roaring flat out. This happens
15 generally after the first reboot after installation or every day on a
16 working system. Given that this happens without any prior warning or any
17 explicit consent or instruction during any part of install or configuration
18 it can become extremely unpleasant especially if doing something rather
19 important and resource intensive. The culprit here is slocate and the
20 makewhatis and updatedb cron scripts added to the daily cron duties! One of
21 the reasons I use Linux is because it only does things when I tell it to.
22 Problems like this one sadly resemble Windows which when idle begins to
23 grind away at hidden activities. updatedb also requires root access to kill
24 which can be an added hassle. My requests:
25
26 1) Remove slocate from base system
27 2) Remove makewhatis from daily cron duties
28 3) Remove updatedb from daily cron duties
29
30 I'm probably not alone in the fact that I never use slocate and given fixed
31 location of package files and other files in gentoo finding things is easier
32 than other distros especially given qpkg -l and etcat -f.
33
34 -------------------------------------
35 Scenario 2: baselayout and /etc/issue
36 -------------------------------------
37 With every emerge or update of baselayout or invocation of emerge -e a file
38 called /etc/issue is placed on my system. It serves no purpose other than
39 to tell me what I already know such as what kernel, architecture and machine
40 name I am using. And on server machines with no monitor it does not even do
41 that much. Every time I have to delete this file and it gets added back in
42 later. Is this an example of developer preference deviating from vanilla
43 behaviour? There have been bugs filed about the removal of graphical
44 /etc/issue which was later removed. Why not give the user the choice and
45 put control in his or her hands? Customisation is a preference. My requests:
46
47 1) Eliminate /etc/issue and rename it if it must be added to the system
48
49 ---------------------------------------------------
50 Scenario 3: vanilla kernels and development sources
51 ---------------------------------------------------
52 Usually, I get the latest bk snapshot from kernel.org, unpack and compile
53 manually. However, recently, on a new install I emerged development-sources
54 to fulfill virtual/linux-sources and was later puzzled to find its contents
55 in /usr/src/linux/linux-2.6.x-test-y-patchset-a.b and many other involuntary
56 steps being taken by the ebuild. This confounded many users and bugs were
57 filed about install locations, alsa actions and also about adding gentoo
58 patchsets to dev-sources. On forums, I heard something about a 'vanilla'
59 use flag to prevent the gentoo patchset although now I only see it in IUSE
60 and not in emerge -vp oddly. Why can't it be as simple as download > unpack
61 > merge rather than download > unpack > play with permissions > run
62 genpatches to patch sources > merge into different location? What is the
63 2.6-test gentoo patchset and why is it necessary and applied by default on
64 an unfinished release? My requests:
65
66 1) Provide the kernel in vanilla fashion without customisations
67 2) Reconsider using the alsa and vanilla use flags here as they violates the
68 rule of using use flags only for compile time switches.
69
70 -------------------------------------
71 scenario 4: kernel sources on portage
72 -------------------------------------
73 $ emerg -qs sources
74 <snip>
75 $ emerge -qs sources | grep -c '^*'
76 38
77
78 Currently, there are 38 kernel sources on portage. A few weeks back there
79 were 36. Then gentoo-test-sources was added as a branch to gentoo-sources
80 and also recently gentoo-dev-sources has been added as a branch to
81 development-sources. Now, does this only strike me as being a very large
82 number resulting from liberal means? Are there any rules that govern
83 creating new kernel sources and justifying their need? Providing choice is
84 good but having this many kernel sources not only confuses the user and
85 makes him indecisive but it also makes dev maintenance and administration
86 more difficult. Also, problems such as the description for
87 gentoo-dev-sources being exactly the same as development-sources will only
88 serve to increase confusion. Is it necessary to provide gentoo patchsets
89 for every possible kernel variant? Even if you go by the rule that stable
90 kernels will have patchsets the current dev-sources violates it. My requests:
91
92 1) Create gentoo patchsets only for finished releases and separate into
93 different sources
94 2) Provide vanilla kernels as unaltered, unpatched and uncustomised sources
95 just as they would be if done manually
96 3) Agree on prerequisites that must be fulfilled prior to adding new
97 kernels-sources or in fact any new packages onto portage.
98
99 -------------------------
100 Scenario 5: Ebuild speech
101 -------------------------
102 On completion of merging the portage ebuild sleeps for ~15 seconds, the
103 baselayout ebuild for ~10 seconds and even dev-sources sleeps for ~5 seconds
104 whilst all these packages display messages. In my opinion, this is
105 downright pointless. On a source distribution like this one especially
106 where claims about speed are made not only of portage but also the packages
107 themselves what is the point in gaining ~10 seconds load time when you lose
108 ~15 seconds compile time? What is the net gain? To make matters worse,
109 ebuilds beep out loud through pc speaker on important sys-apps merges whilst
110 sleeping in between which can make one very uncomfortable in office or quiet
111 environments. I understand it is important to get messages to the user but
112 this is not the way. There should be other means whereby all messages are
113 accumulated and logged and displayed at the end of all merges (bugs are
114 open). I currently this as follows.
115
116 $ emerge -Du world | tee updates.log
117 $ grep '01m' updates.log ( <-- this gives all messages in log file without
118 use of sleep)
119
120 My requests:
121
122 1) Eliminate all use of sleep in ebuilds
123 2) Eliminate all use of beeps via echo -ne "\a"
124 3) Write eclasses or modifications to portage which control logging and
125 display - I have even written a bash wrapper (unfinished) around emerge
126 which does log all output and displays all messages at end of every emerge
127 separated according to package names.
128 4) If there absolutely has to be sound it must be done through
129 FEATURES="sound". FEATURES="notify" can be used for message waits if
130 absolutely necessary. It's a shame that finally EULA's have made ebuilds
131 interactive and sound and message waits are further increasing merge time
132
133 Overall, I would say vanilla behaviour should always be exhibited by default
134 in all aspects of the operating system in favour of user preference or dev
135 preference. Focus should be on instructing the user on how to make a change
136 rather than making the change and expecting the user to reverse it.
137 Exceptions are where the change is vanilla in itself like providing stock
138 kernel configs to newbie users as genkernel does.
139
140 Please discuss as you wish. I would be grateful if these issues were paid
141 some attention and I look forward to receiving feedback whether you share
142 the same experience or have opposing views. If any of them should be filed
143 as bugs
144
145 with sincere regards
146 Dhruba Bandopadhyay
147
148 --
149 gentoo-dev@g.o mailing list

Replies