Sat, 17 May 2008

liveusb-creator v2.4

Last night I released v2.4 of the liveusb-creator, which fixes a bunch of bugs and is much more robust.

Someone wrote a pretty cool article about the liveusb-creator on Lifehacker the other day, which made it to the front page of digg last night. Digg it up!



posted at: 10:10 | link | Tags: , , | 2 comments

Wed, 30 Apr 2008

Fedora LiveUSB Creator v2.0!

The liveusb-creator is a cross-platform tool for easily installing live operating systems on to USB flash drives. Today I released version 2.0, which brings you a brand new graphical interface and a bunch of new features, including:

Windows binary: liveusb-creator-2.3.zip (8.8mb)

This release is for Windows-only at the moment. Linux support is nearing completion, and will exist in later versions. In the mean time, there are already tools available for creating persistent LiveUSB keys with Fedora.

If you would like to help contribute to the liveusb-creator, see the Developers Guide for more information. If you encounter problems with the tool, please file bug reports here.

For those interested in trying out this program, but don't have a USB stick, you can buy one here.



posted at: 20:52 | link | Tags: , , | 6 comments

Wed, 20 Feb 2008

gobby.fedoraproject.org

A dedicated Gobby session is now running on gobby.fedoraproject.org !

*UPDATE*: To address some initial security concerns, I've locked down this instance to Fedora contributors only. The password can be found in ~lmacken/gobby on fedorapeople.org (via ssh) Yes, this raises the bar a little bit, but more of a reason to get a Fedora account ;)

What is Gobby, you ask?

"Gobby is a free collaborative editor supporting multiple documents in one session and a multi-user chat. It runs on Microsoft Windows, Mac OS X, Linux and other Unix-like platforms."

If you're running Fedora, simply install the 'gobby' package, and you're ready to go. Click "Join Session", and connect to "gobby.fedoraproject.org". You'll then be able to collaborate in real-time with others on code, documents, notes, etc.

Since this is wide-open for anyone to use, I've also setup a cron job that frequently commits the session to a git repository. You can view the changes to our gobby session via gitweb. Regardless, you should still save anything that you expect to keep locally.



posted at: 19:54 | link | Tags: , | 9 comments

Mon, 11 Feb 2008

Creating live Fedora USB sticks, in Windows!

Last weekend I sat down and developed the liveusb-creator, a tool for creating live Fedora USB sticks from Windows. It will automatically detect all removable drives, find your ISO, extract it to your USB key, modify the syslinux.cfg, and install the bootloader. Technical details aside for a moment, the end-user workflow turns out to be something like this:

At the moment it is a simple a console application that asks the user if it has any questions (by default it won't), and then gets the job done. So shortly after announcing this tool, I started throwing together a graphical interface using PyGTK. While I was doing this, Kushal Das was on the other side of the planet working on a PyQT version :) It turns out his code is much cleaner than my gtk implementation, so I went ahead and committed it. Furthermore, I'm pretty excited to get a chance to play with The Other widget toolkit for once ;)

So, detecting removable devices and such is *trivial* in Windows using the powerfully-undocumented win32api Python module (after playing a few rounds of "match the return code to the enum", of course). Ideally, I want this tool to work in both Linux and Windows, so I redesigned the code quite a bit, broke it out into various modules, and recently started working on the Linux side of things. At this point in time, there is now code that detects removable drives using dbus and HAL. I still have a bunch of sanity checking and other bits to write, but progress is definitely being made. In the mean time for Linux users, see the USBHowTo for creating a live USB stick using the livecd-iso-to-disk tool.

If you're interested in helping out with the liveusb-creator, you can get ahold of the source code using git:

git clone git://git.fedorahosted.org/git/liveusb-creator.git
If you encounter any problems, please create a new ticket at the liveusb-creator trac.



posted at: 08:38 | link | Tags: , , , | 17 comments

Tue, 05 Feb 2008

F8 -> F9 Alpha Live Diff

Fedora 9 Alpha is scheduled to be released today! Not only did I spin the live bits for this alpha, I also generated some statistics as to what changed in this release since Fedora 8. Here are the livecd diffs for all of our spins.

