ククログ

株式会社クリアコード > ククログ > DebConf18でuscanの改善に関する発表をしました

DebConf18でuscanの改善に関する発表をしました

はじめに

クリアコードの林です。

今回は、DebConf18で発表する機会があったのでその内容を紹介します。 今年のDebConf18は台湾の国立交通大学(National Chiao Tung University - NCTU)にて開催されました。1

NCTU

桃園国際空港からはMRT2 とHSR3、台湾バス4を乗り継いで行きました。

Taoyuan to Hsinchu

DebConf18の統計情報 5によると、全体で309人が参加、そのうち日本からは27名が参加したようです。距離的にも近いということで参加者も多かったのではないでしょうか。

Rethinking of debian/watch rule

Xueshan Room X

発表資料はRabbit Slide Showにて公開しています。

Debianのパッケージでは、アップストリームの更新を検出するために uscan というプログラムが使われています。uscan の設定は debian/watch という設定ファイルに記述します。 debian/watch ファイルにはアップストリームのリリースファイルのアクセス先や、パッケージング内容に沿うようにファイル名を変換したりするなど、いくつかのルールを記述します。 このルールは正規表現を使って記述するのですが、場合によっては複雑なルールを記述しなければならないことがあります。

例えば、複雑なルールを記述しなければならない例の一つに、OSDN.netでリリースされているソフトウェアがあります。

version=4
opts="uversionmangle=s/-beta/~beta/;s/-rc/~rc/;s/-preview/~preview/, \
pagemangle=s%<osdn:file url="([^<]*)</osdn:file>%<a href="$1">$1</a>%g, \
downloadurlmangle=s%projects/sawarabi-fonts/downloads%frs/redir\.php?m=iij&f=sawarabi-fonts%g;s/xz\//xz/" \
https://osdn.net/projects/sawarabi-fonts/releases/rss \
https://osdn.net/projects/sawarabi-fonts/downloads/.*/sawarabi-mincho@ANY_VERSION@@ARCHIVE_EXT@/ debian uupdate

Debianパッケージ化をするときには、必須ではありませんが debian/watch ファイルも用意してあると、その後のメンテナンスが楽になるのでおすすめです。 ただし、Debian Policyでは Optional 扱いです。6

発表時には、パッケージングをするときに複雑になりがちな設定を簡単にできないかという観点で、debian/watch の使われ方の傾向を調べつつ、フォーマットの改善案を提案してみました。

発表して終わりという性質のものではないので、引き続き、bugs.debian.orgにて議論していければいいなぁと思っています。

おまけ

8/2の夜は海鮮が美味しいとされるおすすめのところでのカンファレンスディナーでした。DebConfのスポンサーのおかげですね。

カンファレンスディナーのパネル

画像の説明 画像の説明 画像の説明

まとめ

今回は、DebConf18に参加して発表する機会があったので、その内容を紹介してみました。

映像記録ありのセッションに関しては、順次アーカイブからWebM形式の動画が参照できるようになっているようです。また、YoutubeのDebConf Videosチャンネルからも(過去のDebConfの映像を含め)閲覧することができるようになっています。 見逃したセッションがあればそちらを確認してみるのはいかがでしょうか。

  1. 博愛キャンパスと光復キャンパスとがありますが会場であるNCTU MIRC(National Chiao Tung University Microelectronics and Information Research Center)は光復キャンパスにあります。

  2. 桃園捷運(とうえんしょううん)。いわゆる地下鉄のこと。

  3. 台湾高速鉄道。いわゆる新幹線のこと。

  4. 前乗り、前降りというあまり日本人には馴染みのないスタイル。

  5. Debian SSOによるログインが必要です。

  6. https://www.debian.org/doc/debian-policy/ch-source.html#optional-upstream-source-location-debian-watch