平衡点


2013/02/04

_ 第1回 Debian パッケージング道場

Debian JP Blog にも告知 が出ました. ここでも宣伝.

第1回 Debian パッケージング道場のお知らせ

Debian パッケージの作り方を教える道場です. 以下のような方を想定しています.

  • あのソフトウェアがDebianパッケージになっていないので, パッケージにしてみたい.
  • 普段使っているDebianパッケージに修正を加えて, 利用したい.
  • メンテナンスしているDebianパッケージを更新してみる.
  • モダンなDebianパッケージの作成方法とか知りたい.
  • etc...

丸一日, Debian漬けでDebianパッケージを作ってみましょう. Debian Developer と Debian Maintainer が, パッケージの作成をサポートします.

開催日時・会場・事前登録等

  • 日程: 2013年2月9日(土) 10:00〜17:00
  • 会場: 京都大学 理学研究科3号館 数学教室 109 号室
    • http://www.kyoto-u.ac.jp/ja/access/campus/map6r_n.htm
  • 定員: 20 名
  • 参加費用:無料
  • 事前登録:

Zussar に 登録ページ が用意してありますので適宜登録ください

道場へ参加する前に必要な事前準備について

  • パソコンを使うので, 各自パソコンを持ってきてください.
  • 使うパソコンで無線LAN, 有線LAN が動作する環境を整えてください.
  • 使うパソコンで Debian / unstable が動作する環境を整えてください
    • VirtualBox 等の仮想環境で大丈夫です.
  • Debian / unstable に最低限のビルド環境を構築してください.

    sudo apt-get install build-essential debhelper devscripts cowdancer pbuilder
  • パッケージにしたいソフトウェアを見つけておいてください.
    • こちらではパッケージング方法について教えることはできますが, ネタは提供できません.*
  • Debian 新メンテナーガイドDebian 開発者リファレンス に目を通しておいてください.

当日の流れ

  • 簡単な挨拶など.
  • 基本的なパッケージの作成方法を説明.
  • 最新のパッケージング事情の説明と使い方を説明.
  • パッケージ作成作業開始
  • 参加者は何かパッケージにしたいものを持ってきて, それをパッケージ化する.
    • こちらから題材は提供しません
  • 参加者は弄りたいまたは修正したい既存のパッケージを見つけてくる.そしてそれをいじる.
  • 保守担当者のいないパッケージ, パッケージ化して欲しいソフトウェア一覧 から気になるソフトウェアを探してみるのもいいでしょう(要するにパッケージするテーマを持って参加してみましょうということです).
  • わからないところがあったら, 遠慮無くその辺にいるDebian Developerを捕まえて聞いてください.
  • Debian Developer はメンターになってパッケージをDebianにインストールするまで面倒をみる(このへんが道場っぽいはず).
  • できれば参加者はGPGキーサインをする.
    • GPG鍵, 公的な身分証明書(パスポート, 運転免許証等.可能であれば複数)を持ってきてください.
  • 作業内容発表
    • できたパッケージ, 作業内容を発表

その他Debianのバグ修正をしたい人やもくもくと開発したい人も歓迎します.こんなことやりたい!, こんなこと教えて!とかいろいろ 登録ページ のコメントに書いてください.

本件に関するお問い合わせ

主催者: 佐々木洋平(uwabami at {debian.or.jp}), 倉敷 悟(lurdan at{debian.or.jp}), 岩松信洋(iwamatsu at {debian.or.jp})までお願い致します.

_ 呟き...?

最近は小ネタだと twitter に放流してオシマイ, という事が多いなぁ, という呟きをココにも残しておくテスト.


2014/02/04

_ ax_f90_library_setup.m4 みたいなの

やりたいこと

Cray の Modules の様に、 特定のライブラリの読み込みが環境変数によって指定されている時に そのライブラリ(とFortran >=90の場合はモジュール)の「場所」と「名前」 を取得する。もしくは、指定が不要であることを確認する。

じたばた

autoconf-archives に Autoconf Archive: ax_f90_library_setup があったので、これでいけるかな、と思ったが find でライブラリを探して sed かけてフラグを指定する、 という挙動だったので、ちょっと嬉しくない (例えば /usr/local/stow/ 以下にコンパイラ毎のビルドを置いておくと、 find でみつかった順にフラグを設定する)。

結果

そもそも「環境変数で勝手にフラグが設定されている」という状況なのだから、 別に configure 走らせた結果として FCFLAGSLDLIBS を追加する、 なんて面倒な事をする必要はないだろう、というか。

# source: m4
   AC_DEFUN([DC_FORTRAN_LIBRARY_CHECK],[
     AC_LANG_PUSH(Fortran)
     ac_cv_dcf90_library_check=""
     AC_MSG_CHECKING([try compile $1 test without any flags])
     AC_LINK_IFELSE([
   program libcheck
   $2
   end program libcheck],
     [ac_cv_dcf90_library_check="yes"],
     [ac_cv_dcf90_library_check="no"])
     ac_cv_f90lib_$1_check=$ac_cv_dcf90_library_check
     AC_LANG_POP(Fortran)
     if test x"$ac_cv_f90lib_$1_check" = x"no" ; then
       AC_MSG_RESULT([failed])
       AC_MSG_ERROR([specify $1 library file name with --with-$1=])
     else
       AC_MSG_RESULT([ok])
     fi
   ])

あからさまに自由形式なので Fortran >= 90 じゃないと駄目だろう (というか, 今時 FORTRAN77 でプログラム書き始めることも無い).

configure.ac の中で

# source: autoconf
   DC_FORTRAN_LIBRARY_CHECK(
   [netcdf],[use netcdf
   ])

みたいにして呼び出すと,

  • configure 実行時に default の FC, FCFLAGS, LDFLAGS, LDLIBSAC_LINK_IFELSE でコンパイル, リンクまでを試す. # source: f90

    program libcheck
    use netcdf
    end program libcheck
  • 結果は ac_cv_f90lib_\$1_check に入っている.
  • とはいえ AC_MSG_ERROR でメッセージ出しているので, このマクロを呼んだ時点で「コンパイルとリンクが通らなきゃ駄目よ」みたいな必須library にしか使えない.

例: LAPACK

例えば

# source: m4
   DC_FORTRAN_LIBRARY_CHECK(
   [lapack],[real(8) :: alu(2,2), bb(2)
   integer :: kp(2), icon
   alu(1,:) = (/1.0d0,1.0d0/)
   alu(2,:) = (/1.0d0,0.0d0/)
   bb(:)    = (/2.0d0,0.0d0/)
   call dgetrf( 2, 2, alu, 2, kp, icon )
   call dgetrs('N', 2, 1, alu, 2, kp, bb, 2, icon)])

みたいに.


2019/02/04

_ rxvt-unicode で icon フォントが使いたい

好みの状況に持っていくには

  • 他と喧嘩しない(ちゃんと Ptivate Use Area にアイコンが入っている)フォントを探す
    • とりあえず icons in terminal を使うことに.
    • 最初は all the icons を試そうかと思ったが, ちょっとこのままだとアカンかなぁ…
  • locale の修正
  • rxvt-unicode にパッチ当て

ということで, なんとかなった…かな?