Below are the details as to what changed in our default GNOME desktop spin since Fedora 8.
--- F8-Live-i686-20080204.0.iso (694M)
+++ F9-Alpha-i686-20080129.0.iso (698M)
+ new package libgdiplus-devel: 8584
+ new package xorg-x11-server-common: 38863
+ new package PolicyKit-gnome-libs: 40188
+ new package kerneloops: 52570
+ new package swfdec-gtk: 55786
+ new package gnome-panel-libs: 56936
+ new package swfdec-mozilla: 75911
+ new package libconfig: 120055
+ new package obex-data-server: 136538
+ new package at-spi-python: 170868
+ new package ncurses-base: 176949
+ new package pixman: 209556
+ new package scim-python: 247730
+ new package libcurl: 258148
+ new package libggz: 289477
+ new package hfsutils: 362228
+ new package libmtp: 398952
+ new package xorg-x11-drv-openchrome: 415754
+ new package ggz-client-libs: 434830
+ new package samyak-fonts: 457144
+ new package perl-Date-Manip: 458629
+ new package libtasn1: 466849
+ new package python-crypto: 571535
+ new package elilo: 613010
+ new package gfs2-utils: 650707
+ new package ncurses-libs: 668620
+ new package swfdec: 958169
+ new package reiserfs-utils: 1022402
+ new package iscsi-initiator-utils: 1138529
+ new package jfsutils: 1138726
+ new package gvfs: 1700127
+ new package totem-pl-parser: 2627745
+ new package xfsprogs: 3408051
+ new package VLGothic-fonts: 3831447
+ new package VLGothic-fonts-proportional: 3831790
+ new package gnome-settings-daemon: 6218660
+ new package mesa-libOSMesa: 7248256
+ new package scim-python-chinese: 7621164
+ new package libgweather: 14592282
+ new package dejavu-fonts: 15593008
+ new package vim-common: 16294034
+ new package xulrunner: 24481155
+ crontabs grew 144 bytes (6.83%) (2107->2251)
+ libopenraw-gnome grew 348 bytes (7.94%) (4384->4732)
+ xorg-x11-drv-fbdev grew 380 bytes (1.84%) (20597->20977)
+ irqbalance grew 400 bytes (1.85%) (21595->21995)
+ m17n-contrib grew 469 bytes (1.28%) (36757->37226)
+ pam_ccreds grew 497 bytes (1.49%) (33428->33925)
+ smolt-firstboot grew 655 bytes (6.01%) (10893->11548)
+ pcsc-lite-libs grew 848 bytes (2.44%) (34696->35544)
+ dbus-x11 grew 884 bytes (3.63%) (24353->25237)
+ numactl grew 896 bytes (1.00%) (89239->90135)
+ gnome-bluetooth-libs grew 1278 bytes (1.02%) (124866->126144)
+ xorg-x11-drv-evdev grew 1445 bytes (4.05%) (35642->37087)
+ m17n-db-hindi grew 1717 bytes (21.74%) (7899->9616)
+ sysreport grew 1783 bytes (5.30%) (33620->35403)
+ libpciaccess grew 1796 bytes (7.21%) (24901->26697)
+ sg3_utils-libs grew 2156 bytes (1.97%) (109392->111548)
+ pciutils grew 2464 bytes (1.36%) (180975->183439)
+ setroubleshoot grew 2541 bytes (1.11%) (229578->232119)
+ gnome-keyring-pam grew 2556 bytes (8.89%) (28760->31316)
+ libcap grew 2618 bytes (5.79%) (45230->47848)
+ apr grew 2823 bytes (1.04%) (271801->274624)
+ bc grew 2861 bytes (1.50%) (190964->193825)
+ libsepol grew 2992 bytes (1.33%) (224692->227684)
+ lohit-fonts-telugu grew 3100 bytes (1.78%) (174487->177587)
+ e2fsprogs-libs grew 3332 bytes (1.33%) (250016->253348)
+ device-mapper-libs grew 3680 bytes (4.25%) (86516->90196)
+ glx-utils grew 3704 bytes (10.98%) (33736->37440)
+ scim-chewing grew 4072 bytes (3.22%) (126383->130455)
+ dbus-libs grew 4100 bytes (1.63%) (251944->256044)
+ nash grew 4128 bytes (1.74%) (237698->241826)
+ libjpeg grew 4420 bytes (1.61%) (275021->279441)
+ authconfig-gtk grew 4808 bytes (2.75%) (175143->179951)
+ mkinitrd grew 4854 bytes (4.84%) (100334->105188)
+ linuxwacom grew 5518 bytes (1.10%) (502293->507811)
+ desktop-file-utils grew 5523 bytes (4.50%) (122601->128124)
+ gnome-python2-gnomeprint grew 5547 bytes (1.27%) (437641->443188)
+ bluez-utils-alsa grew 5856 bytes (13.67%) (42824->48680)
+ m17n-contrib-telugu grew 6114 bytes (28.08%) (21776->27890)
+ rsyslog grew 6922 bytes (1.45%) (477587->484509)
+ ustr grew 7531 bytes (3.12%) (241610->249141)
+ rhpxl grew 7783 bytes (2.36%) (329907->337690)
+ xorg-x11-drv-mga grew 8319 bytes (4.91%) (169473->177792)
+ taglib grew 8368 bytes (1.71%) (489415->497783)
+ gtk-nodoka-engine grew 8948 bytes (9.32%) (96057->105005)
+ nscd grew 9484 bytes (6.73%) (140911->150395)
+ exempi grew 9692 bytes (1.39%) (698782->708474)
+ gnome-menus grew 9841 bytes (1.57%) (626493->636334)
+ dbus-glib grew 9970 bytes (2.10%) (473790->483760)
+ libdhcp6client grew 10524 bytes (6.30%) (166956->177480)
+ openldap grew 10658 bytes (1.76%) (604986->615644)
+ nss_ldap grew 12224 bytes (2.17%) (562402->574626)
+ dmidecode grew 14466 bytes (10.46%) (138266->152732)
+ NetworkManager-vpnc grew 14477 bytes (4.58%) (316033->330510)
+ system-config-rootpassword grew 14962 bytes (16.07%) (93118->108080)
+ gstreamer-python grew 15266 bytes (1.64%) (933175->948441)
+ rarian grew 15824 bytes (4.99%) (316947->332771)
+ at-spi grew 16072 bytes (2.38%) (674624->690696)
+ isomd5sum grew 17146 bytes (36.61%) (46840->63986)
+ usbutils grew 17192 bytes (19.31%) (89044->106236)
+ acl grew 17875 bytes (11.97%) (149393->167268)
+ hicolor-icon-theme grew 17992 bytes (79.30%) (22688->40680)
+ gnome-python2-desktop grew 18187 bytes (7.44%) (244527->262714)
+ libdhcp grew 19318 bytes (14.23%) (135727->155045)
+ which grew 20480 bytes (65.05%) (31485->51965)
+ NetworkManager-gnome grew 20604 bytes (2.90%) (710665->731269)
+ pam_krb5 grew 20943 bytes (8.06%) (259736->280679)
+ system-config-language grew 21674 bytes (8.55%) (253576->275250)
+ libxcb grew 22328 bytes (5.40%) (413804->436132)
+ bluez-utils grew 22572 bytes (1.76%) (1280277->1302849)
+ pygtksourceview grew 23100 bytes (36.06%) (64064->87164)
+ libgpg-error grew 23525 bytes (12.14%) (193728->217253)
+ glibmm24 grew 24411 bytes (5.25%) (465396->489807)
+ fribidi grew 24912 bytes (17.19%) (144894->169806)
+ gmime grew 24916 bytes (4.24%) (587824->612740)
+ libuser grew 25215 bytes (1.56%) (1616562->1641777)
+ httpd grew 28595 bytes (1.12%) (2551734->2580329)
+ m17n-lib grew 30893 bytes (10.14%) (304750->335643)
+ rhpl grew 31037 bytes (3.99%) (778235->809272)
+ libdhcp4client grew 32772 bytes (6.57%) (499144->531916)
+ bind-utils grew 33408 bytes (10.87%) (307362->340770)
+ NetworkManager grew 33657 bytes (1.42%) (2377366->2411023)
+ dbus-python grew 36266 bytes (5.11%) (710089->746355)
+ gnome-mag grew 36431 bytes (7.21%) (504936->541367)
+ libXpm grew 37746 bytes (52.09%) (72467->110213)
+ libgnomekbd grew 38042 bytes (6.68%) (569521->607563)
+ pm-utils grew 39200 bytes (117.36%) (33402->72602)
+ nautilus-sendto grew 42489 bytes (16.21%) (262118->304607)
+ dhclient grew 42699 bytes (8.59%) (497288->539987)
+ gtksourceview2 grew 42895 bytes (2.00%) (2148753->2191648)
+ krb5-libs grew 45052 bytes (2.96%) (1522532->1567584)
+ system-config-printer grew 47675 bytes (5.03%) (948043->995718)
+ gnutls grew 58282 bytes (5.99%) (972804->1031086)
+ bluez-gnome grew 60576 bytes (22.56%) (268531->329107)
+ mono-data grew 61605 bytes (1.21%) (5087435->5149040)
+ libwnck grew 62234 bytes (5.42%) (1148126->1210360)
+ gtk2-engines grew 63679 bytes (6.09%) (1045391->1109070)
+ system-config-users grew 64047 bytes (4.40%) (1455495->1519542)
+ gnokii grew 68723 bytes (4.36%) (1575916->1644639)
+ rsync grew 73058 bytes (18.04%) (404896->477954)
+ hal-info grew 75029 bytes (20.94%) (358305->433334)
+ mesa-libGLU grew 77812 bytes (17.12%) (454428->532240)
+ mdadm grew 83417 bytes (4.79%) (1743098->1826515)
+ shared-mime-info grew 85852 bytes (9.51%) (902332->988184)
+ compiz-gnome grew 87904 bytes (7.16%) (1227682->1315586)
+ PolicyKit-gnome grew 89123 bytes (126.49%) (70457->159580)
+ GConf2 grew 89585 bytes (1.68%) (5342705->5432290)
+ dhcpv6-client grew 94965 bytes (54.70%) (173599->268564)
+ system-config-firewall grew 103528 bytes (4.50%) (2300495->2404023)
+ ntfs-3g grew 107185 bytes (36.31%) (295187->402372)
+ f-spot grew 110065 bytes (1.44%) (7621883->7731948)
+ PolicyKit grew 121200 bytes (71.93%) (168495->289695)
+ gnupg grew 126829 bytes (2.62%) (4841029->4967858)
+ libgcrypt grew 132376 bytes (38.24%) (346204->478580)
+ libopenraw grew 136838 bytes (101.68%) (134583->271421)
+ pykickstart grew 141694 bytes (17.92%) (790784->932478)
+ gnome-python2-gnomevfs grew 142165 bytes (87.24%) (162958->305123)
+ shadow-utils grew 144973 bytes (5.29%) (2739389->2884362)
+ gnome-volume-manager grew 158480 bytes (7.38%) (2146417->2304897)
+ vbetool grew 162208 bytes (139.43%) (116340->278548)
+ openssl grew 166448 bytes (4.81%) (3459831->3626279)
+ libselinux-python grew 171323 bytes (118.46%) (144622->315945)
+ libsilc grew 180620 bytes (17.41%) (1037560->1218180)
+ sound-juicer grew 182617 bytes (5.86%) (3114050->3296667)
+ gnome-system-monitor grew 186353 bytes (3.55%) (5244840->5431193)
+ gdb grew 193437 bytes (3.11%) (6228176->6421613)
+ selinux-policy-devel grew 206105 bytes (3.72%) (5545358->5751463)
+ evolution-data-server grew 208724 bytes (1.89%) (11029422->11238146)
+ PyOpenGL grew 213779 bytes (4.86%) (4398157->4611936)
+ tomboy grew 218900 bytes (3.63%) (6022535->6241435)
+ parted grew 223507 bytes (15.16%) (1474368->1697875)
+ orca grew 231344 bytes (4.05%) (5718621->5949965)
+ util-linux-ng grew 245524 bytes (5.17%) (4749959->4995483)
+ selinux-policy grew 268202 bytes (3.47%) (7731786->7999988)
+ iso-codes grew 269192 bytes (4.80%) (5605136->5874328)
+ system-config-date grew 282500 bytes (10.09%) (2798572->3081072)
+ xorg-x11-drv-ati grew 285328 bytes (35.75%) (798151->1083479)
+ eog grew 292326 bytes (7.82%) (3740424->4032750)
+ dbus grew 299134 bytes (58.75%) (509123->808257)
+ totem grew 321458 bytes (5.87%) (5476956->5798414)
+ gnome-keyring grew 333541 bytes (32.87%) (1014819->1348360)
+ glibc grew 347221 bytes (2.59%) (13402107->13749328)
+ sqlite grew 358672 bytes (76.12%) (471170->829842)
+ setroubleshoot-server grew 363273 bytes (22.18%) (1637732->2001005)
+ bind-libs grew 389872 bytes (17.27%) (2258064->2647936)
+ gcalctool grew 496578 bytes (10.21%) (4862745->5359323)
+ gnome-panel grew 509960 bytes (4.35%) (11714901->12224861)
+ ghostscript grew 534784 bytes (1.87%) (28646835->29181619)
+ rhythmbox grew 678314 bytes (6.41%) (10582223->11260537)
+ mono-core grew 686301 bytes (2.01%) (34154946->34841247)
+ nautilus grew 693197 bytes (5.04%) (13751211->14444408)
+ mono-winforms grew 729754 bytes (7.47%) (9765822->10495576)
+ totem-mozplugin grew 770229 bytes (136.17%) (565632->1335861)
+ mono-web grew 797665 bytes (9.85%) (8097242->8894907)
+ glib2 grew 849381 bytes (29.07%) (2922173->3771554)
+ gnome-power-manager grew 934030 bytes (8.33%) (11214535->12148565)
+ nss grew 937664 bytes (44.33%) (2114975->3052639)
+ libsmbclient grew 1191360 bytes (50.53%) (2357736->3549096)
+ gnome-games grew 1373569 bytes (4.65%) (29510057->30883626)
+ kernel grew 2170562 bytes (4.60%) (47161413->49331975)
+ anaconda grew 2566351 bytes (17.76%) (14448198->17014549)
- krb5-auth-dialog shrunk 1 bytes (53674->53673)
- libtirpc shrunk 1 bytes (150301->150300)
- gmime-sharp shrunk 6 bytes (197336->197330)
- gzip shrunk 6 bytes (219689->219683)
- gedit shrunk 8 bytes (13487572->13487564)
- readline shrunk 8 bytes (350214->350206)
- system-config-network shrunk 8 bytes (1905298->1905290)
- perl shrunk 14 bytes (31645884->31645870)
- ntsysv shrunk 16 bytes (22156->22140)
- xdg-utils shrunk 18 bytes (176553->176535)
- python-pyblock shrunk 22 bytes (175969->175947)
- pavucontrol shrunk 23 bytes (169857->169834)
- logrotate shrunk 32 bytes (77454->77422)
- libXfont shrunk 32 bytes (456948->456916)
- gnome-python2-canvas shrunk 32 bytes (48902->48870)
- xorg-x11-drv-vmmouse shrunk 32 bytes (16364->16332)
- mono-data-sqlite shrunk 33 bytes (457296->457263)
- gnome-pilot shrunk 36 bytes (1930958->1930922)
- libflashsupport shrunk 40 bytes (11044->11004)
- nautilus-extensions shrunk 48 bytes (31308->31260)
- pulseaudio-utils shrunk 56 bytes (234499->234443)
- libselinux shrunk 61 bytes (148311->148250)
- gimp shrunk 64 bytes (38423455->38423391)
- libXrender shrunk 64 bytes (47254->47190)
- paps shrunk 64 bytes (51462->51398)
- libxkbfile shrunk 96 bytes (146358->146262)
- librsvg2 shrunk 120 bytes (337750->337630)
- pulseaudio-libs shrunk 128 bytes (343843->343715)
- isdn4k-utils shrunk 144 bytes (9789025->9788881)
- less shrunk 171 bytes (176124->175953)
- pulseaudio shrunk 192 bytes (926686->926494)
- xorg-x11-drv-keyboard shrunk 256 bytes (26608->26352)
- anacron shrunk 274 bytes (56515->56241)
- libgtop2 shrunk 320 bytes (341012->340692)
- xorg-x11-drv-cirrus shrunk 355 bytes (77986->77631)
- gtkspell shrunk 400 bytes (56779->56379)
- pulseaudio-core-libs shrunk 416 bytes (439696->439280)
- liberation-fonts shrunk 444 bytes (1865074->1864630)
- libpcap shrunk 485 bytes (261897->261412)
- nspluginwrapper shrunk 509 bytes (311525->311016)
- acpid shrunk 542 bytes (61235->60693)
- udev shrunk 601 bytes (654430->653829)
- setroubleshoot-plugins shrunk 689 bytes (2422617->2421928)
- python-numeric shrunk 1040 bytes (1722779->1721739)
- file-libs shrunk 1181 bytes (1669772->1668591)
- xorg-x11-drv-vesa shrunk 1208 bytes (26099->24891)
- system-config-keyboard shrunk 1259 bytes (182829->181570)
- fedora-release shrunk 1450 bytes (46680->45230)
- gnome-spell shrunk 1568 bytes (377889->376321)
- gparted shrunk 1600 bytes (1569813->1568213)
- nspr shrunk 1856 bytes (248628->246772)
- dvd+rw-tools shrunk 1860 bytes (283930->282070)
- libdrm shrunk 1878 bytes (39456->37578)
- at shrunk 1892 bytes (83059->81167)
- synaptics shrunk 2072 bytes (113498->111426)
- m17n-contrib-hindi shrunk 2162 bytes (16757->14595)
- pango shrunk 3747 bytes (862572->858825)
- system-config-services shrunk 3768 bytes (561578->557810)
- libcdio shrunk 3961 bytes (555394->551433)
- audit-libs shrunk 4096 bytes (130447->126351)
- atmel-firmware shrunk 4458 bytes (732612->728154)
- fontconfig shrunk 4805 bytes (374336->369531)
- checkpolicy shrunk 6752 bytes (510825->504073)
- ppp shrunk 8123 bytes (841674->833551)
- ntp shrunk 8426 bytes (2652615->2644189)
- procps shrunk 11625 bytes (374451->362826)
- iproute shrunk 11660 bytes (2152986->2141326)
- gnome-bluetooth shrunk 12179 bytes (545675->533496)
- smolt shrunk 13811 bytes (635219->621408)
- b43-fwcutter shrunk 17375 bytes (37123->19748)
- im-chooser shrunk 19198 bytes (208789->189591)
- evolution shrunk 30364 bytes (38160208->38129844)
- ntfsprogs shrunk 33559 bytes (1148797->1115238)
- zip shrunk 33692 bytes (302492->268800)
- vixie-cron shrunk 46771 bytes (673502->626731)
- compiz shrunk 57822 bytes (1846352->1788530)
- cups shrunk 73290 bytes (10355510->10282220)
- system-config-printer-libs shrunk 88138 bytes (2438676->2350538)
- eel2 shrunk 90562 bytes (848996->758434)
- yelp shrunk 99732 bytes (2559882->2460150)
- xorg-x11-drv-i810 shrunk 249946 bytes (655965->406019)
- gtk2 shrunk 308952 bytes (20696815->20387863)
- fedora-release-notes shrunk 329470 bytes (12271152->11941682)
- firstboot shrunk 356968 bytes (783521->426553)
- cairo shrunk 423604 bytes (1623706->1200102)
- control-center shrunk 492635 bytes (8945618->8452983)
- gnome-media shrunk 782217 bytes (4946507->4164290)
- e2fsprogs shrunk 904410 bytes (2366733->1462323)
- device-mapper shrunk 917957 bytes (1027430->109473)
- gnome-themes shrunk 1007647 bytes (4994173->3986526)
- xkeyboard-config shrunk 1188506 bytes (3043679->1855173)
- lvm2 shrunk 1386888 bytes (2186994->800106)
- xorg-x11-server-Xorg shrunk 1410978 bytes (7431876->6020898)
- hwdata shrunk 1768168 bytes (2833960->1065792)
- python shrunk 1870258 bytes (18499208->16628950)
- xorg-x11-fonts-Type1 shrunk 1919814 bytes (2803806->883992)
- ncurses shrunk 2311863 bytes (2562051->250188)
- selinux-policy-targeted shrunk 3623635 bytes (27306881->23683246)
- gdm shrunk 6450348 bytes (14040436->7590088)
- gnome-applets shrunk 8005406 bytes (26478262->18472856)
- firefox shrunk 39666395 bytes (42009290->2342895)
- removed package fonts-gujarati: 0
- removed package fonts-korean: 0
- removed package scim-lang-kannada: 0
- removed package fonts-arabic: 0
- removed package fonts-punjabi: 0
- removed package fonts-oriya: 0
- removed package fonts-chinese: 0
- removed package scim-lang-tibetan: 0
- removed package fonts-kannada: 0
- removed package fonts-bengali: 0
- removed package fonts-hebrew: 0
- removed package fonts-hindi: 0
- removed package scim-lang-assamese: 0
- removed package fonts-sinhala: 0
- removed package scim-lang-sinhalese: 0
- removed package fonts-tamil: 0
- removed package fonts-telugu: 0
- removed package fonts-malayalam: 0
- removed package m17n-contrib-urdu: 3608
- removed package m17n-db-assamese: 6079
- removed package m17n-db-kannada: 7749
- removed package m17n-contrib-kannada: 8717
- removed package m17n-contrib-sinhala: 11327
- removed package m17n-contrib-assamese: 12581
- removed package m17n-db-sinhala: 14228
- removed package m17n-db-tibetan: 15214
- removed package xorg-x11-drv-ark: 18888
- removed package xorg-x11-drv-tseng: 52907
- removed package xorg-x11-drv-s3: 58401
- removed package scim-sinhala: 66881
- removed package totem-plparser: 70428
- removed package libbeagle: 94156
- removed package xorg-x11-drv-avivo: 107204
- removed package xorg-x11-drv-chips: 154533
- removed package lohit-fonts-kannada: 210687
- removed package fuse: 216231
- removed package beecrypt: 242015
- removed package lklug-fonts: 333507
- removed package xorg-x11-drv-via: 363192
- removed package xorg-x11-fonts-ethiopic: 437981
- removed package SDL: 495206
- removed package curl: 514238
- removed package firstboot-tui: 653472
- removed package xorg-x11-fonts-truetype: 909077
- removed package db4o: 1414265
- removed package jomolhari-fonts: 2293163
- removed package pwlib: 2423701
- removed package evince: 3452782
- removed package aspell-en: 3567971
- removed package tibetan-machine-uni-fonts: 4529886
- removed package dejavu-lgc-fonts: 6293390
- removed package opal: 10988583
- removed package ekiga: 13323689
old has 896 packages
new has 885 packages



