31 May 2004
SPI Workshop by Benj Mako Hill.
A non-accurate transcription.
TODO: update from what's on photograph.
- What SPI do
- Bylaws fix
- trademark -- required for getting power behind saying Debian is our name
- holding assets
- donations (money) -- not required to be in US, but helps
- Keeping books
- What SPI should do
- Intl. offspring -- for donations in other countries. (UK is doing that at the moment, Germany, Italy, etc.). SPI is not the only organization which support Debian.
- Money in a country stays in a country, could we formalize that?
(see for example, FSF, FSF Europe, etc. They are basically different organizations)
Copyright assignment: SPI web page is under open publication license which is now deemed non-free by debian-legal. It's difficult that original contributors are holding the copyright to convert the license.
Bdale: How many voted? (few hands go up) Is everyone interested in voting?
(many rise hands)
SPI isn't just for Debian, is that a problem?
What are the implications of changing, for example, the name of
SPI to "Debian Foundation"?
My presentation on pbuilder.
There were interesting responses such as pbuilder usage
against upload-queue, adding support for running pbuilder before dupload/dput etc.
The presentation is available on my debconf4 page.
mgp -g 640x480 -D 20040530-pbuilder.d 20040530-pbuilder.mgp
vorlon commented that dpkg-checkbuilddeps should work with pbuilder
for installing packages, I may try looking into it.
Bdale: porting talk.
I've had been to Forro last night and I'm not thinking clearly...
alpha, sparc; interest in ports.
arm: netwinder running RedHat, inside chroot.
hppa: startup company in canada. PA-RISC community.
Distribution with kernel.
Started autobuilder; concurrently developing kernel space
ia64: self-hosting. tausq motivated Bdale to do it.
Bdale got hired back by HP.
Developer increase graph is flat (there is a dip when we closed new maintainer, but not only the.
Developer distributed all around the world,
varying economic environment.
Package count increase is pretty linear.
How many people have more than one architecture? (many people rise hands, more than in Toronto Debconf2).
Porting requires "can-do" attitude, positive.
dpkg requires full sgml toolchain.
Tools for porting; packaging system.
Porting problems; programmers are lazy.
- ia64; LP64 int=32, long/ptr=64; need to define return type for ptrs, including header file.
- Different compilers and different kernels on diff arches.
2.0/2.2 weren't very different.
2.4, 2.6 have different modules etc., it would be more challenging.
How to help; please check warnings from compilation.
Implicit declarations may be fatal.
testdrive.hp.com; shell login for different architecture.
There are more notes on Debconf4 presentations for June 2004 entry.
30 May 2004
Spent all day in a social event in the
Gramado city; visiting Canela falls, and
The lunch was very sweet; too sweet for my taste, but
I guess strong flavor is Brasilian style.
Japanese style is too zen to them.
Hacking on dsh to add a feature wishlist 249794.
Adding another testsuite to the number of tests, and
getting code included as patch to bug.
I've verified with this operation that
versioned symbols is somewhat working with libdshconfig.
Been looking at my pbuildd failure logs and noticed that
Frederic Schueler has been filing and sending patches against
FTBFS bugs on those packages already. Hmm... quick job.
Kenshi Muto and (chris) Bubulle on I18N on Debian.
Bubulle Starts talking in Brazillian Portugueze, then in English..
Reasons to be in Debian; bad reasons ? Good reasons.
Not because my girlfriend is a DD, etc.
Believe in free software,
Promote free software, around the world, world domination!
Globalization is a concern to all Debian contributor.
Target: School, Governmental organizations.
Manpower: DDs, motivate users who cannot hack but can translate, Governmental organizations.
Globalization may require manpower initially but may introduce more manpower to Debian.
Who speaks what language and Debian stats.
240 langs, of which 15 fills 80% of world.
debian-installer covers 67%.
WWW, debconf templates.
A lot of strings in i18ned Debian packages are untranslated.
fr,de,es have more than 50%.
WWW sites; requires technical skills for handling WML.
No automated framework for proof reviewing and status.
- debconf templates: good infrastucture; po-debconf transition 550/765.
infrastructure for tracking bug reports and changes.
Bug reports are posted to a mailing list to be added to the DB, and script finds when a bug is closed.
Debian specific packages are hard to follow.
NEWS.Debian; there is no translation infrastructure.
debian-installer, 1st stage 67%, 2nd stage 61%, 3rd stage 35%.
42 teams (most teams are lone-teams), >100 commiters in SVN.
Installer g11n; strings freezes; we need it.
We are still missing languages, India/Pakistan, africa, Klingon.
We need Bidi support.
- Please use debian-l10n-english.
l10n to be part of release process; please give string-freeze.
- Word processors; (A) localized menu and nonlocalized content, or (B) nonlocalized menu and localized content.
which do you prefer? Most application implement A.
Japanese: top-to-bottom orientation.
Other languages have many different characteristics.
Character sets, set of acceptable characters
Encoding (encoded character sets) way of expressing character sets.
Japanese have multiple encodings, 0xa4 0xa2 (euc-jp), 0x82 0xa0 (shift-jis) expressing same character.
mojibake; mismatch in encoding or font mismatch (mozilla showing Japanese characters as iso-8859-1 shows greek characters), or screen (linux console does not handle japanese characters, they look like line characters unless using jfbterm), or bad toolkit
It helps fixing some problems but does not provide input localization etc.
Using non-ascii string in translation strings is bad.
Use toolkit library such as gtk+2.0, Qt.
Don't set default font statically.
For freetype, please use "serif, sans-serif, or monospace".
- Input method:
On terminal, don't worry about it, terminal handles it.
X application, only a few modern toolkit allows input; meaning only latin or ascii. GTK+ and Qt allows input from "imput method".
demonstration: input of alphabet, and converting them to characters before handing to application.
Use internal encoding for unification, not byte unit.
UCS-4 32-bit Unicode, libc iconv.
Wide character (wchar_t) which is legacy (mbscws):
according to gotom, it's not quite obsolete, it's standard.
Summary: Use modern toolkits for X applications, and
use internal encodings such as UCS-4,
and make your apps localization friendly,
UTF-8 does not include NULL-byte character, so
it is easier for communication.
But UCS-4 has fixed size, 32-bit per character.
UTF-8 and UCS-4 conversion is very easy.
There is different bytesize for characters utf-8.
pere: I've hijacked glibc locales upstream, it's got loads of bugs, so please find them and file those bugs to bugzilla or Debian BTS.
Check your locale's
date formatting, word sorting, value formatting etc.
29 May 2004
Componentized Linux, by Ian Murdock.
I missed most (almost all) of the talk trying to register myself into the
trip tomorrow at the front desk.
- The scale of package is large to work properly.
It may work, or may not.
CL is a distro building abstraction and not an installation abstraction.
- End goal is to be able to generate distributions from component.
It is a tool to create and maintain distribution.
- Directory structure: One distribution, "dists/cl", has components under it. Debian has "main", CL has many components..
- Demonstration of creating a CL of hello-2.1.1 by editing comp.xml file and running some script
- picax creates a distribution CD-ROM image?
28 May 2004
Steve Langasek; Dependency in Debian.
Dependency changes are hard things to track in Debian.
ELF allows dependency.
Deban is not doing much.
Build-chain; linked to a series of packages
A package depends on packages that really don't use,
libs depending on other libs pulling in dependency chains.
Out of 1522 lib pkgs in Debian, only 8 package survived with same soname since glibc migration.
Lockstep library version (RedHat method); change sonames of all related libs at once.
GNOME etc. centrally managed projects work with this.
Does not scale with Debian.
KDE/gnome are working this.
Rebuild all packages when a soname changes (the chasing out tail method)
High cost of maintenance. Does not scale
libtool 1.6, 1.5.6 prunes indirect dependencies.
pkg-config should also be fixed.
Scott James remnant made it not-suck!
cups-config etc. tools which predate pkg-config need to be fixed.
Solution: Versioned Symbols.
Fix once for libs, and recompile every package that uses these libs.
Potential patch for libtool to do it automatically?
Send it upstream.
Which is important: Compatibility with RedHat or running application without segfault?
Link optimization: -Wl,-O1, it will improve
hashing on shared library to speed up load-up.
- Feature available from Solaris.
glibc versioning evolved to avoid glibc versioning.
examples: krb, heimdal (libtool)
Matt Taggart: backporting BOF memos.
Backporting is done in a distributed manner, it should be better off with some centralization. Why is backporting required ?
- xset q, xset -dpms to save the screensaver before the presentation. (which wasn't enough to save the presentation)
- Backporting: newer to old release.
- Everyone in the room does a backporting of package, and uses backports with stable server
Many people are doing similar backports, duplicately.
- backport; apt-get source, new changelog entry, rebuild.
- version numbering; what to do when user moves to new release?
A scheme for version numbering?
- Dependency: Build-dependency, runtime dependency, policy/debconf/debhelper versions, recurse
- Release: apt-ftparchive. Recommend dividing apt-source lines logically. (otherwise requires apt-pinning work on user side.) Add Releases file for apt-pinning.
Tools to help backporting: debootstrap chroot, dchroot, and pbuilder. dch (dchanges: for setting up changelog automatically)
Use existing backport for dependency if possible.
It's like non-free compromise.
Handling the situation?
- reportbug could do a md5sum on package
- Will distract people from next stable release.
- Who is the maintainer? How do we atomize it?
The official maintainer should not be forced to make a backport?
- No security updates
- We are going to be doing it anyway. We are bugged by users for backports to stable.
- backporting actually gives better exposure.
We don't have any regression testing.
backport users should understand low-quality?
- Security situation is not much different with testing
openoffice has check in debian/rules that checks
if it is woody.
debian/control Build-Depends depends on libdb4|libdb3.
- Build-Dependency should be specified as little.
Not to be too specific.
greater-than is okay, equal is hilarious,
less-than is a no-way for porters (lamont)
- security is a user-education problem, not a technical problem.
'testing' currently is something that noone can run, but we really need something that is useful for "well-connected users" who don't want the stability of enterprise users (stable) and unstability of developers (unstable).
Having a testing with security update will reduce pressure on backporting.
Will users be using stable/backports when testing is usable?
Backport is a method developed to treat the symptom. (lamont)
Tried to set up uim-xim/anthy on amiga/ppc machine.
I had to set up XMODIFIERS and locales (LC_ALL and
locale.gen) with ja_JP.UTF-8
to get it working.
uxterm had Japanese input working.
To start uim, shift-space.
Input some alphabet, and pressing space will enter
Enter will select the character.
Caiperinha workshop last night was great.
27 May 2004
I've now arrived at Debconf SESC.
The entry was a bit crowded and confusing, but here I am
The airport taxi cost 30R$ to arrive to SESC from airport; is that a
reasonable amount ?
I have neglected to update my laptop for a while; and I'm paying the price for it now.
I'm recompiling the kernel to get pcmcia wireless card working.
I'm hoping to accomplish the following things:
- Talk about pbuilder with all the excitement
- Grab into debian-installer, and get Zaurus installing
- Update libpkg-guide with versioned symbols.
- what else was it I was thinking of?
Debian-installer session by JoeyH memo.
Hardware for d-i: We have Very old sparc, indy, netwinder, amiga.
Without d-i, architecture is to be dropped from sarge.
Where to put hardware? auditorium? hacklab? mini-auditorium seems to be good?
network is good but power supply is bad.
Decided to get on with auditorium.
two branches of d-i; unstable, testing -- for release.
Manually moving from unstable to testing, based on wishful thinking.
sarge-di only has debs from sarge. no shadow currently.
String-freeze is done. 28 languages to release.
list of tests; pcmcia network cards; etc.
We'll have a RC CD image.
2.6 raid problem, powerpc test is a bit shorter
(there is no oldworld?).
sparc test list is short.
- hotplug and discover, double work?
- test-report on debian-installer for people outside of debian-installer team.
The reports are getting more from "cannot install" to "package foo does not work"
Please test debian-installer in your own language at one time.
Even if you memorize messages, read the messages.
GNU build tools; Scott James Remnant (Keybuck)
Tips and tricks.
- autoconf, automake, libtool; maintained separately, and maintainers don't talk about. The number of people who love it are in the single digit
- autoconf; create configure scripts automatically.
creates feature-based test = really runs tests.
More portable and volatile.
- automake; a tool to making "GNU standard-compliant" makefile easier, with "clean, install" etc. target.
users don't need automake/autoconf installed.
- GNU libtool; behind the scenes: provide a command-line interface to build shared library to emulate an ideal world gcc.
prefix the command-line with libtool.
Automake puts it into behind-the-scenees.
Bdale's talk (PIC/non-PIC), Steve Langasek's talk (shared library naming).
libtool does the right thing in most cases.
GNU standards are loved by experienced package builders, but
the people who create makefiles don't really love them.
- configure scripts: configure.ac(in): shell code. m4 macro.
- Autoconf Myth; all I need for portability is to add a test to my configure.ac; only include a test if you use the result. AC_PROC_CC, AC_C_CONST, AC_PROG_LIBTOOL are used automatically;
many packages have malloc tests, do they real have replacements?
autoscan is useful to check what's required.
- aclocal; scans configure.ac to create aclocal.m4 to collect m4 macros.
aclocal1.8, use -I./m4, to remove requirement for running aclocal.
- m4 quoting rules; add a  every time you add a ().
To fix "underquoted definition"
automake; you can override rules; you can choose not to use automake on some dirs (e.g. gettext-generated Makefile).
set AUTOMAKE=automake-1.8, ACLOCAL=aclocal-1.8.
- libtool: .la might contain language information, to make possible using g++ to link C++ code.
Use -Lxxxx -lxxx, not /xxx/xxx/xxx.la.
Do not use -L/usr/lib, it will break multi-arch.
Linking library from the same source tree needs ./xxxxx.la. (.la is a note after .so (musical tone))
- autoreconf will mostly do the right thing; rather new tool.
Replaces autogen script in most cases.
Timestamp skew; do not trust CVS, don't keep auto-generated files.
AM_MAINTAINER_MODE is your friend.
- the presentation will be put online in next 24 hours
22 May 2004
I'm in Brasil now.
Pretty much disconnected from the internet at the moment.
Will probably re-connect when I arrive at debconf.
20 May 2004
I'm at Narita airport. My orinoco card isn't recognized by my kernel and I do notice that I have not included orinoco module for my kernel. too bad I didn't check before I depart; if I start building my kernel here, I'll probably not complete before the plane departs.
I've hacked up danceracpi so that my battery monitor functions properly on recent linux kernel. ACPI changes too often. The formatting of /proc text should never change, really, especially on a stable kernel.
JAL global lounge is a nice place to stay in; I like this.
I've noticed that the reason orinoco wasn't created was that
include/wireless.h has WIRELESS_EXT[tab]16 instead of WIRELESS_EXT[space]16, which Configure script for pcmcia-cs was checking.
Due to the oldness of code in woody, and newness of kernel,
that was it. Gah.
I hate changes.
But a good rehabilitation for hacking; I'll hopefully be intensively hackin in the next few weeks.
Other changes; I need $CONFIG_NET_PCMCIA_RADIO to be 'y', but
I can't find that config anywhere... damn
To debug the situation, I can use the
# cardctl status
5V 16-bit PC Card
function 0: [ready]
# cardctl config
Vcc 5.0V Vpp1 5.0V Vpp2 5.0V
# cardctl ident
product info: "Lucent Technologies", "WaveLAN/IEEE", "Version 01.01", ""
manfid: 0x0156, 0x0002
function: 6 (network)
15 May 2004
I've finally received the tickets and the visa for Brasil.
That was close.
12 May 2004
Sent public key for keysigning.
There was a offer from Eric Wasser for an RPM of dsh and libdsh.
I asked for a spec file, because hosting a binary RPM from
random person on my web page is not something I intend to do.
6 May 2004
verified that current version of soundtracker does not work with current version of jack somewhat. That's rather unnice.
ecasound2.3.3 is released upstream, it makes the current Debian package in a difficult position, because I've been trying to keep it in a fixed state for now until sarge release.
5 May 2004
I've put up the paper for Debconf4 in my webpage.
I've got an impression that the paper submission seems to have had some problems,
and hasn't gone through.
Although I don't seem to experience any response from the team, telling me if there is a
problem or there is no problem, I'm trying to send it through to someone
who may be there through different media.
It was a festive season in Japan.
Many people are still enjoying holidays until 8th, and I was away on a trip until today.
2 May 2004
Looking at build failures list, it seems like most of X-dependent packages are failing to build.
conflicting types for wchar_t in xlibs.h, and something else.
1 May 2004
'GPL Reading party' in Yokohama, with a
legal expert as the presenter.
The talk was about how Japanese copyright law holds.
About firmware code under GPL, under Japanese law,
since the author is licensing the firmware code under GPL,
that's how you are granted the license to 'riyou' (use, as defined in the copyright law) the code.
'shiyou' (use, which is outside the scope of copyright law,
including executing the program, and excluding the modification)
is not in any way restricted.
$Id: 200405.html.en,v 1.37 2004/06/07 13:51:28 dancer Exp $