Bug Hunting Session

A LibreOffice-közösség a 3.5-ös verzió kiadására készül. Sok újdonság lesz a 3.5-ben, ezeket jól le kellene tesztelni. De az elmúlt fél évben tovább folyt a kódtisztítás és a build rendszer átalakítása is, melyek sajnos hibákkal is együtt járnak. Mellékhatásként olyan dolgok is elromlanak, amelyek korábban jók voltak. Ezeket mindenképpen meg kellene találni kiadás előtt.

December 28-án és 29-én hibakereső napok lesznek. Bárki segíthet, nem kell semmilyen szakmai ismeret, csak minimális angoltudás és szorgalom. A részletek a wikiben vannak: http://wiki.documentfoundation.org/QA/BugHunting_Session_3.5.0.-1. Reméljük, sokan leszünk!

Béta fázisba lépett a LibreOffice 3.5

LibreOffice logóAz előre kiadott ütemterv szerint béta fázisba lépett a LibreOffice 3.5. A múlt héten megjelent a beta0-nak nevezett kiadás. Ez eredetileg azt a célt szolgálta volna, hogy kipróbáljuk, hogy egyáltalán lefordítható-e a forráskód minden platformra a kiadási konfigurációban. A közösség egyes, a műszaki kérdések iránt kevésbé érdeklődő tagjai kitették a hírt Twitterre, Google+-ra stb., pedig ezt a kiadást még nem akartuk reklámozni. A nagyközönségben csalódást keltett a minősége, de az elkészítésének volt értelme. Kiderült, hogy mely hibákat kell azonnal javítani, a fejlesztőket rávette, hogy figyelmesebbek legyenek ezekben a napokban, ne törjék el a buildet.

Tegnap létrejött a libreoffice-3-5 ág a gitben, ide már szigorúbb feltételekkel lehet kódot bejuttatni, megkezdődött a felkészülés a kiadásra. Amikor a libreoffice-3-5 ág stabilizálódik, minden platformon zöldek lesznek a Tinderboxok – a terv szerint ma, december 7-én –, akkor megtaggeljük a beta1-et, és hétvégére megjelenik a tesztelhető LibreOffice 3.5 beta1.

A LibreOffice 3.5 beta1 – a beta0-val ellentétben – a stabil LibreOffice 3.4.4 mellé is telepíthető, nem akad össze vele. Karácsony előtt lesz még egy béta. A végleges verzióig még van 2 hónap, addig még biztosan rengeteg hibát javítunk.

LibreOffice at Free Software Conference 2011, Budapest

The Free Software Conference and Exhibition 2011 organized by FSF.hu Foundation was held today in Budapest. With more than 500 participants, it was the biggest free software event in Hungary this year. I think it was a great success, there were many good presentations in 4 tracks, and there was also a room for workshops.

Three Hungarian LibreOffice developers presented there. I had a keynote session about LibreOffice project and The Document Foundation in general. Emphasis was put on attracting new developers and the developer friendly ways of LibreOffice project. I also noted that TDF recommended professional L3 support contract to larger organizations who planned to use or were using LibreOffice. I borrowed a few slides and ideas from others, especially from Michael Meeks, so I thank him again for creating those slides. 🙂 Miklos Vajna presented his GSoC work on RTF filters. Unfortunately I could not attend, I had to be at localizers’ workshop at the same time. Laszlo Nemeth presented the longer version of his “Towards DTP” talk that he had in Paris, with even more slides and very nice examples. Also, 300 LibreOffice stickers were distributed, people could take them from the registration desk. A Hungarian LibreOffice rollup stood next to the registration desk, at a very visible place. It was a great event, and LibreOffice was well represented.

LibreOffice 3.4.4

LibreOffice logó A Document Foundation (TDF) bejelentette a LibreOffice 3.4.4 megjelenését. A LibreOffice 3.4.4 a díjnyertes, Windows, Linux és MacOS alatt is elérhető, szabad és ingyenes irodai programcsomag javított kiadása. A LibreOffice nemrég nyerte el az InfoWorld 2011-es BOSSIE díját a legjobb nyílt forrású desktop szoftver kategóriában és az Open World Forum Experiment díját, mint a legnépszerűbb szoftver.