posted at: 07:23 | link | Tags: , | 0 comments

Wed, 16 Jan 2008

FUDCon

So FUDCon happened over the weekend in Raleigh, North Carolina. It was a great chance to meet a bunch of new people, catch up with some old friends, and kick around in the south for a bit. I was amazed to see such a huge turnout for the first day of the hackfest. It was nice to see a ton of new contributors looking to dive in head first into projects. My goal for the day was to hack on the MyFedora framework, and solidify our architecture and base widget classes, making it easy to create and display your own widgets. It's probably safe to say that we exceeded those expectations.

I sat down with J5, Toshio, and Douglas Warner, fired up a Gobby instance, and started hacking. Thanks to the wonders of distributed source control (git!), TurboGears, and Gobby, we were all able to simultaneously run, commit, and hack on the code. The result of our days work turns out to be a pretty solid architecture for writing, configuring, and displaying reusable Python widgets (based on ToscaWidgets) that can pull from various data sources. For example, writing a widget to display the latest entries in an RSS feed couldn't really be much easier:

class FedoraPeopleWidget(RSSWidget):
    url = 'http://planet.fedoraproject.org/rss20.xml'
    title = 'Fedora People'

The next day during the MyFedora session we got a chance to show off some of the work we did, and get some more ideas from various types of contributors. This project has the potential to make a lot of peoples lives easier, so if you're interested in helping out, grab the code and dive in: $ git clone git://git.fedorahosted.org/git/myfedora.git

