heyheytower

日々のメモです。誰かのお役に立てれば幸いです。

likana、deb パッケージ公開までの流れ(備忘録を兼ねて)

目次

目的

表題の件、自分の備忘録も兼ねて deb パッケージの作成作業の流れと、参考にしたサイトなどを記載する。

前提

  • 開発環境は ubuntu12.04 desktop
  • github アカウントは既に持っている
  • "ubuntu one" アカウントは既に持っている(そのまま Lanchpad アカウントとして使えました。)

likana プログラム作成の流れ(備忘録として)

IMEオフ時の誤った入力を改善したかった
Windowsフリーソフトhttp://suwa.6.ql.bz/rikana.htmlを発見し、仕様を真似て Linux 版を作ろうと思った。

Linux でのキーロギングの方法はどうするか。

  • Orca Screen Reader*1を調べた際に知った vcs *2 が仮想コンソール出力なので使えるのではないか。
    vcs だと X window は取得できないので、今回向きではない。

  • システムコールの read を横取りする。
    カーネル寄りでちょっと大げさ。入力に対する処理が大変そうで、キーボード入力も別途考えないといけないので却下。参考書籍は下記。

書籍 : "Programming Linux Hacker Tools Uncovered"
著者 : Ivan Sklyarov

  • input subsystem を使う。参考にしたURL Linux Input Subsystemの使い方
    IMEの種類にも依存しない。ファイルディスクリプタを利用する簡単な方法でキーロギングできるので、今回の件にぴったり。キー入力もそのまま使える。

プログラム作成について下記を調べた

deb パッケージ作成

Lanchpad で公開するには

github の README.md をまじめに書く

下記では、3秒後にマウスを中心とした 320*200で5秒間キャプチャを行います。 その後、png 画像に切り出しImageMagickでアニメーションgif を作成しています。

ソースコードのコメントの Doxygen*4 対応(2016/01/01 追記)

ver. 1.3 のリリースに合わせて、コメントを DoxygenJavaDoc スタイルで記載し、ついでに man ページ用のファイルも作成しました。

コメント記載にあたり、下記のページが参考になりました。

Doxyfile(基本的な設定) — Algo13 2015.12.28 ドキュメント
Doxygen対応Cプログラムコメント記述例ご紹介 | 株式会社ライト・ライト
Doxygen

GitHub Pagesでの関数リファレンスなどのドキュメント公開

下記ページを参考にドキュメントの作成、公開を行いました。

GitHub Pages | 研究開発日誌

ページの公開

cd ~/program/c/likana_git/
git clone git@github.com:maijou2501/likana.git docs
cd docs
git checkout --orphan gh-pages
git rm -rf .
cd ..
doxygen
cd docs
git add .
git commit -a -m "First pages commit"
git push origin gh-pages

likana: メインページ

GitHub の設定変更等

git submodule add -f -b gh-pages git@github.com:maijou2501/likana.git docs
# gh-pagesブランチの更新
cd docs
git add .
git commit -m 'Update docs(gh-pages)'
git push origin gh-pages
# masterブランチの更新
cd ..
git add docs/
git commit -m 'Update docs(master)'t

所感

likana の作成で少し燃え尽き症候群になり、手抜きのエントリになってしまい申し訳ないです。

参照URLなど忘れないうちに記録しておきたかったという目的は果たせたと思います。
また「C言語で作ったプログラムをデーモン化させて初めてdebパッケージで公開したい」という人には、
少しは参考になるのではと考えています。

以上