Az eredeti sajtóbejelentés Tímár Andrást, a SUSE munkatársát idézte, aki többek között a LibreOffice honosítási munkálatait koordinálja. „Egy önkéntes fordítónak, Michael Bauernek köszönhetően a skót gael nyelvű fordítás néhány hónap alatt teljessé vált. A korábbi fordítás elhanyagolt állapota és hiányosságai miatt nem volt része a LibreOffice-nak, de most örömmel építettük be a 3.4.4-es verzióba. Így a támogatott nyelvek száma 105-re növekedett. Ez is mutatja a copyleft típusú licencek páratlan értékét a végfelhasználói szoftverek esetén. A LibreOffice a legfontosabb irodai programcsomag, ha a nyelv mint kulturális örökség megőrzését tekintjük, különösen ha az olyan nyelvekről van szó, amelyeket nem beszélnek elegen ahhoz, hogy a profitorientált nagyvállalatok érdeklődését felkeltsék.”

Az eredeti sajtóbejelentés arra is kitér, hogy Jesús Corrius, a TDF kuratóriumának helyettes tagja kiemelt előadást tart ma a Libre Software World Conference-en a spanyolországi Zaragozában. Az előadás címe „TDF: the home of LibreOffice” lesz. Az LSWC a legfontosabb szabad szoftveres esemény Spanyolországban. A TDF kuratóriumi tagjának jelenléte igazolja, hogy a projekt jól halad a nagy és sokszínű spanyol közösség összekovácsolásával. Az európai és amerikai helyi közösségek egyetlen globális projekt ernyője alatt fejlődhetnek és dolgozhatnak.

De nem kell ilyen messzire menni, Budapesten is lesz egy szabad szoftveres konferencia november 12-én, az FSF.hu Alapítvány által szervezett „Szabad Szoftver Konferencia és Kiállítás 2011”, ahol Tímár András fog kiemelt előadást tartani a LibreOffice-ról. A belépés ingyenes.

A LibreOffice 3.4.4-ben a 3.4.3-as verzió óta kijavított hibák listája a következő:

http://ftp.snt.utwente.nl/pub/software/tdf/libreoffice/src/bugfixes-libreoffice-3-4-release-3.4.4.1.log (javítva a 3.4.4 RC1-ben)

http://download.documentfoundation.org/libreoffice/src/bugfixes-libreoffice-3-4-4-release-3.4.4.2.log (javítva a 3.4.4 RC2-ben, az RC2 lett a végleges)

Kiterjesztések és sablonok

Néhány hetes bétateszt után ma indult el két fontos weboldal, amelyek eddig hiányoztak a Document Foundation infrastruktúrájából.

Az extensions.libreoffice.org weboldalról kiterjesztéseket lehet letölteni a LibreOffice-hoz. Sokféle kiterjesztés érhető el máris, például szótárak, nyelvtani ellenőrzők, képgalériák és funkcióbővítések. A kínálat minden bizonnyal bővülni fog a közeljövőben, ahogy a kiterjesztések fejlesztői birtokba veszik új otthonukat. Bár a LibreOffice fejlesztőinek az az álláspontja, hogy amit csak lehet, olvasszunk be az alapcsomagba, mindig lesznek rétegigényeket kielégítő kiterjesztések, vagy olyanok, amelyeket újra kellene írni a beolvasztáshoz, és addig is jó, ha elérhetők külön.

A templates.libreoffice.org weboldalról sablonokat lehet letölteni. Még nincs fent sok. Tervbe van véve, hogy a LibreOffice CMIS interfészen keresztül kommunikáljon a sablontárral, és például az Impress bemutatókészítőből elérhetőek legyenek a weben fent levő bemutatósablonok előnézetei. Így talán a régi, nem túl szép, és sok helyet foglaló sablonok telepítőbe csomagolásától is el lehet majd tekinteni.

Hasonló weboldalak voltak az OpenOffice.org projektben is, illetve még most is vannak, csak időnként elérhetetlenek. A LibreOffice kiterjesztés- és sablontárak jellegzetessége azonban, hogy kizárólag szabad szoftveres licenccel rendelkező anyagok tölthetők fel. Illetve az is biztos, hogy az innen letöltött anyagok kompatibilisek a LibreOffice-szal.

My slides from LibreOffice Conference 2011, Paris

For those who did not attend my presentations and for future reference, please find my slides online.
My talks:

  • Localization without building – it was about my thoughts and efforts on how to build language pack without compiling all source code.
  • Localization Birds of Feather session – no slides, but participants discussed state and problems of localization. Some of these problems were presented a day later to the developers on the lightning talk track. Translators also wanted regular localized alpha releases from master. Well, first we need a somewhat stabilized and working master…
  • Design localization-friendly user interface – it was a lightning talk. Only 3 slides, 3 things to keep in mind when designing UI. These issues were raised on the L10n BoF and on l10n mailing list.

By the way, I also presented Laszlo Nemeth’s slides who unfortunately could not come to Paris. That presentation about DTP capabilities of LibreOffice was put online a couple of days ago.