Toshio and I gave a session on TurboGears, which seemed to go pretty well. Lots of good discussion and code examples. You can checkout the slides for my presentation here: http://tg.lewk.org.

I was going to be giving a session on bodhi, which we eventually merged with the TurboGears talk. However, the TG session went a lot longer than expected, and bodhi never emerged. So, for those who were interested, you can find my bodhi slides here, and some transcripts from our last virtual fudcon.

The PackageKit session went well too. People definitely were interested, and also had some interesting ideas.

Saturday night was FUDPub, where we had the back room of the Flying Saucer all to ourselves. People kept feeding me drinks, and I didn't complain. Good times :)

Sunday was the second day of the hackfests. I decided to context-switch a bit and get my func on. I wrote a patch that adds a "mem" method to the ProcessModule that returns per-program memory usage from your minion in the format of [[Private, Shared, Total RAM used, Program], ...]. This allows you to do something like,

[lmacken@crow ~]$ sudo func "*" call process mem
on https://tomservo:51234 running process mem ()
[['16.8 MiB', '6.5 MiB', '23.4 MiB', 'Xorg'],
 ['21.7 MiB', '8.3 MiB', '30.1 MiB', 'tomboy'],
 ['33.6 MiB', '2.3 MiB', '35.9 MiB', 'ssh (5)'],
 ['23.2 MiB', '14.3 MiB', '37.5 MiB', 'deskbar-applet'],
 ['139.9 MiB', '9.9 MiB', '149.8 MiB', 'firefox-bin']]

