From Fedora Project Wiki

< FWN‎ | Beats

mNo edit summary
(fwn#151, pass 1, spellchecked, proofed once)
Line 7: Line 7:
Contributing Writer: [[OisinFeeley|Oisin Feeley]]
Contributing Writer: [[OisinFeeley|Oisin Feeley]]


=== Resume from Suspend Problems with Intel i945 ===
=== Security Exceptions to the Mass ACL Opening ===


[[PeterRobinson|Peter Robinson]] solicited[1] experiences with problems on netbooks in resuming from suspend from those using the latest <code>Intel-2.5.0</code>drivers. His problem suddenly manifested itself on a previously working <code>EeePC</code> 901: "It had worked previously and resumes OK but I get a black screen with a cursor and around that a square of garbled bits." Peter wondered what had changed recently in order to make suspend-resume stop working.
[[MichaelDeHaan|MichaelDeHaan]] initiated[1] discussion on why he had chosen not to open access (previously covered in FWN#148[2], FWN#136[3]) on some of his systems management software packages. His main reasoning was that obtaining provenpackager[4] status was too easy and could lead to at least two undesirable security outcomes: "(A) provenpackager decides to correct what he thinks is an rpmlint error and thus unintentionally breaks the security of the packaged application, (B) credentials of provenpackager are compromised allowing $evil to replace the contents of a said package. In either case, the change could either be making a new release of an application (which contains an exploit and/or unwitting bug), or updating the specfile in a way that breaks file permissions in a way that may not be immediately obvious (whether intentional or not)." The packages omitted by Michael were <code>koan</code>, <code>cobbler</code>, <code>func</code> and <code>certmaster</code> all of which could, if compromised, "[...] allow reprogramming of an entire datacenter in very easy steps."


[1] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02975.html
[1] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00382.html


Apparently similar failures were reported[2] by [[JonathonRoberts|Jonathon Roberts]] for a Dell Mini[3] ,[[TimLauridsen|Tim Lauridsen]] on a ThinkPad T60[4] and [[ChristophHoger|Christoph Hoger]][5] on a ThinkPad R61. Tim's problem seemed to be related to <code>compiz</code>.
[2] http://fedoraproject.org/wiki/FWN/Issue148#The_Big_ACL_Opening


[2] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02977.html
[3] http://fedoraproject.org/wiki/FWN/Issue136#New_libraw1394_Rebuild_Exposes_Closed_ACLs


[3] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02977.html
[4] After a flamewar (see FWN#148 "PackageGurus, SpecMentats or UeberPackagers?") the group name for packagers with access to any package in CVS is provenpackager: https://fedorahosted.org/packagedb/browser/fedora-packagedb-stable/ChangeLog#L45


[4] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03005.html
[[ToshioKuratomi|Toshio Kuratomi]] shared[5] Michael's concerns but pointed out that it would be possible to introduce compromised code into his packages' dependencies: "I'd like to mention, though, that func depends on the following packages with open acls: pyOpenSSL, python, python-simplejson So in terms of protecting against $EVIL, restricting provenpackager isn't very effective."


[5] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03033.html
[5] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00384.html


[[JeremyKatz|Jeremy Katz]] suggested[6] using the suspend quirks[7] , especially <code>vbepost</code>. [[MatthewGarret|Matthew Garret]] believed[8] this to be unnecessary as "i945 is perfectly capable of handling resume on its own in-kernel. The problem is more likely to be an excess of quirks interfering with that (or, alternatively, someone's broken the kernel)."
[[DanielBerrange|Daniel Berrange]] thought[6] it would be more effective to have more co-maintainers: "The ideal should be for every package in the distro to have at least 1 extra comaintainer, or preferrably 3 or 4. People with a little domain knowledge for the package who can handle both the low-hanging fruit the main maintainer misses, with less risk of making mistakes due to lack of package specific knowledge." Toshio countered[7] with a detailed reply which investigated the problems of non-responsiveness and trust which would be encountered by such a change. [[MichaelSchwendt|Michael Schwendt]] added[8] his experiences of the practical problems involving non-responsive maintainers and the difficulty of informing people without overloading them.


[6] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02981.html
[6] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00387.html
[7] http://people.freedesktop.org/~hughsient/quirk/quirk-suspend-index.html


[8] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02992.html
[7] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00392.html


[[JesseBarnes|Jesse Barnes]] (of the Intel Open Source Technology Center[9]) asked whether suspend worked from the console using:
[8] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00405.html
<code>echo mem > /sys/power/state</code>


as this would indicate that there had been a regression in 2.5.0 as opposed to a kernel bug. [[MatthewGarrett|Matthew Garrett]] thought that Jesse's suggestion would not test the same suspend pathway and that it would be better to do a:
[[JesseKeating|Jesse Keating]] returned[9] to the main topic and remarked that he agreed with [[MichaelDeHaan|Michael DeHaan's]] logic with regard to these specific packages but that membership of "provenpackagers" was now obtainable by requesting membership via the account system and approval of said request by a provenpackager. The requirement to have at least five packages was merely for initial seeding.
<pre>dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0
</pre>


Matthew begged[10] "Please (please, please) don't attempt to add resume quirks for anything with Intel video hardware now. It's only hiding kernel bugs."
[9] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00385.html


[[TimLauridsen|Tim Lauridsen]] wondered[10] when co-maintainers would be enabled to submit updates to packages through <code>bodhi</code> and subsequent discussion with [[MichaelSchwendt|Michael Schwendt]] suggested that it should be possible. [[KevinKofler|Kevin Kofler]] had similar concerns and Michael shared[11] the last public information on the topic which was that anyone with commit access to the devel branch can submit updates.


[9] http://software.intel.com/sites/oss/
[10] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00407.html


[10] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00082.html
[11] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00411.html


=== Moving X from VT7 to VT1 ===
=== Who Moved My Bug ? ===


A gigantic multi-thread flamewar consumed many list participants after [[WillWoods|Will Woods]] made sure[1] that everyone knew that in Rawhide "X HAS MOVED FROM VT7 TO VT1. GDM specifically starts X on tty1, and upstart does not start a getty on tty1 in runlevel 5." The reason behind this change was that the boot process no longer uses the old <code>RHGB</code> but instead a flicker-free and faster replacement named <code>Plymouth</code> (see Fedora Magazine[2] for a full explanation).
[[DebarshiRay|Debarshi Ray's]] question sounded[1] alluringly like a parody of a self-help book but expressed genuine concern over why the status of bugs assigned to him were being changed. [[TillMaas|Till Maas]] reassured[2] Debarshi that the status ASSIGNED means "that the bug has been triaged, i.e. it is assigned to the rigth component and all necessary information is provided. A member of the Fedora Triage Team probably did the changes to your bugs [,]" he included a useful link[3] to the BugZappers wikipage. [[BrynReeves|Bryn Reeves]] explained[4] how to see every change made to a bug. [[JohnPoelstra|John Poelstra]] also suggested[5] using the "history" link and explained that the use of the "FutureFeature" keyword was to insure that bugs would continue to be given the version "rawhide" even after the GA release of <code>Fedora 10</code>.


Fuel for the fire was provided by the surprise experienced by many posters who solely followed @fedora-devel for their information. A perception that changes made for the purposes of improving the desktop experience were occurring at the expense of the traditional server experience also seemed to irritate many. This was despite the fact that, as [[DanNicholson|Dan Nicholson]] explained[3]: "Users who do not want a graphical boot set rc 3 as their default runlevel, and everything is the same as it always was with getty on tty1-6. If you then run startx, it will start on tty7. In rc 5, X is started on tty1 and getty is not. That's all there is to it."
[1] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00273.html


[1] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02422.html
[2] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00274.html


[2] http://fedoramagazine.wordpress.com/2008/10/21/interview-fedora-10s-better-startup/
[3] https://fedoraproject.org/wiki/BugZappers/BugStatusWorkFlow


[3] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02469.html
[4] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00279.html


In answer to a question from [[TillMaas|Till Maas]] it was confirmed[4] by [[FelixMiata|Felix Miata]] that if one "[...] rebooted into runlevel 3, logged in on tty1, did telinit 5, got kdm on vt7, switched to tty1, [then there was] a normal shell prompt following typical X startup messages, and kdm still on vt7 [.]"
[5] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00290.html


It appeared[6] that this was a different process to that used to handle package review submissions and this had difference had caused some confusion.  Confusion also reigned[7] about when this use of the ASSIGNED keyword had become standard and [[DominikMierzejewski|Dominik Mierzejewski]] argued[8] that it had not been approved by FESCo, but [[BrianPepple|Brian Pepple]] posted the FESCo logs and [[JesseKeating|Jesse Keating]] suggested[9] following the discussions on @fedora-devel. Dominik declined to rely on following such a high-volume list and [[SteveGrubb|Steve Grubb]] agreed[10].


[4] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02478.html
[6] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00325.html


[[DanNicholson|Dan Nicholson]] also corrected[5] assumptions that the changes were made to improve boot speed with the information that it was to prevent the ugly flicker of VT switching during boot and asked "Why is it significant what tty any program runs on? Isn't the assumption that getty will be on tty1 just as faulty as the assumption X will be on tty7?" [[ShmuelSiegel|Shmuel Siegel]] gave[6] an answer which was repeated many times in the threads: "Because you are changing a user interface. What is going to happen when the user switches to tty1 and nothing happens? The basic logic of putting X on tty7 is to get it out of the way. Humans will use the lowest numbered ttys first. Besides breaking existing documentation, including advice on various forums, is not a good idea." [[BillNottingham|Bill Nottingham]] added[7] to Dan's rationale: "1) Reducing the amount of flicker and useless mode switching on startup is definitely a good thing 2) From a logical standpoint, the first tty should be for the most important user interaction. If you're booting in text mode, that's a getty. If you're booting with a GUI login... that's the GUI." [[CallumLerwick|Callum Lerwick]] and [[BrianWheeler|Brian Wheeler]] exchanged[8] details of the "vast improvement[s]" including removal of up to twelve seconds which resulted from the lack of monitor resync delays.
[7] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00285.html


[5] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02458.html
[8] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00285.html


[6] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02464.html
[9] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00310.html


[7] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02543.html
[10] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00420.html
 
[[KevinKofler|Kevin Kofler]] added[11] some useful information for those working in teams: "[...] when you're actively working on fixing something (so you don't duplicate work in the team), you can use the ON_DEV status for that purpose."


[8] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02518.html
[11] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00283.html


[[GerdHoffman|Gerd Hoffman]] made[9] an interesting suggestion about how <code>Plymouth</code> could do a VT switch immediately after <code>KMS</code>[10] had entered graphics mode but before printing anything to screen. In the course of this he clarified that "The flicker / resync delay comes from the *mode switch*, not the *vt switch*. And, no, a vt switch does *not* imply a mode switch. The reason you'll have flicker today when switching from/to X11 is that X11 does a mode switch when you switch from/to the terminal X11 is running on." BillNottingham was skeptical but Gerd insisted [11] that his approach would work.
=== HOWTO: Get an SELinux Policy Change ===


[9] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02623.html
[[JerryJames|Jerry James]] requested[1] information on how to get the correct security context in place for the <code>GCL</code> binaries which he was packaging. He needed to know both whether it was acceptable to use a <code>chcon -t java_exec_t</code> within the Makefile and how to have this reflected explicitly in Fedora policy.


[10] Kernel Mode Setting: http://kerneltrap.org/node/8242
[1] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00259.html


[11] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02820.html
[[HansdeGoede|Hans de Goede]] suggested[2] filing a bug against <code>selinux-policy</code> as [[DanWalsh|Dan Walsh]] was "[...] usually very fast and correct in fixing issues like this one." Dan posted that Jerry could get the final destination of the file with a <code>chcon `matchpathcon -n /usr/bin/gcl` LOCALPATH/gcl</code>.


After [[TillMaas|Till Maas]] suggested "[...] the kernel should be patched to start booting graphically using tty7 and not tty1." [[BillNottingham|Bill Nottingham]] passed[12] on the idea as it would involve: "Having the kernel parse its own commandline for a runlevel (a concept that has nothing to do with the kernel, and doesn't even exist under some init systems) and then choosing to rearrange the tty init sequence based on that?" and in further discussion with [[MatthewWoehlke|Matthew Woehlke]] reiterated[13] "You're having the kernel operate on Fedora specific commandline options to start on a completely different tty, one that could be configured by anyone locally to do something else entirely. (Unless you do it in userspace, which means you jump away and then jump back for text mode, which...)" [[CaseyDahlin|Casey Dahlin]] modified[14] the idea to "[...] either offer a getty on tty7 (not too hard) or we could instead add a small API to the kernel that would allow remapping which F key went to which tty, so you could have ctrl+alt+f1 bring up tty7. That way we could remap things so the user got the correct behavior. We wouldn't have to actually /do/ this, but if the API were there, we can tell the people who care to go figure it out."
[2] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00261.html


[12] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02544.html
[[JochenSchmitt|Jochen Schmitt]] suggested[3] that Jerry create a <code>SELinux</code> module to fix the issue and then actually did it himself and shared[4] it with the list, which impressed Jerry.


[13] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02594.html
[3] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00289.html


[14] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02553.html
[4] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00294.html


[[WillWoods|Will Woods]] explained[15] how to revert the change, but this was contested[16] by [[DanNicholson|Dan Nicholson]] on the basis that the latest <code>gdm</code> does not support <code>FirstVT.</code> Dan provided an untested patch and explained that "[s]ince plymouth writes the /var/spool/gdm file on boot and then gdm removes it, any subsequent starts will put X on the first available VT, which is tty7 in the common configuration. With my patch, prefdm writes the file every time it's executed. I don't know if that's the correct behavior for all cases where prefdm would be run. I'm looking at upstream gdm right now, and FirstVT isn't respected. Looking at the rawhide patches, I don't see anything that would enable that functionality again."
The problem evolved[5] to be a little deeper than modifying the Makefile as Jerry explained[6]: "I need a non-default security context for binaries that are both built and executed in the %build script, when the policy module has not yet been installed. It appears to me that there are only two ways to accomplish this: keep abusing java_exec_t like I have been, or get a GCL policy incorporated into selinux-policy* prior to building GCL. Am I wrong?" After [[PaulHowarth|Paul Howarth]] pointed out that <code>selinux-policy</code> needed to provide a context type for <code>/usr/bin/gcl</code> Dan modified[7] his previous <code>matchpathcon</code> suggestion and advised that this would be provided in <code>selinux-policy-3.5.13-19.fc10</code>.


[15] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02506.html
[5] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00307.html


[16] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02516.html
[6] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00350.html


Later [[DaxKelson|Dax Kelson]] reopened[17] the thread with a list of objections which pointed out the negative impact upon documentation and user habit of the change. He garnered a good deal of support from many other respected contributors.
[7] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00367.html


[17] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02601.html
=== Comps Czar Appointed to Encourage Modifications ===


At the end of the thread [[BillNottingham|Bill Nottingham]] asked[18] the interesting question of why the change appeared to come as such a surprise given that it had been telegraphed in advance by a formal feature proposal[19] and had been implemented in rawhide: "Are people not running rawhide and the test releases? Are they not looking at features as they are proposed and being involved in the process? Are they just sitting around waiting to be outraged?" Dax rejoined[20] that it was not obvious from the documentation that there would be a side-effect which disturbed an expected convention.
An important decision made[1] by FESCo in its 2008-10-29 deliberations was to try and encourage further modification of <code>comps.xml</code>[2] by defining some clearer procedures. These included the appointment of [[BillNottingham|Bill Nottingham]] as a "Grand Arbitrator of Comps" to decide which packages should be included in comps. The main concern expressed during the deliberation was that packagers tended not to modify comps and that awareness of its purpose had not been clearly communicated. It was hoped that extending the wiki page[3] and making one person formally responsible would help. Currently there are filters in place and only those with uberpackager status can commit changes. [[JesseKeating|Jesse Keating]] (f13) wanted to "[...] rather correct bad behavior than prevent good behavior [.]"


[18] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02830.html
[1] http://bpepple.fedorapeople.org/fesco/FESCo-2008-10-29.html


[19] http://fedoraproject.org/wiki/Features/BetterStartup
[2] Comps is an XML file which is used by anaconda (the installer) to present groups of available packages for selection by the administrator during the installation of a new operating system. See: https://fedoraproject.org/wiki/PackageMaintainers/CompsXml


[20] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02853.html
[3] https://fedoraproject.org/wiki/PackageMaintainers/CompsXml


=== Fedora 11: POSIX File Capabilities ===
One worry was to ensure that not everything is added to comps as this would produce an unreadable, large list. This latter problem was foregrounded when [[ChristopherStone|Christopher Stone]] advocated[4] that "[a]ll packages should go in comps. I don't know why notting is against this?!!? Why should my php-pear-* packages be excluded from comps for example? Just because some newb might not want to install them does not mean a php web developer would not use comps to install them." [[MattMiller|Matt Miller]] explained[5] that the current scheme was inflexible: "If comps ends up with a thousand programs under Games and Entertainment, another thousand under Graphical Internet, etc., it's even more useless than having nothing in comps at all. What would be the point? On the other hand, having a thousand small comps groups is also no good."


[[PanuMatilainen|Panu Matilainen]] announced[1] that he had added file capability support to <code>rpm</code>. With kernel support for storing capabilities on filesystem since 2.6.24 and the most recent <code>libcap</code> he asked if now was the time to "[...] start considering moving away from SUID bits to capabilities, in Fedora 11 maybe?"
[4] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00098.html


SethVidal wondered how this would affect networked file systems and [[DavidQuigley|David Quigley]] answered[2] that "[...] capabilities are stored in xattrs they will run into the same problems that SELinux does. Labeled NFS is working to address this by providing a per file attribute through NFSv4 for extra security information."
[5] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00120.html


Another show-stopper was the erasure of file-based capabilities by <code>prelink</code>. It appeared[3] that there was a certain amount of desire to examine whether <code>prelink</code> might cause more trouble than it was worth on faster hardware. Prelink's problems also included incorrectly stripping <code>OCaml</code> binaries and preventing <code>rpm -V</code> from working correctly.
[[SethVidal|Seth Vidal]] and [[ToshioKuratomi|Toshio Kuratomi]] seemed[6] interested in the idea of allowing Flickr-like tagging of package as a replacement for the problem of assigning them to groups. [[DenisLeroy|Denis Leroy]] also suggested[7] such a system: "Comps evolved over time into something that doesn't make a whole bunch of sense to me. Is the main use of comps still for installation groups within yum and anaconda ? A lot of packages are not installation "targets" but simply libraries that should only be installed by being pulled in from dependency resolution. Now if we're trying to "categorize" all packages nonetheless, it'd be better to have a tagbased system from packagedb, where packages can be "tagged" a-la-gmail, and also belong into multiple tag groups as some things really belong into multiple categories..."
 
[[ColinWalters|Colin Walters]] noted[4] that the desktop team had "been moving the OS away from exec-based domain transitions to message passing (e.g. PolicyKit) for a variety of reasons. I think it might be worth considering introducing a rule actually in Fedora for "no new SUID/fcap binaries"[.]" [[SteveGrubb|Steve Grubb]] was worried[5] that this direction resulted in the introduction of another MAC system and that auditing from userspace was untrustworthy. Concern was also raised[6] by [[MichaelStone|Michael Stone]] on the affects on solid-state memory consumption.
 
[[SteveGrubb|Steve Grubb]] sought details on how rpm would work with kernels lacking file capabilities and wanted[7] to "start removing some of the setuid bits." He suggested[8] to [[ChrisAdams|Chris Adams]] that <code>tar</code> and <code>star</code> should be capable of storing these new extended attributes and that <code>aide</code> would be useful in tracking changes to them.


[1] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02637.html
[6] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00134.html


[2] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02849.html
[7] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00107.html


[3] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02923.html
[[NicolasMailhot|Nicolas Mailhot]] listed[8][9] the advantages of the current format of comps as: human-editable, version-controllable, diff-able, grep-able, platform-agnostic and scalable. Toshio leaned[10] towards having tag information stored in <code>packagedb</code> which could generate static "[...] separate files for the installer and general use (so that the installer isn't sprinkled with thousands of libraries but one could still use yum to search for "all packages that have a 'python' 'library' to do 'ssl'")."


[4] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02729.html
[8] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00108.html


[5] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02809.html
[9] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00158.html


[6] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02818.html
[10] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00122.html


[7] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02777.html
In another post Nicolas raised[11] another series of pertinent questions which included thinking about other repositories and alternate views of any data which might shoehorned into a particular model. [[BillNottingham|Bill Nottingham]] wondered[12] where Nicolas was going with all this and re-capped the current purpose of comps as both an input to a graphical package selector and an input to tree composition tools. The discussion with Bill revealed that Nicolas advocated[13] "[...] just add everything in comps and run basic scripts that check every package we ship appears there (say in a dev-null group for libs or such stuff). You can easily cull the dev-null group at comps.xml.in -> comps.xml stage if needed" in order to ease the QA burden.


[8] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg02823.html
[11] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00125.html


=== Purging Unnecessary .la Files ===
[12] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00165.html


An apparent contravention of the packaging guidelines was noticed[1] by [[DebarshiRay|Debarshi Ray]] in the <code>dia</code> package. It contained <code>%{_libdir}/%{name}/*.la</code> files[2]. [[ColinWalters|Colin Walters]] was[3][4] enthusiastic about the idea of "not encourag[ing] the libtool agenda to redefine how shared libraries work on our platform." [[JerryJames|Jerry James]] found[5] that he had quite a number of them on his x86_64 machine.
[13] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00226.html


[1] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03031.html
[[JeremyKatz|Jeremy Katz]] wondered[14] who was the audience and task for [[SethVidal|Seth Vidal's]] "tree hierarchy plus tags" interface and distinguished between users looking for an application and administrators installing a system. Seth suggested[15] that using kickstart to install a minimal base and then the desired packages was the appropriate solution for the latter problem. He later explained[16] that having a tag-based presentation of the packages online would make it easier to determine which packages were available. [[LesMikesell|Les Mikesell]] wished to reproduce specific machine configurations easily which led[17] Seth to suggest using <code>yum-groups-manager</code> to create a comps.xml file and then <code>createrepo -g that_comps.xml somedir</code> which produces "[...] a repository that ONLY has comps.xml in it that is then instantly usable by any site which can get to the baseurl where it lives."


[2] .la are libtool archive files: http://www.gnu.org/software/libtool/manual/html.node/index.html#Top
[14] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00147.html


[3] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03032.html
[15] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00148.html


[4] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03039.html
[16] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00150.html


[5] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03038.html
[17] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00152.html


[[DanNicholson|Dan Nicholson]] argued[6] that it would be best to convince libtool upstream to support some way to choose whether or not the library archives were installed at build time, but Colin was unrelenting and argued[7]: "Or alternatively convince the automake people that it shouldn't be in the business of software lifecycle management (make uninstall) any more than people should be coding/overriding build systems (make;make install) inside RPM spec files. This seems possible; probably worth trying to at least have an environment variable AUTOMAKE.OPTIONS = i-dont-need-uninstall."
=== LiveConnect Feature Approved for Fedora 10 ===


[6] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03048.html
FESCo's 2008-10-29 discussions[1] contained a decision to include the LiveConnect[2] feature in Fedora 10. LiveConnect is a way for web browsers to allow JavaScript and Java classes to call each other's methods. The project to develop a completely FLOSS implementation was initiated[3] by [[TomFitzsimmons|Tom Fitzsimmons]] and brought to completion by [[DeepakBhole|Deepak Bhole]]. Tom's work[4] on a rewrite of <code>gcjwebplugin</code> as an XPCOM plugin has been named <code>IcedTeaPlugin</code> and is the default in <code>IcedTea6</code>.


[7] https://www.redhat.com/archives/fedora-devel-list/2008-October/msg03051.html
[1] http://bpepple.fedorapeople.org/fesco/FESCo-2008-10-29.html


[[DavidWoodhouse|David Woodhouse]] also wanted[8] to see the back of libtool "[...]you can just throw it away and forget it ever existed? I just write proper Makefiles, and if I ever _want_ to spend a couple of minutes watch some bizarre script trying to work out what type of FORTRAN compiler I have on my system, I can write myself a little bash script for that too[...]" but [[RichardJones|Richard W. M. Jones]] disagreed[9] sharply as he found it useful for building shared libraries on a wide variety of platforms. In response to [[ColinWalter|Colin Walters']] suggestion to build a hook in <code>RPM</code> to nuke <code>.la</code> files he stated[10] that they were essential for the <code>MinGW</code> packages.
[2] http://fedoraproject.org/wiki/Features/Liveconnect


[8] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00019.html
[3] http://people.redhat.com/fitzsim/fosdem-2008/fosdem-2008-liveconnect.pdf


[9] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00024.html
[4] http://fitzsim.org/blog/?p=23


[10] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00023.html
The practical implications for end users are that many popular sites[5][6] are now usable without the problems associated with the installation of Sun Microsystems' non-FLOSS Java plugin.


[[ToshioKuratomi|Toshio Kuratomi]] and [[MichaelSchwendt|Michael Schwendt]] discussed[11] how newer versions of <code>libltld</code> can work without missing <code>libtool archives</code> and that it was desirable to remove them because a "[...] private copy of a system library would be a violation of the Packaging Guidelines for security reasons [.]"
[5] http://www.jigzone.com/


[11] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00064.html
[6] http://games.yahoo.com/


[[RichardJones|Richard W. M. Jones]] decided[12] to do some testing to determine whether MinGW needed "[...] the *.la files for MinGW packages" or "[...] the .la files in MinGW packages[.]"
There was[7] some agonizing over the problem that <code>LiveConnect</code> was being approved as a Feature post freeze date while other exciting projects had been dropped because they were not complete at that time. [[BrianPepple|Brian Pepple]] worried: "Those folks we booted since they weren't complete would be justified in being pissed about us." Although this seemed to be a non-controversial opinion Deepak's work was also felt to be very important and fully tested. In addition Deepak submitted that "[...] no new packages introduced for this feature. Just an update to an existing package, that now installs a different Java plugin."


[12] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00085.html
[7] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00097.html

Revision as of 03:38, 10 November 2008

Developments

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

Contributing Writer: Oisin Feeley

Security Exceptions to the Mass ACL Opening

MichaelDeHaan initiated[1] discussion on why he had chosen not to open access (previously covered in FWN#148[2], FWN#136[3]) on some of his systems management software packages. His main reasoning was that obtaining provenpackager[4] status was too easy and could lead to at least two undesirable security outcomes: "(A) provenpackager decides to correct what he thinks is an rpmlint error and thus unintentionally breaks the security of the packaged application, (B) credentials of provenpackager are compromised allowing $evil to replace the contents of a said package. In either case, the change could either be making a new release of an application (which contains an exploit and/or unwitting bug), or updating the specfile in a way that breaks file permissions in a way that may not be immediately obvious (whether intentional or not)." The packages omitted by Michael were koan, cobbler, func and certmaster all of which could, if compromised, "[...] allow reprogramming of an entire datacenter in very easy steps."

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

[2] http://fedoraproject.org/wiki/FWN/Issue148#The_Big_ACL_Opening

[3] http://fedoraproject.org/wiki/FWN/Issue136#New_libraw1394_Rebuild_Exposes_Closed_ACLs

[4] After a flamewar (see FWN#148 "PackageGurus, SpecMentats or UeberPackagers?") the group name for packagers with access to any package in CVS is provenpackager: https://fedorahosted.org/packagedb/browser/fedora-packagedb-stable/ChangeLog#L45

Toshio Kuratomi shared[5] Michael's concerns but pointed out that it would be possible to introduce compromised code into his packages' dependencies: "I'd like to mention, though, that func depends on the following packages with open acls: pyOpenSSL, python, python-simplejson So in terms of protecting against $EVIL, restricting provenpackager isn't very effective."

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

Daniel Berrange thought[6] it would be more effective to have more co-maintainers: "The ideal should be for every package in the distro to have at least 1 extra comaintainer, or preferrably 3 or 4. People with a little domain knowledge for the package who can handle both the low-hanging fruit the main maintainer misses, with less risk of making mistakes due to lack of package specific knowledge." Toshio countered[7] with a detailed reply which investigated the problems of non-responsiveness and trust which would be encountered by such a change. Michael Schwendt added[8] his experiences of the practical problems involving non-responsive maintainers and the difficulty of informing people without overloading them.

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

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

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

Jesse Keating returned[9] to the main topic and remarked that he agreed with Michael DeHaan's logic with regard to these specific packages but that membership of "provenpackagers" was now obtainable by requesting membership via the account system and approval of said request by a provenpackager. The requirement to have at least five packages was merely for initial seeding.

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

Tim Lauridsen wondered[10] when co-maintainers would be enabled to submit updates to packages through bodhi and subsequent discussion with Michael Schwendt suggested that it should be possible. Kevin Kofler had similar concerns and Michael shared[11] the last public information on the topic which was that anyone with commit access to the devel branch can submit updates.

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

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

Who Moved My Bug ?

Debarshi Ray's question sounded[1] alluringly like a parody of a self-help book but expressed genuine concern over why the status of bugs assigned to him were being changed. Till Maas reassured[2] Debarshi that the status ASSIGNED means "that the bug has been triaged, i.e. it is assigned to the rigth component and all necessary information is provided. A member of the Fedora Triage Team probably did the changes to your bugs [,]" he included a useful link[3] to the BugZappers wikipage. Bryn Reeves explained[4] how to see every change made to a bug. John Poelstra also suggested[5] using the "history" link and explained that the use of the "FutureFeature" keyword was to insure that bugs would continue to be given the version "rawhide" even after the GA release of Fedora 10.

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

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

[3] https://fedoraproject.org/wiki/BugZappers/BugStatusWorkFlow

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

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

It appeared[6] that this was a different process to that used to handle package review submissions and this had difference had caused some confusion. Confusion also reigned[7] about when this use of the ASSIGNED keyword had become standard and Dominik Mierzejewski argued[8] that it had not been approved by FESCo, but Brian Pepple posted the FESCo logs and Jesse Keating suggested[9] following the discussions on @fedora-devel. Dominik declined to rely on following such a high-volume list and Steve Grubb agreed[10].

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

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

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

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

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

Kevin Kofler added[11] some useful information for those working in teams: "[...] when you're actively working on fixing something (so you don't duplicate work in the team), you can use the ON_DEV status for that purpose."

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

HOWTO: Get an SELinux Policy Change

Jerry James requested[1] information on how to get the correct security context in place for the GCL binaries which he was packaging. He needed to know both whether it was acceptable to use a chcon -t java_exec_t within the Makefile and how to have this reflected explicitly in Fedora policy.

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

Hans de Goede suggested[2] filing a bug against selinux-policy as Dan Walsh was "[...] usually very fast and correct in fixing issues like this one." Dan posted that Jerry could get the final destination of the file with a chcon matchpathcon -n /usr/bin/gcl LOCALPATH/gcl.

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

Jochen Schmitt suggested[3] that Jerry create a SELinux module to fix the issue and then actually did it himself and shared[4] it with the list, which impressed Jerry.

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

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

The problem evolved[5] to be a little deeper than modifying the Makefile as Jerry explained[6]: "I need a non-default security context for binaries that are both built and executed in the %build script, when the policy module has not yet been installed. It appears to me that there are only two ways to accomplish this: keep abusing java_exec_t like I have been, or get a GCL policy incorporated into selinux-policy* prior to building GCL. Am I wrong?" After Paul Howarth pointed out that selinux-policy needed to provide a context type for /usr/bin/gcl Dan modified[7] his previous matchpathcon suggestion and advised that this would be provided in selinux-policy-3.5.13-19.fc10.

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

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

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

Comps Czar Appointed to Encourage Modifications

An important decision made[1] by FESCo in its 2008-10-29 deliberations was to try and encourage further modification of comps.xml[2] by defining some clearer procedures. These included the appointment of Bill Nottingham as a "Grand Arbitrator of Comps" to decide which packages should be included in comps. The main concern expressed during the deliberation was that packagers tended not to modify comps and that awareness of its purpose had not been clearly communicated. It was hoped that extending the wiki page[3] and making one person formally responsible would help. Currently there are filters in place and only those with uberpackager status can commit changes. Jesse Keating (f13) wanted to "[...] rather correct bad behavior than prevent good behavior [.]"

[1] http://bpepple.fedorapeople.org/fesco/FESCo-2008-10-29.html

[2] Comps is an XML file which is used by anaconda (the installer) to present groups of available packages for selection by the administrator during the installation of a new operating system. See: https://fedoraproject.org/wiki/PackageMaintainers/CompsXml

[3] https://fedoraproject.org/wiki/PackageMaintainers/CompsXml

One worry was to ensure that not everything is added to comps as this would produce an unreadable, large list. This latter problem was foregrounded when Christopher Stone advocated[4] that "[a]ll packages should go in comps. I don't know why notting is against this?!!? Why should my php-pear-* packages be excluded from comps for example? Just because some newb might not want to install them does not mean a php web developer would not use comps to install them." Matt Miller explained[5] that the current scheme was inflexible: "If comps ends up with a thousand programs under Games and Entertainment, another thousand under Graphical Internet, etc., it's even more useless than having nothing in comps at all. What would be the point? On the other hand, having a thousand small comps groups is also no good."

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

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

Seth Vidal and Toshio Kuratomi seemed[6] interested in the idea of allowing Flickr-like tagging of package as a replacement for the problem of assigning them to groups. Denis Leroy also suggested[7] such a system: "Comps evolved over time into something that doesn't make a whole bunch of sense to me. Is the main use of comps still for installation groups within yum and anaconda ? A lot of packages are not installation "targets" but simply libraries that should only be installed by being pulled in from dependency resolution. Now if we're trying to "categorize" all packages nonetheless, it'd be better to have a tagbased system from packagedb, where packages can be "tagged" a-la-gmail, and also belong into multiple tag groups as some things really belong into multiple categories..."

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

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

Nicolas Mailhot listed[8][9] the advantages of the current format of comps as: human-editable, version-controllable, diff-able, grep-able, platform-agnostic and scalable. Toshio leaned[10] towards having tag information stored in packagedb which could generate static "[...] separate files for the installer and general use (so that the installer isn't sprinkled with thousands of libraries but one could still use yum to search for "all packages that have a 'python' 'library' to do 'ssl'")."

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

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

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

In another post Nicolas raised[11] another series of pertinent questions which included thinking about other repositories and alternate views of any data which might shoehorned into a particular model. Bill Nottingham wondered[12] where Nicolas was going with all this and re-capped the current purpose of comps as both an input to a graphical package selector and an input to tree composition tools. The discussion with Bill revealed that Nicolas advocated[13] "[...] just add everything in comps and run basic scripts that check every package we ship appears there (say in a dev-null group for libs or such stuff). You can easily cull the dev-null group at comps.xml.in -> comps.xml stage if needed" in order to ease the QA burden.

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

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

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

Jeremy Katz wondered[14] who was the audience and task for Seth Vidal's "tree hierarchy plus tags" interface and distinguished between users looking for an application and administrators installing a system. Seth suggested[15] that using kickstart to install a minimal base and then the desired packages was the appropriate solution for the latter problem. He later explained[16] that having a tag-based presentation of the packages online would make it easier to determine which packages were available. Les Mikesell wished to reproduce specific machine configurations easily which led[17] Seth to suggest using yum-groups-manager to create a comps.xml file and then createrepo -g that_comps.xml somedir which produces "[...] a repository that ONLY has comps.xml in it that is then instantly usable by any site which can get to the baseurl where it lives."

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

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

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

[17] https://www.redhat.com/archives/fedora-devel-list/2008-November/msg00152.html

LiveConnect Feature Approved for Fedora 10

FESCo's 2008-10-29 discussions[1] contained a decision to include the LiveConnect[2] feature in Fedora 10. LiveConnect is a way for web browsers to allow JavaScript and Java classes to call each other's methods. The project to develop a completely FLOSS implementation was initiated[3] by Tom Fitzsimmons and brought to completion by Deepak Bhole. Tom's work[4] on a rewrite of gcjwebplugin as an XPCOM plugin has been named IcedTeaPlugin and is the default in IcedTea6.

[1] http://bpepple.fedorapeople.org/fesco/FESCo-2008-10-29.html

[2] http://fedoraproject.org/wiki/Features/Liveconnect

[3] http://people.redhat.com/fitzsim/fosdem-2008/fosdem-2008-liveconnect.pdf

[4] http://fitzsim.org/blog/?p=23

The practical implications for end users are that many popular sites[5][6] are now usable without the problems associated with the installation of Sun Microsystems' non-FLOSS Java plugin.

[5] http://www.jigzone.com/

[6] http://games.yahoo.com/

There was[7] some agonizing over the problem that LiveConnect was being approved as a Feature post freeze date while other exciting projects had been dropped because they were not complete at that time. Brian Pepple worried: "Those folks we booted since they weren't complete would be justified in being pissed about us." Although this seemed to be a non-controversial opinion Deepak's work was also felt to be very important and fully tested. In addition Deepak submitted that "[...] no new packages introduced for this feature. Just an update to an existing package, that now installs a different Java plugin."

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