From Fedora Project Wiki

< FWN‎ | Beats

(clarify MinGW repository)
(devel beat #143)
Line 7: Line 7:
Contributing Writer: [[OisinFeeley|Oisin Feeley]]
Contributing Writer: [[OisinFeeley|Oisin Feeley]]


=== Getting Back on our Feet ===
=== External Repositories and the New Keys ===


On 05-09-2008 [[JesseKeating|Jesse Keating]] posted[1] the good news that "[...] we have done a successful compose of all the existing[,] and as of yesterday[,] pending updates for Fedora 8 and Fedora 9, all signed with our new keys." He cautioned that the size of this backlog of updates meant that it would take some time to get them out to mirrors. The updates will be in new directory locations and there will be an "[...] updated fedora-release package in the old updates location that will get you the new keys and the new repo locations."
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 [[CallumLerwick|Callum Lerwick]]. The specific example was an update of the non-Free "xine-lib-extras-nonfree". [[SethVidal|Seth Vidal]] suggested[3] a simple fix of <code> yum --skip-broken update</code>.


[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00329.html
[1] https://fedoraproject.org/wiki/FWN/Issue142#Getting.Back.on.our.Feet


Jesse was keen to point out that there would be a FAQ to which we can all contribute and that its location will be announced shortly.
[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01070.html


[[SeanDarcy|Sean Darcy]], after thanking Jesse for all the work he had put in, asked[2] how he could get the new key for updates right now without having to wait for the fedora-release package to be placed in the old repository location. A variety of answers followed and the canonical one appeared[3] to be that given by [[ToddZullinger|Todd Zullinger]] in which he suggested obtaining ''fedora-release'' from CVS and then checking that the fingerprints matched those published[4] on the FedoraProject website. Some minor confusion followed[5] as the example presented on the web page uses the old key signed by "fedora@redhat.com" but the new key is signed by "fedora@fedoraproject.org". Similarly the use of "PUBKEY" as a placeholder variable on the web page caused some difficulties which Todd cleared[6] up again.
[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01072.html


[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00392.html
[[JeffSpaleta|Jef Spaleta]] experienced[4] no such error and speculated that it was due to some mirrors being temporarily out of sync, which [[MatthewWoehlke|Matthew Woehlke]] agreed[5] was likely. [[KevinKofler|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 <code>yum --skip-broken</code> or <code>yum --exclude</code> 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."


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


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


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


[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00417.html
[[ThorstenLeemhuis|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 <code>yum --skip-broken</code> 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."


[[JeffreyOllie|Jeffrey Ollie]] made[7] the good point that using a GPG WoT would make it easier for Fedorans to have confidence that they had obtained the correct key and hoped that those at the Brno FUDCon could "arrange an impromptu keysigning[.]"
On the foot of a suggestion made[10] by [[HaraldHoyer|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[.]" [[RichardHughes|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/msg00411.html
[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01097.html


Early in the week on 02-09-2008 [[StefanGrosse|Stefan Grosse]] asked[8] politely when the resigned Fedora 9 updates would be available. [[BrunoWolff|Bruno Wolff III]] suggested[9] "If you are worried about something in particular, you can look at bodhi to see pending updates and updates-testing and get rpms from koji if there is something you want right now." A brief discussion between [[TillMaas|Till Maas]], [[JesseKeating|Jesse Keating]] and [[BrunoWolff|Bruno Wolff]] explored whether it was possible to download from Koji using SSL if one did not have a FAS account. Bruno testified[10] "I needed certs (two from fedora and mine) to get the bodhi client to work. I used this to grab a list of stable updates last week [...] I didn't bother with ssl when grabbing them from koji." Till was[11] using ''wget'' to grab the packages from Koji and found it necessary to use certificates. Jesse showed[12] that it was possible to do a <code>koji download-build</code> to get packages anonymously.
[8] http://fedoraproject.org/wiki/FWN/Issue138#Solving.the.Unsynchronized.Release.of.Package.Dependencies


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


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


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


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


[12] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00096.html
=== Non-X System Consoles to be Removed ===


In a separate thread [[JesseKeating|Jesse Keating]] announced[13] that the revised Fedora 10 freeze date would be 09-09-2008 and as part of a friendly reminder that it was coming up quickly observed "I realize that rawhide has been less than great lately, and we're working quite hard to fix the issues. The installer images from the 30th may be of use in getting rawhide installed and then updating to what is in the public repos. See http://kojipkgs.fedoraproject.org/mash/rawhide20080830/development/ (please only grab the installer images from there, not the entire tree)." [[MattMiller|Matt Miller]] reported[14] a successful net install from the Fedora 10 alpha images using the rawhide repository.
[[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.


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


[14] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00107.html
In the first [[BillCrawford|Bill Crawford]] recommended[2] disabling PulseAudio and although [[IgnacioVazquezAbrams|Ignacio Vazquez-Abrams]] listed features unique to it [[KarelZak|Karel Zak]] was[3] skeptical that "ordinary" users would need them. [[ToshioKuratomi|Toshio Kuratomi]] responded[4] that the network transport features were very useful for thinclients.


=== Removing Packages with Long-standing FTBFS Failures ===
[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01053.html


[[User:Mdomsch|Matt Domsch]] posted[1] a list of ninety packages which "Fail To Build From Source" (FTBFS)[2]. Matt noted that some of these packages have failed since 02-2008 and that "[...] packages with unresolved FTBFS bugs immediately following the Alpha release will be removed from the distribution" in line with a proposal passed by FESCo. He asked that concerned parties help to resolve the problems and noted that several of them had easy fixes.
[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01107.html


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


[2] http://fedoraproject.org/wiki/FTBFS
[[JaninaSajka|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.


Response was fairly quick and positive from both those listed as maintainers and concerned parties that needed the packages in Fedora 10.
[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01179.html


One interesting ramification of the removal of such packages was mentioned[3] by [[DanielBerrange|Daniel Berrange]] who asserted "[t]his list is far from complete - if you want to remove these 90, the dependency chain ripple, will entail the removal of tonnes of other packages which depend on these." He asked Matt to generate a report which "[...] shows the ripple effect for each proposed package. If something is just a leaf-node, it isn't very important to worry about, but if something triggers removal of 50 dependant packages that's pretty damn important to fix. This info would be useful in prioritizing which builds need fixing most urgently." [[SethVidal]] modified[4] a script written by [[JamesAntill|James Antill]] so that it did exactly that and Matt posted[5] a link to the script and an example run. [[TillMaas|Till Maas]] suggested[6] that it would be useful make sure that a src.rpm responsible for several dependent packages is only counted once.
[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01189.html


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


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


[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00361.html
At this point [[ColinWalters|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."


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


The practical consequence of neglecting such dependencies was highlighted[7] by [[MatthiasClasen|Matthias Clasen]] when he commented that "djvulibre-devel is a BuildRequires for evince. If you remove djvulibre, evince will become unbuildable." [[JesseKeating|Jesse Keating]] responded that Daniel, or his team should fix the package as "[i]f we have to do a chained rebuild for various reasons, evince would fail due to this package not building first."
[[JerryJames|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.)


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


The inclusion of ''monodevelop'' in the list had the side effect of spurring the ''Mono'' maintainers including [[MichelSalim|Michel Salim]], [[DavidNielsen|David Nielsen]] and [[PaulJohnson|Paul Johnson]] to decide[8] to attempt a co-ordinated push of "Mono-2.0".
[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01190.html


[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00385.html
[[MatthewWoehlke|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.


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


The availability of a ''MinGW'' development repository was announced[1] by [[RichardJones|Richard Jones]]. "MinGW" provides a GNU toolchain on Windows allowing the development of Free native Windows binaries. Richard credited [[DanielBerrange|Daniel Berrange]] with a good deal of the work.
[13] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01197.html


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


In response to [[FarkasLevente|Farkas Levente's]] question, as to when it would be available in Fedora, Daniel replied[2] that due to the need for "infrastructure" to create a separate repository and dedicated build root it was impossible to predict. [[User:Jspaleta|Jef Spaleta]] seemed[3] to be trying to move the process forward and published a draft which explained that "[t]he initial impetus for this effort has been ovirt developers who desire to more easily use Fedora installations as development environments for the work they are doing to build open source cross-platform virtualization tools." The possible impact on FedoraProject resources appears to have  led to the compromise of creating a separate repository which could be strictly confined in size.
[15] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01203.html


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


[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00364.html
=== make force-tag Gone ===


[[RichardJones|Richard Jones]] encouraged[4] Farkas to try out MinGW without waiting for official inclusion in Fedora "[...] if you want to download and play with it, and send patches :-)  It's currently buildable on Rawhide, and possibly on earlier versions of Fedora too." Farkas then revealed that he currently used an older MinGW on RHEL5 and Richard responded[5] that although there were no srpms at this moment it should be possible to use the specfiles and patches (both in the mercurial repository[6]) to rebuild everything.
The removal of <code>make force-tag</code> was objected to[1] by [[BastienNocerra|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.


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


[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00330.html
[[MikeMcGrath|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. [[JonCiesla|Jon Ciesla]] had earlier mentioned using <code>TAG_OPTS=-F make tag</code> 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?" [[DougLedford|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."


[6] http://hg.et.redhat.com/misc/fedora-mingw--devel/
[2] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00725.html


=== Dependency Loops Considered Harmful? ===
[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00736.html


[[MiroslavLichvar|Miroslav Lichvar] raised[1] the issue of a considerable number of packages (354 by his count) which are components of dependency loops in the rawhide repository. Miroslav provided[2] a list. In such loops two or more RPM packages require each other as dependencies in their spec files with the result that it can become confusing for users trying to remove selected packages manually with ''yum'' or ''rpm''. Miroslav wondered whether such loops were acceptable and specifically "why games data depend on binaries?"
[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00904.html


[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00149.html
[[JesseKeating|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.  [[JefSpaleta|Jef Spaleta]] suggested[6] that [[MikeMcGrath|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.


[2] http://fedorapeople.org/~mlichvar/tmp/rawhide.i386.loops
[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00740.html


A substantial conversation resulted which exposed the different needs of packagers and users, some possible limitations due to the design of ''rpm'' and varied philosophies concerning the correct way to specify dependencies. One of the central examples chosen were the game packages which tend to be split into a "binary" or "engine" package and a companion "data" package for graphics, sound and levels. The central concerns expressed were that occasionally an install followed by a remove will leave "orphaned" packages behind. Also in contention was the specific case of developers experiencing the problem of  maintaining a stable environment when there is no easy way of tracking changes to system libraries. The package manager ''aptitude'' was mentioned favorably due to its ability to distinguish between packages installed automatically to satisfy dependencies and those which are installed manually.
[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00786.html


On the one hand [[ChrisSnook|Chris Snook]] and [[MichaelSchwendt|Michael Schwendt]] advocated[3] that instead of using <code>Requires: foo >= X</code> in their spec files packagers should choose <code>Conflicts: foo < X </code>. The possible downside to this would be installing game data yet having no game engine/binary installed. This was seen as a non-serious problem.
The thread is recommended reading for package maintainers and the brief
summary above misses many important points.


[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00211.html
=== Graphics Modesetting Changes ===


On the other hand [[JonCiesla|Jon Ciesla]] argued[4] that the advantage of having games data depend on their binaries from a packagers perspective is that it ensures that attempting to upgrade the binary <code>Version</code> without also upgrading the data will fail. The case of allowing minor fixes without forcing users to download a big bundle of data can be handled by bumping the <code>Release</code> of the package. More concisely he answered[5] that the reason for the dependencies was that "[...] so when you remove the game, you remove the data." Michael responded[6] that Jon's example could be handled by using a <code>Requires: foo-data = X</code> without exposing the increased risk of needing to "bump'n'rebuld" the data package each time the engine package incremented its <code>Version</code> while still working with the same data. He characterized such dependencies as "superfluous [...] try[ing] to enhance 'yum remove'."
A post by [[DaveAirlie|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 . [[AdamJackson|Adam Jackson]] responded[3] to [[BillCrawford|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 <code>nomodeset</code> to the kernel command line via <code>GRUB</code>.


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


[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00151.html
[2] https://fedoraproject.org/wiki/Features/KernelModesetting


[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00161.html
[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01019.html
 
In response to [[HansdeGoede|Hans de Goede]] Dave welcomed[4] bug reports of the "output doesn't light up" type and suggested using an <code>ssh</code> session to reboot to runlevel 3 with nomodeset and then <code>rmmod radeon drm; modprobe drm debug=1; modprobe radeon modeset=1</code> and attach <code>dmesg</code> 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.


This was not accepted as accurate by Jon and he described the current situation as "require on name and version" for game data which allows <code>Release</code> to be changed without affecting the match on <code>Name</code> and <code>Version</code> "If new data is required, it will change the version. If not, we only increment the binary rpm's release, so the data rpm matches on version and needs no rebuild." Michael responded[7] by laying out two cases, the first of which illustrated the problem of having to update the data package solely to keep in step with updates to the version so that <code>yum remove</code> would function properly. His alternate case used non-versioned dependencies in the data package and strict dependencies in the engine package. [[HansdeGoede|Hans de Goede]] seemed a bit irritated and asked Michael to "Please take an actual look at game spec files before making up all kinds of BS, it's really easy" and argued that for games there was a one-to-one mapping between the engine and the data. He added that just because other cases resulted in dependencies being sucked in by an install and left behind on a remove there was no reason to change the way things were done for games.
[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01004.html


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


[[StephenGallagher|Stephen Gallagher]] suggested that the "groups" exposed through ''yum'' should be used to bundle together the multiple packages for an application instead of using looped dependencies to which [[CallumLerwick|Callum Lerwick]] replied[8] that it was actually time to "implement the per-package 'explicitly installed/pulled in as a dep' flag that has been discussed several times in the past, and is already implemented (thus proven) in the 'aptitude' apt front end." He followed this with an amusing piece of hyperbole about "the looming dark future of closed DRM-laden content delivery services[.]"
Skepticism about inserting the Intel driver code after the beta testing period was expressed[6] by [[JeremyKatz|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." [[JesseKeating|Jesse Keating]] and [[ChristopherSnook|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.


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


[[ToshioKuratomi|Toshio Kuratomi]] raised[9] the problem faced by developers using system libraries that could come and go due to packages being updated or removed. Callum's suggestion was[10] that developers should be "RPM packag[ing] your app. Apps on your system that are not tracked by RPM are a ticking time bomb of dependency breakage whether or not the 'leaf culling' is performed manually or is assisted by a 'pulled in as dep' flag. A package or distribution update could very well break your app too." Needless to say Toshio had[11] several objections to this including the impact on developer workflow imposed by packaging up everything and the inadvisability of forcing developers to become expert administrators. He suggested that "If we implement this, it needs to be at a low enough level that anyone installing packages on the system will be storing the information. That could mean rpm (since rpm is responsible for taking the package and turning it into files on the filesystem) or that could mean yum since yum is the one that actually knows whether a package is being installed due to depsolving or user request. Doing this at a higher level means that information gets lost (for instance, if you do this in PackageKit, there won't be any information about what anaconda chose to install due to checkboxes being clicked and which things were installed due to dependencies). With that said, there needs to be a way for a developer to tell yum not to prune away leaf packages if they want." A very detailed and amusing discussion with (among others) [[MatthewWoehlke|Matthew Woehlke]] followed in which Matthew argued[12] for a script which essentially produced a parallel iuserj rpm database so that quick and dirty rpms could be produced locally for developers.
[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01055.html


[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00195.html
[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01055.html
 
[[AdamJackson|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.


[10] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00209.html
[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 [[PaulFrields|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.


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


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


[[User:jspaleta|Jef Spaleta]] wondered[13] what actual examples revealed about the amount of harddrive space being consumed by dependencies and remarked "I hope the packagekit people are watching this discussion. The game data subpackaging issue should be right up their ally in terms of end-user ease of use issues." He discounted the polluting of the packagelist but [[MichaelSchwendt]] pointed out[14] that as the packagelist increases then "[because of] the frequent updates common in Fedora land, you need to download and update more[.]"
[12] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01117.html


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


[14] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00170.html
=== Root Login Disallowed on GDM ===


The idea of keeping game data outside of any package management was mentioned[15] by [[JamesAntill|James Antill]] as an "obvious fix" and he discounted the probability of PackageKit being able to do anything about the issue if ''yum'' or ''rpm'' could not. Jef responded[16] that "[a]t some point someone is going to have to wade into rpm itself for ease of use of removals to get better" and pointed out that he was "[...] making sure that the people with the right motivation and the right skills find the right way to handle it. That's not going to happen just by telling the current maintainers who are abusing the available requires syntax that they are abusing the syntax and slapping their wrists." [[RichardHughes|Richard Hughes]] showed[17] that the PackageKit developers were indeed listening to the conversation and mentioned that he had considered "[...] running through a large "get-depends" output into the basename filter, so that the user only sees the 'applications' by default, rather than a huge list[.]"
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.


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


[16] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00185.html
[2] http://www.gnome.org/projects/gdm/


[17] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00212.html
[[DarrellPfeifer|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'[.]". [[MatthewWoehlke|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".)


There is a lot more to this conversation than reported here, but the main thrust is that the limitations of ''rpm'' have resulted in package maintainers wrangling spec files to do what they want which in some cases has undesirable effects.
[3] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01206.html


=== Fedora Security Tools Spin ===
[[BenjaminLewis|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 [[MartinSourada|Martin Sourada]] added "[or] boot to runlevel 3, login as root there and startx..."


A suggestion was made[1] by [[HuzaifaSidhpurwala|Huzaifa Sidhpurwala]] to produce a Security Tools spin similar to the "Knoppix Security Tools Distribution"[2] .
[4] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01225.html


[1] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00108.html
The discussion was moved on[5] by [[NigelJones|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." [[StevenMoix|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. [[MartinSourada|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 [[ThorstenLeemhuis|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. [[MatthewMiller|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 [[SethVidal|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."


[2] http://knoppix-std.org/index.html
[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01222.html


[[ToddZullinger|Todd Zullinger]] responded[3] that there was already a spin similar to this being curated by [[LukeMacken|Luke Macken]]. The SecuritySpin[4] mentioned by Luke seemed to be roughly what Huzaifa was searching for, except that he thought it should have "more tools and [be] more bare bones".
[6] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01224.html


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


[4] https://fedoraproject.org/wiki/SecuritySpin
[8] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01233.html


[[AdrianPilchowiec|Adrian Pilchowiec]] mentioned[5] a free fork of ''nessus'' named ''OpenVAS''[6] as a desirable part of the spin. Luke drew[7] attention to the need for more people to help out with packaging missing tools. Subsequently the wishlist of the project recorded that Huzaifa was packaging up ''OpenVAS'' and ''labrea''.
[9] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01238.html


[5] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00275.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 [[MartinSourada|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."


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


[7] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00183.html
[11] https://www.redhat.com/archives/fedora-devel-list/2008-September/msg01237.html
 
=== Missing Screen Locking Spurs Inquiry Into User-state Maintenance ===
 
When [[JohnEllson|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 <code>rm -rf .gnome .gnome2 .gconf .gconfd .metacity</code> and this failed to restore the default. [[ChrisSnook|Chris Snook]] suggested[4] that he consider <code>/tmp</cod> as another location where "per-user state is kept" but John had investigated[5] both <code>/tmp</code> and <code>/var/tmp</code>.
 
[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
 
[[JesseKeating|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!!!" [[JeffSpaleta|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 <code>polkit-auth</code>.  John wondered where the output of <code>polkit-auth</code> 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 <code>gnome-panel</code> 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.

Revision as of 18:41, 14 September 2008

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.