I also discussed a potential TurboGears FuncWeb implementation with Michael DeHaan. I got a chance to create create a skeleton project, and jot some ideas down. Just as I was about to dive in, I got a phone call notifying me of my flight cancellation. I then had to immediately sketch off to catch a 2:20pm flight and head back to Boston.

Last night I got a little bit A.D.D. and re-wrote some chunks of the func minion module_loader/server to make writing func modules a lot easier.

So, the moral of the story is: FUDCon rocks. Feeding large quantities of geeks caffeine, beer, and barbeque can result in amazing things.

Of course there are no ups without downs, so I was stuck dealing with a nasty cold most of the time there, and my laptop power adapter melted as well. Thankfully, both of those issue have since been resolved :)



posted at: 11:21 | link | Tags: , , , | 0 comments

Sat, 08 Dec 2007

Fedora update metrics

Using flot, a plotting library for jQuery, I threw together some shiny metrics for bodhi. It's pretty amazing to see how a Fedora release evolves over time, with almost as many enhancements as bugfixes. This could arguably be a bad thing, as our "stable" bits seem to change so much; but it definitely shows how much innovation is happening in Fedora.

I should also note that the data on the graphs may look different than the numbers you see next to each category in the bodhi menu. This is due to the fact that updates may contain multiple builds, and the graphs account for all builds in the system.

When I get some free cycles I'd like to generate some metrics from the old updates system for FC4-FC6. I can imagine that the differences will be pretty drastic, considering how the old updates tool was internal to Red Hat, and that the majority of our top packagers are community folks.



posted at: 19:05 | link | Tags: , , , , , | 0 comments

Fri, 07 Dec 2007

RIP Zod


Zod is no more!



posted at: 16:45 | link | Tags: | 2 comments

Tue, 20 Nov 2007

make update

I updated Fedora's Makefile.common to support an 'update' target, which has now been comitted. This gives developers the ability to push an update into bodhi with a single command.

Once your package has been built, jump into your branch and do the following:

[lmacken@tomservo F-8]$ make update
This will drop you into a template where you can specify various fields. Any bug numbers mentioned in the most recent RPM ChangeLog will be pre-populated as well.
# [ nethack-3.4.3-15.fc8 ]
# type=[S|B|E] (S=security, B=bugfix, E=enhancement) (required)
# request=[T|S] (T=testing, S=stable) (default: testing)
# bug=123,456
# all other text will be considered to be part of the update notes
type=B
bug=221948,221692

Make and save your changes, and then your update will be submitted to bodhi.