Hackweek – LibreOffice multilingual MSI installer

I had been thinking about simplifying installing process of LibreOffice under Windows for a long time. During hackweek I had the opportunity to work on this problem and at the end of the week I could produce a proof-of-concept solution.

Currently LibreOffice Windows installer is rather complicated. It starts with the NSIS pre-installer which extracts MSI file, language MST files, readmes, setup.ini and setup.exe to a directory in the user’s file system. Desktop is the default. Then setup.exe starts. It also tries to find out the language to be used, installs the vcredist files, then starts the MSI installer (with a language transform, if necessary). MSI installer does the real installation.

It is not only overcomplicated but there are problems with NSIS:

  • It does not know Unicode. Localized installers cannot be made for many languages.
  • Help packs have localized installers and localized text is displayed correctly only when the system legacy code page setting matches to that language. For example Russian help pack installer displays garbage characters on English system.
  • It extracts files to Desktop (per default). Users are confused, they don’t know, if they can remove those files or not.
  • It has a cryptic bug which caused problems with Chinese installers (garbage characters) fdo#32335

In fact MSI alone is capable to install anything. In a few steps I created a multilingual single MSI installer for LibreOffice 3.4

  1. In solenv/bin/modules/installer/global.pm set $include_cab_in_msi from 0 to 1. This creates one big MSI file with the CAB included.
  2. Instead of installing vcredist_x86.exe separately, the necessary runtime files can be merged into the MSI. We definitely need MSVCRT, I’m not sure about ATL, and we don’t need MFC. So it helps in reducing the size of installer, if we don’t ship DLLs that are not used by LibreOffice. Merge modules should be copied to external/msm90, they can be found at c:\Program Files (x86)\Common Files\Merge Modules\ in every Windows dev environment. Scp2 and installer creator perl scripts can handle merge modules (and after a while I found out how).
  3. The use of embedded language transforms is an undocumented feature of Windows Installer. A language transform is a transform that is located in a substorage of a Windows Installer package that is named after the LangId. The Summary Information Stream (Property: PID_TEMPLATE) includes a list of languages that are supported by the package. Windows Installer automatically selects the language that matches the language preference that is set for the operating system. Basically I followed the instructions on http://www.installsite.org/pages/en/msi/articles/embeddedlang/. The necessary VBScript files are part of Windows SDK, at least Microsoft mentions this in KB articles. I found them elsewhere on the net.

I uploaded the result to http://ftp.fsf.hu/LibreOffice/Multilang-MSI/.
The installer file, libreoffice34.msi starts in the default language of Windows. Any language can be forced, e.g. Hungarian with LCID 1038:
msiexec -i libreoffice34.msi TRANSFORMS=:1038
Note the colon before the number, that denotes internal transform.

TODO:

  • Test a lot, and possibly find out whether this method was not used on purpose before.
  • Implement step 3. as part of the build.
  • Do the same for helppack installers.
  • Clean up the code (remove NSIS, possibly remove ulfconv, etc.)

Biztonsági hiba javítása (CVE-2011-2713)

A Document Foundation (TDF) ma nyilvánosságra hozta egyes biztonsági hibák részleteit, amelyek a nemrég kiadott LibreOffice 3.4.3-ban lettek kijavítva. Az iparágban szokásos gyakorlat szerint a hibák nyilvánosságra hozásával vártak, hogy a felhasználóknak legyen idejük áttérni a javított verzióra. A LibreOffice kereskedelmi disztribútorai a javított kiadásokat már korábban elkészítették, és felhasználóikhoz eljuttatták.

A RedHat biztonsági szakembere, Huzaifa Sidhpurwala talált egy memóriakezelési hibát a LibreOffice Microsoft Office-dokumentumokat kezelő kódrészletében. A hiba elméletben kihasználható, egy speciálisan összeállított dokumentum segítségével például vírus telepíthető a számítógépre. A sebezhetőség leírása a CVE-2011-2713 szám alatt, „out of bounds property read in binary .doc filter” címmel található meg az adatbázisokban.

A LibreOffice 3.4.3 ezen kívül más potenciális biztonsági réseket is befoltoz. Javult a Windows Metafile (.wmf) és a Windows Enhanced Metafile (.emf) képformátumok betöltésének kódja, miután a fejlesztők kijavították a „fuzz testing” módszerrel felszínre került hibákat. Az általános kódtisztítási munka eredményeként is több hasonló javításra került sor. A biztonsági hibák javítása ebben a kiadásban nagyrészt Caolán McNamara (RedHat) és Marc-André Laverdière (Tata Consultancy Services) érdeme.