20 May 2006 (Sat)
00:30:09
#
Life
i18n BOF.
How the translation process should be governed.
- Rosetta reduces the sense of ownership in translation, which is against the current motivation source.
-
Some countries' government fund translation; but they use different tools for us.
-
We currently focus translation on unstable, not on testing.
However, having a statistics about difference on unstable and testing would be good, so that packages can be pushed into testing, at release time.
-
IRC channel is on #debian-i18n. It is on OFTC, not on freenode.
On a different note, I've been analysing the dmesg messages on the wlan card.
It looks like the messages are generated from linux-wlan-ng sources,
something is returning -EIO when it's not really expected.
- src/prism2/driver/hfa384x_usb.c(hfa384x_usbctlx_complete_sync) This results in -EIO: CTLX[3] error: state(Request failed)
- src/prism2/driver/prism2sta.c(prism2sta_commsqual_defer): prism2sta_commsqual_defer: error fetching commsqual
-
src/p80211/p80211conv.c(skb_p80211_to_ether): skb_p80211_to_ether: OTHER frame too large (2934 > 1500)
01:28:38
#
Life
About X and its history.
- V kernel, W window system, X.
X9 never existed.
X1-10 weren't extensible, new protocol required when adding e.g. color.
- X11 added extensibility.
- 1987 collapse of internet. Pre van-jacobsen TCP/IP code.
Lost packet meant re-transmit whole window.
Network slowing down meant re-transmit flooding the network.
Communication between Digital and MIT stopped.
Starting doing Fedex.
-
Give up internet; formed central development, hiring developers.
Consortium required money.
Corporate privilege meant access to source-code in-development.
-
X386 (VGA) code included in X11R5. Much money required for even inclusion of code.
-
XFree86, name play on closed-source X386. Gang-of-four.
-
XFree86 ignored by X Consortium.
Created a coorporation to join X Consortium.
However, still ignored.
-
XFree86 weren't interested in protocol and toolkits, but the drivers for cards.
-
X Consortium shuts down, The Open Group obtains
control. TOG wanted revenue stream for support, doesn't
really want free license. However, XFree86 wins control.
But that meant XFree86 meets the burden of full X.
-
X Consortium had some developers during 1986-1996.
TOG also had some developers.
-
TOG subgroup for X, hire consultants for bugfixes.
Most bugfixes actually come from XFree86
-
Market move over from proprietary to XFree86-related hardwares.
Commercial Unix vendors start relying on XFree86 code.
-
Most people except one person lost interest in XFree86,
but Cooporation is left as it is. The only person
remaining becomes the dictator.
-
Developers were ejected from project in fear of loss of
control, and a new license. XFree86 falls apart.
-
Xorg resulted in a flat community, rather than layered cabal.
-
Lesson: Governance matters; quick fixes last a long time;
stay involved, stay open.
05:31:18
#
Life
shared library packaging by Josselin Mouette.
-
API breakage, source level change. ABI, binaries need rebuild. SONAME signifies ABI.
-
API breakage, bump -dev package name.
- ABI breakage, change SONAME
-
Library transitions: ask the release team before upload!
- upload to unstable, and rebuild
- upload to experimental and work
- upload several versions of sources
- case study: gconf. /usr/lib/gconf2/gconf should be
located in /usr/lib/libgconf2-4/gconf to solve problems
with circular dependency.
-
Unstable ABI: HDF5, always changing interface, with same
SONAME. Mozilla, always changing interfaces. Handle
SONAMEs specifically for Debian, although it will break
binary compatibility with other distribution. (But what is
compatibility, really?)
- exporting all symbols is bad.
-
libtool options to allow only the symbols: -export-symbols-regex Mix_.*
-
Use -Wl,-Bsymbollic.
-
mysql; Debian symbol versioning differs from upstream,
since upstream took different name to symbol the version.
-
Relibtoolize with Debian libtool, so that indirect shared
library dependencies are removed.
-
Removing .la files is dangerous unless everyone provides pkgconfig data.
pkgconfig now allows specifying private libraries.
-
GNU ld, --as-needed, removes unneeded dependencies.
However, libtool recently broke this option.
This option is not very widely supported by upstream,
and many people consider it a hack.
-
Q. libpkg-guide, what's outdated?
A. libfoo3-dev, shouldn't be necessary.
Required updates to libpkg-guide
- done: -DEV package name recommendation change
- .pc favoured over .la
- done: libXcursor, libXrender .la files missing from the dependency chain will break.
-DEV dependency.
e.g. 363239.
.la files were removed by mass-bug-reporting, such as
363057, or with binNMUs.
Removing .la files had to start with leaf libraries.
- done: Removing indirect shared library dependency
- done: ld --as-needed
- done: -export-symbols-regex
- Documenting API/ABI/SONAME clearly
- done: pkgconfig section is required
- document pkgconfig
- removing indirect dependencies introduced with libtool
- cautions of libtool .la removal