Creating new update for nethack-3.4.3-15.fc8
Update successfully created

================================================================================
     nethack-3.4.3-15.fc8
================================================================================
    Release: Fedora 8
     Status: pending
       Type: bugfix
      Karma: 0
    Request: testing
       Bugs: 221948 - nethack-recover looks in the wrong directory
           : 221692 - Nethack font warning
  Submitter: lmacken
  Submitted: 2007-11-20 14:25:55

  http://admin.fedoraproject.org/updates/F8/pending/nethack-3.4.3-15.fc8

See the UpdatingPackageHowTo for more information on updating your packages. You can find more details on the bodhi console client here.



posted at: 00:00 | link | Tags: , | 2 comments

Tue, 13 Nov 2007

bodhi command-line client

The bodhi-client package should be making its way to an updates-testing repository near you! Not only does this command-line tool give developers easier access to bodhi, but also provides some new features to help people get more involved with testing updates and providing useful feedback.

I wrote up some documentation on various usage examples of the tool, which can be found on the bodhi wiki. I also submitted a Makefile.common patch that, once applied, will allow you to run `make update` from your package branch. This will drop you into a new update template, and will then submit your update straight to bodhi.

Some noteworthy features in the bodhi-client, aside from the normal bodhi functionality:

I also upgraded our production bodhi instance yesterday, which pulled in a ton of bugfixes and some new features, such as:

As always, patches/questions/criticisms/comments are welcome. You can file tickets in the usual place. Happy hacking!



posted at: 09:42 | link | Tags: , , | 0 comments

Thu, 25 Oct 2007

Shiny new Security LiveCD

The Fedora-based security livecd that I created a little while back is coming along quite nicely. I have yet to submit it to become an officially blessed Fedora spin, mainly because I didn't want it to be Yet Another gnome-based livecd with a bunch of extra packages shoved into it. If we're going to try and even remotely compare to existing livecds such as backtrack, we're going to have to try a little bit harder :)

I've gotten multiple requests from people asking for a minimal security livecd, with something a bit slimmer than GNOME, preferably *box. Being a proud openbox user for the past 6 years -- I gladly complied. So, the other day on the bus ride home from work, I re-based the spin against the minimal configuration, and tweaked out the openbox configuration quite a bit.

The default openbox menu contains a few boilerplate entries, most of which are for applications that don't even exist in a default Fedora install. I went ahead and threw together a menu that is categorized by the type of security tool in the spin. I also wanted the ability for users to have access to the same menu entries as our default GNOME menu. To accomplish this, I hacked up a dynamic openbox pipe menu, which generates the same menu hierarchy as the GNOME application menu, on-the-fly :)

#!/usr/bin/python -tt

import gmenu

def walk_menu(entry):
    if entry.get_type() == gmenu.TYPE_DIRECTORY:
        print '<menu id="%s" label="%s">' % (entry.menu_id, entry.get_name())
        map(walk_menu, entry.get_contents())
        print '</menu>'
    elif entry.get_type() == gmenu.TYPE_ENTRY and not entry.is_excluded:
        print """
            <item label="%s">
              <action name="Execute">
                <command>%s</command>
              </action>
            </item>
        """ % (entry.get_name(), entry.get_exec())

print "<openbox_pipe_menu>"
map(walk_menu, gmenu.lookup_tree('applications.menu').root.get_contents())
print "</openbox_pipe_menu>"

Patches/comments/suggestions/criticism welcome! See the SecurityLiveCD wiki for more details on how to spin your own and get involved.



posted at: 00:00 | link | Tags: , , , | 5 comments

Sat, 15 Sep 2007

bodhi 0.2.0

I'm pleased to announce that bodhi 0.2.0 has been released and deployed. This release has fixed a ton of issues and introduces many new features, such as:

This release introduces many database changes from the previous version, so it will be much easier to jump back into the release-early-release often cycle.

Soon to come:

I would also like to thank Till Maas and Tim Lauridsen for taking the time to help out and do some great work.

There is still much to be done with bodhi, so if you're interested in helping out, you can setup a local bodhi development playground with just a few commands and dive in.

As always, please file any bugs or enhancement requests here.



posted at: 10:44 | link | Tags: , , | 0 comments

Fri, 07 Sep 2007

</college><real world>

After a 2+ year long internship, I have accepted a full-time job offer with Red Hat, Inc. As far as I know, I'll be mainly working on the Fedora Project -- and since Fedora encompasses and innovates the open-source world, the opportunities are pretty limitless.

I'm extremely grateful to be able to work with an incredible community, and an amazing company full of brilliant minds. I look forward to helping open source take over the world.

Also, thanks to whoever filled my cube with Fedora 6 ppc DVDs, and various half-empty packs of gum. Much appreciated ;)



posted at: 00:00 | link | Tags: , , | 4 comments

Wed, 15 Aug 2007

Bodhi Presentation at Virtual FUDCon

I'm going to be giving a presentation on Bodhi at the Virtual FUDCon August 15th at 1900-2000 UTC (3pm EST). I'll be covering the past, present, and future of Fedora updates, as well as diving into some technical aspects of the Bodhi project. If all goes to plan, this will be a live audio-enabled presentation, where people can follow the slides as well as converse on IRC. I try to post my slides, and [hopefully] a recording of the presentation next week.

*Update* You can find the IRC transcripts from my presentation here, and my slides here.



posted at: 23:49 | link | Tags: , , | 0 comments

Tue, 14 Aug 2007

gobby

So today I setup a Gobby server for us Fedora hackers to play around with. This will allow people to collaborate in real-time on code, notes, whatever. With the VirtualFUDCon this week, it may be a good place to collaborate on ideas and such. To check it out, install 'gobby', and connect to publictest2.fedora.redhat.com. This is a test instance, so be sure to save everything that you expect to keep, and feel free to drop your comments/suggestions in the 'sobby notes' document.



posted at: 00:25 | link | Tags: , | 0 comments

Sat, 19 May 2007

Security LiveCD

So last week I created an initial version of a potential Fedora Security LiveCD spin. The goal is to provide a fully functional livecd based on Fedora for use in security auditing, penetration testing, and forensics. I created it as a bonus project for my Security Auditing class (instead of following the 5-pages of instructions on how to create a Gentoo livecd that she handed out (mad props to davidz for creating an amazing LiveCD tool)), but it has the potential to be extremely useful and also help increase the number and quality of Fedora's security tools. I threw in all of the tools I could find that already exist in Fedora, but I'm sure I'm missing a bunch, so feel free to send patches or suggestions. I also added a Wishlist of packages that I would eventually like to see make their way in Fedora, after the core->extras merge reviews are done.

