DebConf18に行ってきた

8/2から8/4まで、といっても8/2は台湾への移動で到着は夕方だし、8/4はもう朝から帰国のために移動だったので実質まともに参加できたのは8/3だけだったけど。

Rethinking of debian/watch rule - DebConf18

今回は発表があったのだが、週末やんごとない事情で時間を取られて準備をろくにすすめられずにいた結果、直前まで資料を直す羽目になった。あと、20分枠でQ&Aの時間をきちんととれなかったのがアレ。発表後にたぶんインドのDebConfの招致の発表をしていた人?から反応があったのがよかったくらいか。あれもこれも言いたくて詰め込みすぎたなぁ。。。

DVDStyler(dmo)の依存関係を確認する

DVDStylerはDebian公式にはないが、deb-multimedia.org(dmo)には存在する。 というわけで、公式にあとどのパッケージが必要かを確認してみた。

% dget https://www.deb-multimedia.org/pool/main/d/dvdstyler-dmo/dvdstyler-dmo_3.0.4-dmo1.dsc
% cd dvdstyler-dmo-3.0.4
% debuild -us -uc
 debuild -us -uc
 dpkg-buildpackage -rfakeroot -us -uc -ui
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package dvdstyler-dmo
dpkg-buildpackage: info: source version 1:3.0.4-dmo1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Christian Marillat <marillat@deb-multimedia.org>
 dpkg-source --before-build dvdstyler-dmo-3.0.4
dpkg-buildpackage: info: host architecture amd64
dpkg-checkbuilddeps: error: Unmet build dependencies: libwxsvg-dev (>= 3:1.5~) libavcodec-dev (>= 10:3.0~)
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1152:
dpkg-buildpackage -rfakeroot -us -uc -ui failed
root@183883e9fc83:/work/dvdstyler-dmo-3.0.4# apt search libwxsvg-dev
Sorting... Done
Full Text Search... Done
root@183883e9fc83:/work/dvdstyler-dmo-3.0.4# apt search libwxsvg
Sorting... Done
Full Text Search... Done

libavcodec-devはdmo版でないとビルドできないようになっていた。あとはlibwxsvg-devが必要ということのようだ。

% dget https://www.deb-multimedia.org/pool/main/w/wxsvg-dmo/wxsvg-dmo_1.5.13-dmo1.dsc
% debuild -us -uc

wxsvgは公式のパッケージだけでビルドできた。 なのであとはwxsvg,dvdstylerがパッケージングされていればよいことになる。

調べてみた所、wxsvgはdebportsにはある。2:1.4~dfsg-2がjessieのときまでは存在していた。

https://tracker.debian.org/pkg/wxsvg をみてみると削除されてしまっていたようだ。

# git clone git://anonscm.debian.org/pkg-multimedia/wxsvg.git
Cloning into 'wxsvg'...
fatal: remote error: access denied or repository not exported: /pkg-multimedia/wxsvg.git

PTSからGitへのリンクがあったのだけど、死んでいるみたい。

git clone https://anonscm.debian.org/pkg-multimedia/wxsvg.git
Cloning into 'wxsvg'...
fatal: repository 'https://anonscm.debian.org/pkg-multimedia/wxsvg.git/' not found

salsaには移行されなかったし、anonscmも削除されたんだろうか。

salsa.debian.org

groonga-normalizer-mysqlのsalsa.d.oへの移行

groonga-normalizer-mysql パッケージをsalsa.d.oに移行する作業をした。

github.com

salsa.d.oにインポートしてもらう必要があるので、ついでにgbp import-dscでリポジトリを再作成も。 いろいろ古くなっていてlintianがレポートしてくれているやつをもろもろ修正。

@henrich さんにsalsa.d.oへのインポート作業をお願いした。

OpenSSL 1.1.0cな環境でrvm install 2.3.2

はじめに

ruby 2.3.2がリリースされたので、何も考えずにただrvm install 2.3.2したらOpenSSLがらみで失敗した。 環境はunstableなのでapt install libssl-devすると1.1.0c-1がインストールされている。問題はこいつである。

解決策

同僚に教えてもらった。

rvm install 2.3.2 -C --without-openssl

でopensslを無効にしてインストールする。 opensslのgemをダウンロードして別途インストールするというからくり。 この記事を書いている時点だと2.0.0.beta.2のようだ。

あとは、global環境にgemsetを変更する。

rvm gemset use global

globalにしないと新しくgemsetを作ったときにopensslがインストールされていないのができてしまうから。

gem install --local openssl-2.0.0.beta.2.gem

としてローカルにインストールする。

あとはうまいことインストールが完了まで待機すればよい。

OSS Gateワークショップ(2016/07/30開催)に参加した感想

クラウドワークスさんにて開催されたOSS Gateワークショップに参加してきました。その際のメモをつらつらと。

どんなイベント?

OSS Gateワークショップ 2016-07-30のイベントのページにいろいろ説明があるので、詳細は割愛しますが、一言で説明すると以下のとおりです。(イベントページより引用)

OSSの開発に参加する」を実際に体験するワークショップです。

