Michal Čihař - Archive for Dec. 20, 2007

Gammu stable version 1.17.0

I wanted to make 1.16.0 last release this year, but unfortunately one bug preventing reading of all SMS messages from some AT phones sneaked in, so I decided to make another quick release. Changelog is really short:

  • Fixed reading of messages from AT phones using CMGL.

Other change is that I started to produce additional binary build for Windows - it does not use any external libraries (so no MySQL, PostgreSQL or Gettext support) and links statically. So you can just copy single binary and it should work anywhere.

You can download from usual place: http://cihar.com/gammu/

Vytváření binárek pro Windows bez použití Windows

Jakmile jsem jednou vydal Wammu pro Windows, upletl jsem si na sebe bič. Chyby se opravují v nových verzích a shánět nějaké Windows na to, abych mohl vydat novou verzi mě už opravdu nebaví, takže binárka pro Windows je za aktuálním stavem docela daleko. Ale od čeho máme Wine? S tím by to přece mohlo jít nějak udělat…

Na celou myšlenku kompletní automatizace mě vlastně přivedl patch pro aktualizaci intrukcí pro vytvoření verze pro Windows . Sice tento návod měl spoustu nevyřešených problémů, ale nasměroval mě směrem, který se dal použít - vše udělat pomocí Pythonu pro Windows nainstalovaného ve Wine. Doposud jsem používal o něco obskurnější cestu s ručním linkováním proti rozbalenému Pythonu a občas věci prostě nefungovaly tak jak by měly.

Po úspěšném zkompilování python-gammu přišlo na řadu vytvoření instalačního balíčku z Wammu, protože většina uživatelů na Windows prostě není schopná (nebo ochotná) instalovat Python a jednotlivé moduly ručně. Bohužel Py2Exe , který pro tyto účely používám, trpí nějakou drobnou chybou, která po znásobení nenaimplementovanou funkcí ve Wine, způsobí, že to prostě nefunguje . Naštěstí je ve zmiňovaném bugu návod, jak to pomocí PE Tools opravit (je jen chybný nějaký údaj v PE hlavičce).

Po vytvoření binárky už jen stačí vytvořit instalátor. Naštěstí má Inno Setup i kompilátor pro příkazovou řádku, takže to už bylo bez jakýchkoliv komplikací.

Bohužel testování ve Wine však nezaručí, že program půjde spustit i na Windows (třeba výše zmiňovaná chyba v PE hlavičce Wine vůbec nevadí), ale snad se časem podaří verzi pro Windows odladit do rozumného stavu. Pokud se snad někdo chce zapojit do testování a má Windows, stahovat může dočasně tady .

Jak vypadají výsledné skripty pro kompilaci se můžete podívat v SVN pro Gammu , python-gammu a Wammu .