I would eventually like to see Fedora offer a LiveCD that puts all of the existing linux security livecds to shame. We have quite a ways to go, but this is a start. I'm taking a computer forensics class next quarter, so I will be expanding it to fit the needs of our class as well.



posted at: 14:15 | link | Tags: , , , , | 0 comments

Fedora Infrastructure Project notifications and IRC hackery

I started a Fedora Infrastructure mugshot group the other day, and hooked it up to the Timelines of some of our Infrastructure projects that are currently under development: smolt, bodhi, pungi, koji, mirrormanager, presto, and beaker. This will keep members of the group notified of code commits, ticket activity, as well as wiki and milestone changes.

Recently, Bugzilla hacker Max Kanat-Alexander setup a new Supybot IRC bot for us in #fedorabot that spits out Bugzilla activity in real time. I quickly threw together a Fedora plugin that will allow us to implement some useful functions to help out users and developers. At the moment, I only created a whoowns command.

<lmacken> buggbot: whoowns nethack
<buggbot> lmacken: nethack is owned by lmacken@redhat.com

With Fedora 7 and a bunch of shiny new infrastructure right around the corner, I'm sure we'll be able to do some fun things with this. If you're interested in hacking on this plugin, you can clone my mercurial repository by doing the following:

$ hg clone http://hg.lewk.org/fedora-supybot



posted at: 14:15 | link | Tags: , , | 0 comments

FUDCon 2007

So FUDCon went down last weekend, and was an absolute blast. My plane landed and I went straight to BU and arrived right while people were voting on sessions. It was great to finally meet and chat with a ton of Fedora hackers that I've been collaborating with for quite some time now.

I caught Bryan Clark's Mugshot session, where he talked about some future ideas and goals for mugshot. A potentially badass idea that he mentioned entails monitoring application usage patterns, which could help everyone get a good idea as to what programs are used and how much. Both great software, and heavily used shitty software, will shine. This will help the community get a jist of what needs work and what should be focused on / improved. But it doesn't stop there, another idea mentioned was to have mugshot maintain basic application settings (email, rss, aim, etc) and allow users to be able to load them from anywhere.

After FUDCon we headed to the FUDPub where everyone indulged as much free beer/food that our stomachs could[n't] handle. I got a chance to chat with many people, one being a guy from Pepper, who showed off his Pepper Pad a bit. I talked with him about how he can get Pepper more involved with Fedora (we have overlaps in terms of infrastructure and such, and can greatly benefit from collaborating (especially on their end, since they are stuck maintaining FC4 which is what their platform is based on)), and get their code out into the public.

Saturday night involved our hotel room filled with 10+ fedora hackers, an OLPC, the buddha machine, and a handle of Tanqueray. Good times ensued (without any ambulance involvement).

During the two days of hacking that followed FUDCon, I definitely didn't write as much code as I had hoped, but I got a chance to have some great conversations with a ton of people.

Much discussion was had about making Fedora a BugBuddy that can help make it trivial to submit non-useless bug reports:

  • anonymous bug creation against components
  • Provide a smolt uuid for complete hardware list of users machine
  • Ability to acquire proper debuginfo packages and reproduce useful traceback
  • Hash traceback (after cleaning it up a bit) and check it against a Traceback DB to see if there are any bugs already opened for that issue (suggested by Peter Jones during the Fedora QA talk).
Ideally, our software should be able to correctly file bugs against itself.

With the emergence of our shiny new hardware profiler Smolt, Fedora users can now anonymously submit hardware information. Not only is acquiring metrics a good thing, but this could potentially give people the ability to report issues by simply simply referencing a unique id. This requires some knowledge in Bugzilla, but if we had our own Bugzilla playground we would be able to experiment with features such as the traceback database, and smolt integration. Our fearless QA leader, Will Woods, began setting up a bugzilla instance for experimenting with the crazy ideas during the hackfest.

What seems like a continued effort to make fedora more of a 'Buddy', we also had some discussions about a CodecBuddy that will essentially detect when you first attempt to play a file that requires an evil proprietary codec. It will then educate the user on the implications of proprietary codecs, provide details on alternative open formats, and let users click on a link to legally acquire this codec, with of course the ability to say "hell no" to sustain your hardcore 100% open source mentality :)

Some other cools stuff that I observed go down was a graphical yum repository configuration tool called repoman that Chris Lumens was working on during the hackfest. The yum guys also got a bunch of stuff done, most importantly adding support to createrepo for inserting sqlite db files into repositories.

Many other technical items were discussed, but we also got a chance to step away from the bits for a little while and really talk about the current state of "collaboration" on the internet, and what we'd like to see Fedora do to push the bar in terms of innovation of social collaboration; but that is for another blog post :)



posted at: 14:15 | link | Tags: , | 0 comments

Mon, 07 May 2007

bloatware

I'm usually not one for unproductive ranting, but I noticed this right after a fresh rawhide bootup...

[lmacken@tomservo ~]$ sudo ./ps_mem.py
 Private  +   Shared  =  RAM used       Program 
[...]
 17.7 MiB +   5.3 MiB =  23.0 MiB       setroubleshootd
 13.4 MiB +  11.2 MiB =  24.6 MiB       /usr/bin/sealer
 51.9 MiB +   2.9 MiB =  54.8 MiB       yum-updatesd

I'm sorry, but most of my machines don't have this kind of memory to spare. Is Python to blame? As far as interpreter overhead, maybe a little bit, or could it be the sheer simplicity and power of the language which is allowing it to be abused?

I'd be interested if anyone has any tips/tricks for slimming down Python daemons.
I'd be thankful if someone did something about it.



posted at: 18:25 | link | Tags: , | 4 comments

Wed, 02 May 2007

Creating a Fedora Security Live USB key

Here is how to easily create a security-distribution based on what will eventually be Fedora 7. This requires that you be running FC7Test* or rawhide, as the livecd-tools are not currently available for FC6.

Prepare the USB key
You may not need to do this for some USB sticks, but I had to remove all partitions on my Cruzer Micro and format the whole thing as vfat to get it to boot. Make sure to change /dev/sdd to your USB device.

# mkfs.vfat -I /dev/sdd
Spin the livecd
# yum install livecd-tools mercurial
$ hg clone http://hg.lewk.org/security-livecd
$ cd security-livecd
# ./spin-livecd.sh

Copy the ISO to your USB stick

# livecd-iso-to-disk Fedora7-SecurityLiveCD.iso /dev/

Interested in helping make the Security LiveCD better? See the SecurityLiveCD wiki for more information.