これにメンター(ワークショップ初参加でひよこメンター)として参加してきました。

実際の参加者は申し込み人数の半分くらいで、きっとみんなポケモンをどうにかするのに忙しいので(以下略)

参加者の立ち位置

ワークショップでは立ち位置が参加者によって異なります。

  • ビギナー:OSSの開発未経験な人。

会場には普段は組み込み開発をしている人や、Web系の人、フリーランスのエンジニアの人など、様々なバックグラウンドをもっている人が参加していました。「OSSの開発に参加する」を実際に体験する人達です。

  • メンター:OSSの開発経験者。

以前のワークショップに参加した人だったり、普段からOSSの開発が生活の一部になっている人。

  • サポートメンター(仮称):メンターのサポートをする人。

会場をするすると回遊し、通りすがりのメンターとしてビギナーに的確なアドバイスをして去っていく。エリアマネージャーみたいな人。

サポートメンター(仮称)は今回からはじまった制度なんだそうです。

  • 進行役:司会者兼、全体に気配りもする人

イベントの進行を采配しつつ、人が足りていないところにするっとメンターとしてサポートをこなしたりするスーパーマン

どんな風にすすんだのか?

まずは司会進行役のすとうさんから、イベントの説明があった後に、ビギナーさんと相談しつつ、題材となるOSSを決めました。

ここで注意しないといけないのが、メンターの関わっているOSSを薦める(誘導)のはあまりよろしくないかも知れないこと。

よく知っているOSSを薦めてしまうと、(メンターがそのOSSをよく知っているがゆえに)知らずしらずのうちに、わかっていることを先まわりして「答え」として教えてしまい、ビギナーが体験する機会を奪ってしまう可能性があります。

幸いにして、ビギナーの人がRails5試したいです!(ただしWindowsで)ということだったので、そちらの轍は踏まずに済みました。 それでもところどころ、先にこうすればいいんじゃないですか、と言いそうになってしまいそうになったことが何度かありました。

ただ、ぐっとそこはこらえて、ビギナーさんがはまって、これはフィードバックするチャンスポイントだね、というのを暖かく見守るというのをやっていました。

あとはビギナーさんが、作業ログ(これはビギナーさんに都度自分がやろうとしてしていることを細かくメモしてもらう)をつけてなさそうだなーというのがあれば、いまどんな感じですかというのを確認しつつ相談にのったり、記録を促したりというのをやっていました。

ふりかえり

午前中の作業が一段落したときに、「ふりかえり」をしました。これはメンターが別の島(メンター2名、ビギナー4名のグループが1単位)へと席を移動して、担当していなかった別のビギナーさんに作業を説明してもらって、アドバイスをするというものです。

立場の違いによってやることも違います。

  • ビギナー:自分のやったことを知らない人に説明する。OSSの開発では、ネットごしでのみやりとりすることも多いため、暗黙の了解ではうまくいかないことがある。説明を省略してしまうと、空中戦が発生したりと無駄なやりとりをしてしまうことになる。このとき作業ログを活用することで「何をやったのか」あるいは「何をやっていないのか」を伝えることの大事さを実感してもらう。

  • メンター:担当していなかったビギナーさんの説明を聞いて、メンターとしての視点からフィードバックする。

メンターとして、これを実践できているのはいいね!とか、ここはこうしてみるといいよ!というのを伝えるのを意識してみたりしました。

フィードバックしよう

午前中にOSSを動かしてみて、ハマったところや、こうなっていたらいいなという「気になるポイント」をビギナーさんが実際にupstreamにフィードバックしようというのをやりました。

ただ、フィードバックを完遂するところまで一緒にできなかったのがやや心残りではあります。(フィードバックしたい内容を整理するところまではできた)

もちろん時間内にそこまでできてれば良いに越したことはありません。ですが、フィードバックを完了させることを優先してしまうと、ワークショップの後でひとりでもそれができるかは難しいような気がします。(ちょっと言い訳っぽい)

あとは英語になおすだけ、がビギナーさんにとって結構ハードル高いという。。。

ふりかえり再び

また席を移動して、別のビギナーさんとのふりかえりを実施しました。

ビギナーさんによっては、すんなりフィードバックするところまでうまくいけている人がいるのが印象的でした。メンター力の違い?

「英語つらい」にどう答えるか

これは私も英語つらいので悩ましいところです。

こんな感じのつたない英語でも大丈夫だよ、という具体例を説明したりしましたが、それでよかったのかどうか。

さいごに

他のメンターは2人のビギナーの面倒をみていましたが、私は参加人数の都合で、1人のビギナーの面倒を主にみていました。初めてのメンターとしての参加だったので、両隣にビギナーさんがいたら十分なサポートができたかはあまり自信がありません。

とはいえ、機会があればまたメンターとして参加してみるのもいいかなーと思った次第でした。(楽しかった) サポートメンター制度は次回以降も採用とのことなので、メンターをやるのにちょっと自信がないんだけど、という人でも安心です。(ふらりと現われて、的確なアドバイスをして去っていくので)

どうでもいいことですが、私以外はみなポケモンマスターだったのが印象的でした。みんな好きだなポケ(以下略)