Free Software in Valencia
The LliureX Project

Firenze World Vision 2004

Workshop on Custom Debian Distributions

24 September 2004

Sergio Talens-Oliag

sto@debian.org

What is LliureX?

LliureX is a project of the Conselleria de Cultura, Educació i Esport of the Generalitat Valenciana that has as its main goal the introduction of new Comunication and Information Technologies based on Free Software in the Educational System of the Valencian Community.

One of the fundamental tasks of the project is the development and maintenance of a GNU/Linux distribution based on Debian.

LliureX GNU/Linux

Try to be a CDD to avoid duplication of efforts.

Use current CDD tools and develop new ones (if needed).

The distribution will have it's own repository based on the Debian Sarge pool with extra apt sources for special packages (translations, recompiled packages, etc.).

Distribution users and flavours

Target users:

System Administrators

Teachers

Students

Flavours (based on intended use of the system):

Class or School Server System

Networked User System (inside the classroom)

Standalone User System (for home use)

Distribution Requirements

L10N: LliureX has to be a bilingual system (Spanish and Valencian).

Has to provide tools to aid teachers on some parts of the curriculum of different areas (new technologies on education).

The distribution has to be extensible to be used in environments like home, office or administration.

Installable and Live CD versions of some of the flavours must be available.

CDD Tasks

Flavour definitions; right now classroom server and networked and standalone workstation.

Package selection and taxonomy (meta packages and/or tag sets).

System configuration (classroom model with client and server configurations).

Software translations.

Generation of installation and Live CDs.

Maintenance of the CDD apt repository.

Current status

Classroom model defined.

Preliminary package selections for each flavour.

Server and client configurations done with scripts.

No CDD installation system.

Valencian translation of the initial set of packages.

No public repository.

Classroom Model (1)

We use LDAP as the source of information for the majority of services (PAM, NSS, DNS, DHCP, etc.), file server is Samba (allows Windows compatibility, a requirement in the short term) and the thin client server is the PXES (http://pxes.sourceforge.net/) one.

All the users' information and data is stored on LDAP and on the server's file-system; if the users log on client machines their home directory is mounted using Samba and if they log on the server they use their files directly.

Classroom Model (2)

Currently we are testing without TLS, but the plan is to have a small PKI on the server and force TLS for all services except the anonymous ones (ntp, http, ...).

Any machine can be a thin client server (it only needs to enable network sessions on gdm), the classroom server provides the dhcp and tftp services with the needed images to boot the thin clients, and once booted they can connect to any other machine.

Classroom Model (3)

The classroom server will provide a thin client configuration specially prepared to register machines (mac address, dhcp and dns) and to clone them using partimage or debootstrap.

All network workstations use the same configuration (except for special hardware differences) and are fully reinstallable at any time (can be updated by cloning a master disc image).

Package Selection

Preliminary package selection tested during this course. Each release has to be supported at least for one academic year.

Selection criteria: licenses (LGPL preferred for libraries), standards compliance (UI, formats, protocols, l10n support, accessibility, ...), software quality, stability and security, integration, right number of features, user and developer documentation, active and responsive developer community, ...

Server packages

Debian base packages, we will probably replace or remove some of them (like inetd for clients).

Classroom model services: OpenLDAP for LDAP, libnss-ldap and libpam-ldap for NSS and PAM, Samba as network file system, ntp for the network time protocol, isc's dhcpd for DHCP, powerdns-ldap for the internal DNS server.

Other additional services are still being chosen and discussed: proxy (Squid), http (apache2), database (postgresql), etc.

Workstation packages

For the desktop we've chosen GNOME instead of others because of license (LGPL), good l10n support (uses gettext), accessibility support, same Desktop as other Spanish distributions (Linex, Guadalinex) and previous knowledge (we have GNOME developers in our team).

Applications integrated with GNOME preferred; simplifies maintenance and reduces the set of supported packages.

We try to have only one package for each task.

Installation System

Workstation and server installations are based on Sarge with extra apt sources for L10N and modified binaries (i.e. OpenOffice.Org).

The packages are installed by hand (we copy the list of selected packages, will be done using meta packages and/or debtags) and the configurations are done using shell scripts included in custom packages (have to move to cfengine scripts).

Classroom workstations are installed cloning a master image using PXE.

Localization (locales)

We are using a non ISO locale (valencia_ES) because Valencian is included in ISO ISO639-2 as an alternate name for Catalan, but the local government says that this languages are different; we proposed to use valencian as an alias of ca_ES.UTF-8@valencia but was rejected.

Locale is included into the distribution as valencia_ES using a package that modifies locale.gen and diverts locale config. files of libc and xlibs (and also modifies gdm languages).

Localization (translations)

First collection of packages translated to Valencian (150+ po files plus some special packages like OpenOffice.org).

Done unpacking the list of source packages, searching for Catalan .po files and sending them to translators for review and normalization.

Translations installed from one package full of po files, the method has to be changed to a different scheme that allows the installation of individual translations and independent upgrades.

Next Steps (1)

Install pilots (10 schools until December).

Generate package lists for each distribution flavour (debtags and/or meta packages).

Prepare the install system to be as easy as possible (debconf pre-seeding and cfengine scripts for each flavor/package).

L10N maintenance with new and updated translations.

Next Steps (2)

Provide support (infrastructure) for local developer and user communities:

Public apt repositorywith our own CDD package sources.

Trouble ticket system for the pilots (incidence reporting and knowledge base).

Bug tracking system for the software (will be linked somehow with the trouble ticket system), with some kind of bridging system to forward back and forth non local bugs (CDD to Debian, Debian to CDD).

Next Steps (3)

Increase technical skills of team members related to Debian and CDDs in general.

Build CDD install disks (initially based on debian-installer, later we will try others).

Live CD versions of the LliureX Workstation (we plan to build Knoppix, Metadistros, Morphix and Debix based Live CDs).

CDD Freeze on April 2005, first release on May 2005, with security updates support.

CDD tools wanted/needed

Tool to generate an apt-source with only the subset of the full Debian Package list needed to install the CDD (based on meta packages and/or debtags).

CDD Live CD generator.

Standard mechanisms to apply debconf answers in postinstall (dh_debconf?).

Standard way to update data inside packages without needing to recompile; useful for branding and updates in documentation and localization.

That's all, folks !

FWV2004CDD

LliureX

CDD LliureX Debian

2004-07-06T18:15:47