posted at: 01:24 | link | Tags: , , , | 37 comments

Wed, 14 Feb 2007

bodhi

So I've been spending the majority of my free time recently getting the new Fedora Updates System ready for Fedora 7, which is quickly approaching. Since the code is going to exist in multiple instances for different projects (Fedora, RH, etc), and is already fairly modular and distro-independent, I decided it would be best to give the code a new name, and a new home: Bodhi emerged. Being hardcore into Zen recently, I feel like the name seems to fit the goals of the project nicely.

A Buddhist term for the wisdom by which one attains enlightenment. Bodhi is the opposite of ignorance, the insight into reality which destroys mental afflictions and brings peace.

Previously, the updates system code was in CVS, and bugs were to be filed in OTRS, which ended up being extremely painful to work with. After switching to our new shiny hosting setup, Bodhi is now using Mercurial for source control, and Trac for managing the project milestones, bugs, and documentation. Overall, I've been extremely impressed with Mercurial and Trac so far.

Here are some screenshots of the current development version. More screenshots can be found on the bodhi wiki.

So what's going to change for Fedora developers? Well, currently any [extras] developer can push out updates to their packages for any release with ease (cvs commit && make tag build). If your updated package fixes 4 bugs and 2 CVE's, the end user who is blindly installing this update has no idea. Not only is there no differentiation between bugfix/enhancement/security updates, but none of them go through any sort of QA whatsoever. This is what bodhi is aiming to change.

I've been designing this system completely independent of any Buildsystem (mainly because the unveiling of brew is still churning slowly), so the process of building packages is going to remain the same (for now). Once your packages is built, you will enter it into bodhi via a web form, or [eventually] a command-line tool (Ideally, I'd like to see the process of preparing/testing/releasing a package to be a single point of interaction; either completely from command-line or in web interface). From here, your update will undergo various checks (and will eventually dispatch tests to the beaker test lab). If all goes well, your update will get signed and pushed, all referenced Bugzillas will be updated/closed, and an update notification mail will be sent to the appropriate list.

updates-testing is currently our "testing" repository that developers can choose to push their updates out to before going to 'final'. This is not very appealing for devs, as it requires them to 'Move to final' after a certain amount of time when they feel it is necessary, and the system will nag them if they don't. The updates-testing repo is not widely used, and gives testers no incentive or way to give feedback, other than filing a bug. One of the goals of bodhi is to require all updates to go through the updates-testing process, and provide a simple interface for developers/testers/users to provide positive/negative feedback regarding an update, and also make it trivial to submit bugs about them as well (we threw around some ideas about making a reusable QA feedback widget for this at a recent Fedora QA meeting). After a certain number of positive responses (or after a given length of time with no negative responses), an update will then able to make it's way to the stable updates repository.

Hackery
I've written a ton of code so far, but there is still much work to be done to accomplish all of the goals mentioned above. I layed out a few milestones for bodhi, 1.0 being the minimal functionality needed for the release of Fedora 7. I also added a 1.1 milestone for features that aren't crucial for minimal functionality, but are definitely important, and also a wishlist milestone for features that might be nice to have someday (metrics, rss feeds, etc).

With FUDCon and the Fedora Infrastructure HackFest coming up, I'm encouraging anyone interested to dive in help out in any way they want. If you can't make it out to Boston, just hop on IRC. If you would like to see a feature in bodhi, feel free to add a ticket to any of the milestones.

This system holds much potential for revolutionizing the way Fedora releases evolve, and how developers and testers interact with it. Since this is going to be utilized by all package maintainers, it's important that the system is molded to fit the needs of the developers and testers; so if you have any suggestions/improvements/fixes, don't hesitate: Contribute.



posted at: 21:12 | link | Tags: , , | 1 comments

break

So my Thanksgiving break was far from a break. I spent a couple of days last week at Red Hat's westford office before heading back up to RIT to start a new quarter. In my two days in the office I was able to touch base with a bunch of people, and get a bunch of stuff done as well. I had a long discussion with dmalcom about integrating the Fedora Updates System with Beaker/TableCloth. He also gave me a quick rundown on a bunch of the Red Hat QA infrastructure that is currently being used. Ideally we'd like to be able to crunch all package updates through an automated test system before pushing them out to the world. Involvement needed: FedoraTesting.

Later that day I met with jrb and jkeating about getting a package updating system in place for a new Red Hat product that is going out the door very soon. This means that much work will be going into the new UpdatesSystem in the near future, which means I get to dig deeper into the world of TurboGears :)

On thursday I cranked a bunch of code out, but was fairly distracted most of the time by the OLPC laptops that were lying around the office. I must say, it is an absolutely incredible machine. The screen is gorgeous, and it's camera is very impressive. I hung around later at the office for an OLPC hackfest that was going down.

I was busy working on the updates system most of the time, but then later on I started looking into some Python start-up issues, which can be seen by doing:

	strace python 2>&1 | grep ENOENT
You'll notice a ton of syscalls like the following, which try to open/stat modules in locations that do not exist:
stat64("/usr/lib/python24.zip/posixpath", 0xbfdb5094) = -1 ENOENT (No such file or directory)
PrivoxyWindowOpen("/usr/lib/python24.zip/posixpath.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
PrivoxyWindowOpen("/usr/lib/python24.zip/posixpathmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
PrivoxyWindowOpen("/usr/lib/python24.zip/posixpath.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
PrivoxyWindowOpen("/usr/lib/python24.zip/posixpath.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (N o such file or directory)
stat64("/usr/lib/python2.4/posixpath", 0xbfdb5094) = -1 ENOENT (No such file or directory)
PrivoxyWindowOpen("/usr/lib/python2.4/posixpath.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No su ch file or directory)
PrivoxyWindowOpen("/usr/lib/python2.4/posixpathmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
PrivoxyWindowOpen("/usr/lib/python2.4/posixpath.py", O_RDONLY|O_LARGEFILE) = 5 

So it's obvious that modules could exist in multiple locations, but if you are repeatedly going to check a series of directories, such as /usr/lib/python24.zip, wouldn't it be a *bit* smarter to check if they exists first, and then avoid checking there in the future? Doing so would help cut down from the 233+ syscalls python makes while starting up looking for modules. I really don't have any free cycles to try and add some sense into Python, so I really hope someone can beat me to a patch.


TurboGears 1.0b2


I came back home to find the new TurboGears book in my mailbox, which has been extremely informative, aside from the fact that the project has awesome online docs as well. I pushed out the latest TurboGears release, 1.0b2, for FC6 and rawhide yesterday as well.



posted at: 21:12 | link | Tags: , , , , | 0 comments