From Fedora Project Wiki

< FWN‎ | Beats

Revision as of 18:41, 14 September 2008 by Ush (talk | contribs) (devel beat #143)

Developments

In this section the people, personalities and debates on the @fedora-devel mailing list are summarized.

Contributing Writer: Oisin Feeley

External Repositories and the New Keys

As a result of the re-signing all the packages with a new key as a security precaution[1] some problems with packages from third-party repositories were reported[2] by Callum Lerwick. The specific example was an update of the non-Free "xine-lib-extras-nonfree". Seth Vidal suggested[3] a simple fix of yum --skip-broken update.

[1] https://fedoraproject.org/wiki/FWN/Issue142#Getting.Back.on.our.Feet

[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01070.html

[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01072.html

Jef Spaleta experienced[4] no such error and speculated that it was due to some mirrors being temporarily out of sync, which Matthew Woehlke agreed[5] was likely. Kevin Kofler disagreed[6] and diagnosed the problem as a "chicken and egg" one in which it was impossible to get the new repository key which in turn would enable the new, matching xine-lib to be obtained. He suggested that while it was possible to use yum --skip-broken or yum --exclude for a selective update it would be better for new users to "[...] use the PackageKit GUI, click on "Review updates" and uncheck the xine-lib-extras-nonfree update, then apply."

[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01073.html

[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01090.html

[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01124.html

Thorsten Leemhuis thought[7] that this was a general problem for the livna repository in which they can only "push [too] early or [too] late". He had outlined the problem previously (see FWN#138 "Solving the Unsynchronized Release of Package Dependencies"[8]) but his suggested solution of adding a brief time period during which yum keeps checking for missing dependencies had not obtained traction. Thorsten explained again: "[...] the problem happens each time when Livna/RPM Fusion packages with deps on a specific Fedora packages get pushed in sync; that creates a lot of trouble * I'd say once for 24 hours each two weeks." He conceded[9] that yum --skip-broken was "[...] best answer, but that's not enabled by default in Fedora. Livna/RPM Fusion could fix that via its releasepackages, but that's not nice and I want to avoid going that route."

On the foot of a suggestion made[10] by Harald Hoyer to add "More Information button in PackageKit dialogs, which explains the situation and that this might only just take some days to resolve[.]" Richard Hughes asked[11] for specific suggestions to improve the current dialogs. He added that "[m]y personal view is that by showing an error dialog, we've lost, and should avoid doing it at all costs." Thorsten responded[12] to Harald that he believed that it was best to "[...] enable skip-broken by default, but show the error to the user if security updates are involved *or* if the problem doesn't vanish within 72 hours after it had been hit on the client for the first time" and that for the latter cases PackageKit could show some more information.

[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01097.html

[8] http://fedoraproject.org/wiki/FWN/Issue138#Solving.the.Unsynchronized.Release.of.Package.Dependencies

[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01080.html

[10] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01143.html

[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01149.html

[12] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01144.html

Non-X System Consoles to be Removed

ArthurPemberton was concerned[1] about the best way to help debug the many [PulseAudio] issues which he was experiencing on Fedora 9. He asked "[w]hat information should I gather, how, and where should I present it?" This innocent enquiry spawned several sub-threads which avoided answering his question.

[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00982.html

In the first Bill Crawford recommended[2] disabling PulseAudio and although Ignacio Vazquez-Abrams listed features unique to it Karel Zak was[3] skeptical that "ordinary" users would need them. Toshio Kuratomi responded[4] that the network transport features were very useful for thinclients.

[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01053.html

[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01107.html

[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01110.html

Janina Sajka chimed in[5] to agree with Arthur that while the idea of PulseAudio was appealing and "[...] holds great promise for accessibility [...]" there appeared to be practical problems to sort out. Janina referenced SpeakupModified.org, which provides repositories for a Fedora-derived distribution tailored towards users that rely on audio cues instead of visual ones, and noted that it was currently necessary to disable PulseAudio because "[...] one gets no audio until after a user logs in on the GUI. So, how are those who need screen reader support supposed to use the a11y features of GDM? As it stands, there seems no way to get console audio without that GUI login. Also a nonstarter in the screen reader user community." She asked if anyone had a "working init script for pulseaudio as a system daemon?" None of the many message that followed appeared to have an answer to this question. In part this appeared[6] to be because < Orca can handle the audio rendering of the GDM login screen. Colin provided[7] references that should make it possible to configure GDM to work this way out of the box using GConf settings. It seemed[8] that this was a possible solution.

[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01179.html

[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01189.html

[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01213.html

[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01240.html

At this point Colin Walters set off a firestorm of complaints and queries when he announced[9], as an aside, that "[w]e're going to be removing the legacy non-X system consoles by default in the long run."

[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01180.html

Jerry james listed[10] three scenarios in which he felt it would be very useful to have text consoles. The advantages included faster startup than with Xorg and independence from a damaged X session. Colin rebutted[11] most of these with the argument that "login is slow" was a bug which should be fixed and that the other scenarios also were constructed on the basis of bugs which should be fixed (in the applications themselves and in Xorg's ability to handle crashes.)

[10] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01186.html

[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01190.html

Matthew Woehlke also wondered what would happen if Xorg itself was broken and Colin asked[12] rhetorically "What happens when the linux kernel is broken? What happens when /bin/sh is broken? What happens when NetworkManager is broken?" He added that a compressed recovery image should be included by default in a Fedora install. Matthew's response suggested[13] that although it would be possible to recover it would mean having to find a rescue disk and to reboot. He expressed a preference for "[having] X fail to start and dump me at a normal console from which I can fix the problem *without rebooting*, much less needing to dig up a rescue disk :P" and compared the alternative to the fragility of Windows. The issue then became a little clouded when Colin stated "I believe we already do that today, and am not advocating removing that functionality if possible. Anyways, I've said what I need to, so hopefully people won't be surprised later." Further requests[14][15] for clarification on the previous statement produced no simple response, although later Colin did appear to confirm[16] the impression that he saw this as an essential change for the evolution of Fedora as a Desktop.

[12] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01194.html

[13] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01197.html

[14] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01199.html

[15] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01203.html

[16] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01209.html

make force-tag Gone

The removal of make force-tag was objected to[1] by Bastien Nocerra as it forced bumping the Release of packages even for trivial changes. A massive thread resulted with a good deal of agreement expressed with Bastien.

[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00675.html

Mike McGrath made[2] the case that if maintainers tested packages before committing them and adduced the necessity of the current workflow in producing an audit trail for licensing as a concrete reason. Jon Ciesla had earlier mentioned using TAG_OPTS=-F make tag as a work around and now asked[3] if "the Makefile can be modified to prevent it, so that others who didn't know [that this invalidates the audit trail] stop doing it?" Doug Ledford responded[4] that this would be unenforceable as it would still allow the CVS command to be run by hand and "[i]f our recent 'incident' showed us anything, it's that things like this need to be enforced on the CVS server if they are going to be enforced at all."

[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00725.html

[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00736.html

[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00904.html

Jesse Keating argued[5] that the issue was more GPL compliance than an audit trail and outlined why he would personally prefer to move away from building from CVS tags. Jef Spaleta suggested[6] that Mike McGrath had misspoken: "You are of course free to make 300 small separate specfile changes between each build attempt. There is a desire to move to a point where we can be reasonably sure that a cvs tag corresponds to a specific build. Since we have no way of making only tags corresponding to successfully built packages immutable, all tags must be immutable" and like Mike asked for a way to mark as immutable a subset of CVS tags corresponding to a successful Koji build.

[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00740.html

[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00786.html

The thread is recommended reading for package maintainers and the brief summary above misses many important points.

Graphics Modesetting Changes

A post by Dave Airlie reminded[1] the list that [KernelModesetting][2] was going to be one of the notable features of Fedora 10 for recent Radeon "r300 to r500 (and possibly r600/r700)" and Intel "from i830 to GM45 (though it may end up i915 and up only)" GPUs . Adam Jackson responded[3] to Bill Crawford that r200 class hardware would probably not get modesetting in Fedora 10. Among other things this will have cosmetic advantages such as removing flickers from the startup sequence, reducing Xorg startup times and practical advantages such as oops/panic messages while Xorg is running and improved suspend/resume support. Dave cautioned that only a subset of the GPUs were working for the beta release "[...] r300 to r500 class of hardware, while we await upstream changes to the Intel driver" and noted that to disable modesetting one should append nomodeset to the kernel command line via GRUB.

[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00991.html

[2] https://fedoraproject.org/wiki/Features/KernelModesetting

[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01019.html

In response to Hans de Goede Dave welcomed[4] bug reports of the "output doesn't light up" type and suggested using an ssh session to reboot to runlevel 3 with nomodeset and then rmmod radeon drm; modprobe drm debug=1; modprobe radeon modeset=1 and attach dmesg and an Xorg log to the bugzilla entry. Following this recipe produced[5] no luck for "Joshua C." as everything froze once he followed the last step.

[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01004.html

[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01018.html

Skepticism about inserting the Intel driver code after the beta testing period was expressed[6] by Jeremy Katz on the foot of such late changes lacking both the visibility necessary for testing and the time to fix any bugs revealed. Jeremy was mildly scathing: "Yeah, I've seen intel's 'mature' code before. Excuse me if this is anything but reassuring." Jesse Keating and Christopher Snook seemed[7] to accept Jeremy's point and leaned towards the idea of implementing the KernelModesetting contingency plan[8] of including the modesetting code disabled by default, but allowing users to enable it on the kernel command line.

[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01036.html

[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01055.html

[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01055.html

Adam Jackson wondered whether Jeremy was advocating removing all the new code or testing it all and Jeremy suggested[9] the third option of only enabling the radeon code for now and waiting for Fedora 11 to enable the Intel code.

[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01068.html

When "Joshua C." asked[10] for a list of working radeon cards and suggested applying the contingency plan because "f10 is just a month away" he was corrected [11] by Paul Frields that it was approximately two months away with a development freeze in six weeks. Dave asked[12] Joshua to "[...] stop scare mongering[,] it's a beta release, if it still doesn't work at devel freeze I'll blacklist all the broken machines" which reaction surprised[13] Joshua a little.

[10] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01077.html

[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01115.html

[12] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01117.html

[13] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01147.html

Root Login Disallowed on GDM

Surprise was expressed[1] by "Dr. Diesel" when he attempted to log in as root via GDM[2] to a rawhide install. "Dr. Diesel" reported that it was possible to log in via the console in runlevel 3. He asked if he should file a bugzilla entry.

[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01205.html

[2] http://www.gnome.org/projects/gdm/

Darrell Pfeifer quoted[3] the changelog as evidence that this restriction was intentional to which "Dr. Diesel" responded that it would be a good idea to change the prompt to "[...] something like 'Root login disabled'[.]". Matthew Woehlke was disturbed and wondered "[...] what exactly are we supposed to do when the user login gets hosed? Reach for a rescue disk? (Seriously, what's with the sudden trend to make fixing problems harder by making recovery modes inaccessible in an apparent bid to hide the "confusing/potentially dangerous" bits of the system from the user?)" The latter part of this apparently being a reference to another recent thread (see this FWN#143 "Non-X System Consoles to be Removed".)

[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01206.html

Benjamin Lewis presented[4] a straightforward, obvious way of fixing such problems: "CTRL+ALT+F1, login as root, fix it, CTRL+ALT+F7 to get back to GDM" and Martin Sourada added "[or] boot to runlevel 3, login as root there and startx..."

[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01225.html

The discussion was moved on[5] by Nigel Jones with a suggestion that the default setup should configure sudo to allow the first user configured during firstboot to have "full access w/ password." Steven Moix disagreed[6] as this all seemed like the "Ubuntu 'protect us from ourselves' way" which removed the conscious choice to log in as root. Martin Sourada was also filled[7] with dismay at the idea, but his objection was that PolicyKit was a superior solution to sudo. This preference was confronted[8] by Thorsten Leemhuis with a request to "[...] please tell me how for example read /var/log/messages or other log files from /var/log/ using PolicyKit from a -gnome,kde-terminal with an easy to remember and fast to type command (like 'sudo') [.]" Thorsten also suggested that firstboot could present a checkbox labeled "User is the sysadmin for this system" that when checked would configure sudo and/or PolicyKit or any other desiderata for allowing root privileges for the user. Matthew Miller largely agreed with this and suggested that "uncommenting the wheel group in /etc/sudoers, and having said checkbox add the user to the wheel group" would be the way to do it, but Seth Vidal raised[9] the problem of "[...] the wheel group, on systems which are using some other form of nss than local files, can be mucked with too easily."

[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01222.html

[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01224.html

[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01228.html

[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01233.html

[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01238.html

All this was strangely reminiscent of previous discussions, e.g. FWN#103 "Root Login And Display Managers In Rawhide"[10] except that PolicyKit now offers some possible new directions as Martin Sourada outlined[11:] "What I am mostly against is having full access to sudo without password by default by any user. I believe PolicyKit is designed to solve this issue by granting rights (by admin) to user to do this and that and not do other admin tasks [...] the implementation should IMHO be like cat/nano/vi/whatever detects that you are trying to access some file you don't have enough rights to access, then it asks PolicyKit whether to allow it or not and PolicyKit handles the rest (i.e. checks whether your admin already allowed that access for you, if not asks for root password for allowing the access and if succeeded sends back that its OK for you to access the file). Ideally it wouldn't require any additional command (like sudo) [...] When I want to view logs (though I don't very much understand why I cannot read them as normal user) I just log in as root (in console/gnome-terminal only!). Yeah it's not pleasant to write root password every time I want to do some admin task - and that's probably one of the reasons why PolicyKit has been developed - but I think allowing full access to sudo without password for normal user account is a big security hole."

[10] http://fedoraproject.org/wiki/FWN/Issue103#Root.Login.And.Display.Managers.In.Rawhide

[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01237.html

Missing Screen Locking Spurs Inquiry Into User-state Maintenance

When John Ellson enquired[1] why "[...] my userid, and only my userid, has no Lock Screen menu item or applet?" a brief thread revealed the many places in which user state is kept. The answer, for the impatient, turned out[2] to be that John had experimented with Pessulus[3], which allows administrators to enforce mandatory GConf settings on users.

[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01027.html

[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01108.html

[3] http://live.gnome.org/Pessulus

John's first pass at the problem was to wipe out some dot files rm -rf .gnome .gnome2 .gconf .gconfd .metacity and this failed to restore the default. Chris Snook suggested[4] that he consider /tmp</cod> as another location where "per-user state is kept" but John had investigated[5] both /tmp and /var/tmp.

[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01031.html

[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01034.html

Jesse Keating wondered[6] if "[...] it's not a ConsoleKit interaction making the session think your user isn't at the console?" John replied that he had gone to the extraordinary lengths of "moving aside my home directory, deleting my userid, removing everything in /tmp and /var/tmp, rebooting creating a new userid with the same name (but different user and group numbers), and it still has no Lock Screen!!!" Jef Spaleta made[7] the disclaimer that he did not "[...] understand PolicyKit/ConsoleKit well enough to help you track it down in the filesystem with 100% confidence[...]" but suggested searching in /var/lib/PolicyKit and /var/lib/PolicyKit-public for per-user authorization rules. This was reported[8] as fruitless by John, as was running polkit-auth. John wondered where the output of polkit-auth came from as "Removing /var/lib/PolicyKit/user-ellson.auths doesn't change the output."

[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01040.html

[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01050.html

[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01059.html

MatthiasClasen cut straight to the chase and suggested[9] a good, old-fashioned backtrace "Why don't we stop all this blind guessing, and attach a debugger to the panel instead ? It would be so much easier..." Although John wondered[10] why gnome-panel sprang to Matthias' mind as a culprit a later suggestion[11] to "[...] break in panel_lock_screen_action_available [...]" gave him a clue as to the problem.

[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01064.html

[10] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01074.html

[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01076.html

Pessulus has been around since Fedora 7 at least and the process above was a bit of a wild goose chase, but what is interesting is how difficult it is to solve such a problem due to the many places in which such information is stored.