57 西 Debian
西 Debian
2012 3 25
57 西 Debian 2012 3
1 Introduction
Debian JP
西 Debian 勉強 Debian GNU/Linux さまなト (いパケー Debian 有のの仕
Debian です
的と次の考えす。
ML 掲示はな接顔せるの情の促
期的まれ
料の
れで楽しをお下さ
1
西Debian
1 Introduction 1
2 近の Debian 関係イベ 3
3 前課 4
4 年度のネ/ールして 7
5 Konoha Debian 8
6 t-code ケー 19
7 Debian Policy 2 Control イルつい 22
8 後の 26
2
57 西 Debian 強会 2012 3
2 Debian
Debian JP
2.1 56 西 Debian
56 目の西 Debian 会は 2 26 れま
月刊 t-code ケージ修正 emacs24 で問題なく使える t-code.deb を作た話」、月刊 Debian Policy、そし
Autofs pam chroot マルユー発表念なでの
ージに遭しまんとを伺非常議論われ様で
2.2 86 Debian
86 目のリア Debian 3 17 OSC Tokyo Spring た。
Apache2/ HTTP Debian」と Web 世界 Linux
ーシであ Debian Apache2 て、 ザ視の勉」がなわ模様す。 GPG
インも開れま
3
57 西 Debian 強会 2012 3
3
Debian JP
回はの課題し.
1. Debian Policy 5
2. 何か一つケージを取得して debian/control ルを読んできてください。そのケージ control
つい単にらな所は調、当してい。
3. 強会をどな媒法で出しらいすか
加者さんは以りで.
3.1
(回答)
3.2
(回答)
3.3
ほげ
3.4
1. んで
2. 力し
3. のまいいいまが、的なとし 」がばあ
がたす。
3.5
1. んでます
2. cpp control
sid:amd64 ”Multi-Arch: allowd” ていのパケーよううな
するいのつわ
4
3. Debian JP サイ
3.6 kozo2
1. みま
2. t-code みま
3. , 方法 twitter, ML です
3.7
1. 日ま読んす。
2. 日ま読んす。
3. レンのイ
3.8
1.
2. ruby1.8 debian/control をざみま。今発表せて Konoha るこです
debian/control に関問点に記す。
Maintainer email ピリドががあようすが以下
認識いで
してオド使して
’@’ 直前オド使用し
Priority は、 optional でよ識でいで
Architecture Debian
にな識ででし
3. 状のでも思い ATND 使と、多く目にかもせん
3.9
い、ます
日ま何と
表にの深のハタグ twitter
3.10
Debian JP Project 日本に一目をした
e2wm debian/control
Debian JP メーリスよいます
3.11
OSC 媛か曜の行ででた着けん。
mixi にも告知てた、今ぐた facebook も、りフトする感
5
ので twitter たり
3.12 yyatsuo
3. で特合無
3.13
解した。
git.debian.org:/git/pkg-ruby-extras/pkg-ruby-extras.git 以下にある control はひととおり目を通
てい
twitter 動化ともくと、他なにいか. (て、当に化でるこが前
だけ). の再知とけれ. 新入獲得 (?) 他のイデ
かね.
6
57 西 Debian 強会 2012 3
4 /
: 木洋
4.1
いら定期 10 人強加がる本すが勉強をどか、
うのはななかまりません。
*
1
参加者持ち寄りで楽し話がえたりするのは大変嬉しいのですが (とし)
年必ていようお題は、年度にスールを決めてて定期的にや良いのじないかな
。当がら更新つで
*
2
とは参加確保とい一つ目標これなう、多毎のマが
が参やす
12 来年 ()
た。で上して (順番に意りま)
Debian おけ ARM Cortex ろい
, deb
Blender
BTS 歩き
Windows Debian
Debian スク
Debian ンスハン
LibreOffice
KVM
み込 Debian
イセ
live-build 3.x
Debian Policy
debian-el, debian.vim?
いでに関現在 (1) ML (2) Web (3) Twitter debianjp なわ
ます (2) (3) (たこ) 結構がちこれ後ど行な考えいで
れらまえみま? 拝借下さ
*
1
み会で決るのが関西 Debian クオリテなのもしれません ()
*
2
debhelper を使話か CDBS dh にな, source format 1.0 3.0 たり, 毎年更点はあものです
7
57 西 Debian 強会 2012 3
5 Konoha Debian
忠紀
5.1
Konoha Debian sid トしと考いま回はにつ説明
Konoha 概要
容確
ポンにな
5.2 Konoha
5.2.1 Konoha
Konoha 的型るオクトスクです立大 JST/DEOS プロトを
にオンソ開発てい
*
3
発サ: http://konoha.sourceforge.jp
Konoha 、静の言術をしての上な振いを化します
下に述するように、スクリトとして実行ることや、コンパイラ語のように実前に型検査をうことができ
す。
クリとし
数を始め点で型やス階明確ておず、からに書えてイデ固ま
ら型ラス決め合がます
Konoha 的言語でりながら可能な限り動的言の振る舞いをエミレーンし、関数が初に呼び出さ
直前ラメら型し、コンしま
たがながクリ言語うに義な省略て実ことでき軟に
進めとがす。
行前検査
来のリプ語のうに的な査をスにいる型エーがるスリプも実
とエが発ませ
*
3
Konoha 内部の人ではないので以下の記は正しくい場合がるかもしれまん。
8
のた全てパスつひテスしな型エを探正す要がす。
Konoha 的な型付言語であるため、プログラを動作させることなく、型査を行うことができ、初歩
ラー証すがで
のたケアミスためイル作やタベが中半端態に、プラム止す
もあせん
Konoha を状に合わせ使用方法を使分けるこで、ひとつの語で静的語とスクリプ言語の特を生かし
発をことます
れはのよ合に活用と考す。
プリン開おい下のな手われ合が思い
STEP1: ト言いたトタ作成
宣言ラス後回て、にアをコする
STEP2: で書
質保メンス性
かし旦静で書てし、スプトよう軟にしがなくす。
Konoha 使用、上 STEP1 STEP2 り替開発めるでき
Konoha スク言語供すさと言語品質を両るこ目指ます
5.2.2 Konoha 使い
1. 話モ Konoha ターから Konoha 話シ
$ konoha
konoha 1.0(beta) svn (rev:933, Mar 23 2012 05:37:24)
options: iconv bmgc thcode sqlite3 syslog thread used\_memory:2191 kb
SECURITY ALERT: ** FOR EVALUATION/DEVELOPMENT USE ONLY **
>>>
>>> 対話のプロントで。この状態で実行したいプログラムを入力すと、次の行に実行結果
示さす。
>>> print "hello, Konoha!"
((eval):1) hello, Konoha!
話シ”bye” (Conrol-D)
>>> bye
2. クリモー Konoha グラすれクリしてでき
$ cat <<EOF > fact.k
int factorial(int n) {
if(n == 1) return 1;
return n * factorial(n - 1);
}
print factorial(10);
EOF
$ konoha fact.k
(fact.k:5) 3628800
-i オプけて Konoha 動すば、クリトフ読みだ後対話から定義
た関利用す。
9
3. クリの実型検査の行すは、-c Konoha しま
$ cat <<EOF > type-error.k
s = ’ever’;
i = 4;
str = i + s; // 推論
print str; // "4ever" 評価され
int x = i + s; // エラーとなる
print x;
EOF
$ konoha -c type-error.k
- (type-error.k:1) (info) suppose s has String type
- (type-error.k:2) (info) suppose i has int type
- (type-error.k:3) (info) suppose str has String type
- (type-error.k:6) (error) x has type int, not String
- (type-error.k:7) (error) undefined variable: x
5.2.3 Konoha 特徴
Konoha 主な以下述し
1. 的型
の妥が保ていスクト実型検行うがで
2. 宣言 (型推延コ)
下の、最び出のが dsucc(1.0) float され
function dsucc(n) {
return n + 1;
}
dsucc(dsucc(1.0) + 1);
Konoha は一旦、が決したら型一貫を保証しす。まり、次 dsucc(”Konoha”) な異なる
び出型エなりこれり静と同に型ーのでき
3. 御さ動的 (dynamic type)
Konoha スク言語うなサポてい
下のに、 dynamic + 子をート意の理で
function dsucc(dynamic n) {
return n + 1;
}
+ 演算子をポートしいない値与えられと、実行時のラーとなます dynamic 宣言する/いで
ラー生をきま
4. 量なクト
Konoha ラクがなてもブジがでますまた setter/getter され
5. 用性い集タ構 (Array, Map, Tuple)
Array(スト) ["naruto", 17]
Map() {name:"naruto", age:17}
Tuple ("naruto", 17)
6. 行時ンパ評価 (eval)
クリ言語実行す。
10
7. 行時ラス
ドはにオてあ加すとがす。
8. 完全ドのな実
来のパイ術で、実に型を行め、ようエラがあ、コド生完了
ログも実ませた。
int serial(int n) {
if(n == 0) {
InputStream in = new ("serial.txt");
n = in.readLine(); // エラーがここにあ
in.close();
}
return n + 1;
}
Konoha では、コンパイル時にエラーが発生しても、その部分を実行時例外に書き換えることができます。例え
、上型エ次のに変れま
int serial(int n) {
if(n == 0) { // 外になる
throw new Script!!("");
}
return n + 1;
}
を実けれまま可能もし serial(0) を実して時例て処
きま
>>> serial(1)
2
>>> serian(0)
Script!!:
9. 的なータ変換 Konoha 、キ演算子を張しトランスャッばれるデタ変換を
作で演算りま
>>> (to String)1
"1"
>>> (to int)1
1
>>> (to int)"naruto"
null
字列変換な書の文変換ます
>>> "%x"(-1)
"ffffffffffffffff"
>>> "%bits"(-1)
"11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111"
にもりま
10. ンク子とソー
Konoha は外ース別子扱う URN
http://konohascript.org/
file:/etc/passwd
isbn:978-4-06-372988-7
Konoha URN 直接スをとがす。”file:” ”http:” URN キー
トリに型れま URN いれのよ書け
11
foreach(String line from file:/etc/hosts) {
print line;
}
11. 共有タモ (ター) 並行
???
*
4
12. イブ Konoha は、下のなラリを使するでき
konoha.cairo
konoha.compiler
konoha.compiler.cpp
konoha.compiler.java
konoha.compiler.js
konoha.compiler.optllvm
konoha.curl
konoha.dffi
konoha.dscript
konoha.gsl
konoha.gwt
konoha.i
konoha.io
konoha.json
konoha.kinect
konoha.lang
konoha.liboauth
konoha.llvm
konoha.math
konoha.memcached
konoha.mpi
konoha.nfc
konoha.ntrace
konoha.opengl
konoha.posix
konoha.proc
konoha.qt4
konoha.qt4.kinect
konoha.qt4.opencv
konoha.qt4.physics
konoha.signal
konoha.socket
konoha.sql
konoha.sugar
konoha.thread
konoha.xml
*
5
イブを使とき using 使用。以 Math ブラ呼び例をしま
>>> using konoha.math.Math;
>>> Math.PI 3.141593
>>> Math.pow(1.23, 3.45)
2.042550
13. JIT パイラや LLVM コンパイラの採用も進められており 世界高水準と誇れる性能」を記して
らしす。
5.3
5.3.1 発環
シン
CPU : Intel(R) Core(TM) i3-2367M CPU @ 1.40GHz
モリ: 4GB
OS
Kernel : Linux 3.2.0-0.bpo.2-amd64
Userland : Debian sid (cowbuilder)
*
4
訳ないでが、私の強不足で明できません
*
5
Subversion Revision 954 点のものす。 Linux において、全がビルド/作するこを確認しいません
12
5.3.2 upsterem らの
認をてお
5.3.3 イセ
Konoha GPLv3 す。
Konoha core は、 build-essential 外の依存ケージは必要いのですが、 Konoha Extra Package は、れぞ
依存なり
*
6
/usr/share/doc/*/copyright セン以下めま
libffi-dev : GPLv2 or later
libmemcached-dev : RSA Data Security License, Public Domain,
BSD-TangentOrg, BSD-Sun, BSD
libsqlite3-dev : public domain
libqt4-dev : LGPLv2.1, GPLv2, GPLv3
libqt4-opengl-dev : LGPLv2.1, GPLv2, GPLv3
libqtwebkit-dev : LGPLv2 or later
libcairo2-dev : LGPLv2, MPLv1.1
libopenmpi-dev : LGPLv2
libjson0-dev : MIT
libcurl4-nss-dev : curl, BSD-4-Clause, BSD-3-Clause, ISC
libxml2-dev : ?
libreadline-dev : GPLv3 or later
*
7
Q1: Konoha core GPLv3 ない識しでし
dynamic link るラリがようセンも問
Q2: Konoha extra Package GPLv3 以外ライブラリに依存るので、別の Debian ジにする必要
あるうか
5.3.4 Debian
りあ現状グルます
来は下の 3 に分必要こと解しす。
1. core
2. libray(extra package)
3. の他 (document and sample )
Q1: リはうなで分のがでし
ライリご
ルー (Graphic DB )
Q2: 64bit 32bit り分
5.3.5
konoha-1.0.0˜954
1.0.0 upstream バー 954 Subversion Revision
*
6
Konoha Extra Package dynamic link library Konoha プトのラーか構成されいます。
*
7
libmemcached-dev,libcurl4-nss-dev:イルによ異なるみたい
13
5.3.6 リジビル
$ sudo apt-get install cmake libffi-dev libmemcached-dev \
libsqlite3-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev \
libcairo2-dev libopenmpi-dev libjson0-dev libcurl4-nss-dev \
libxml2-dev libreadline-dev openjdk-6-jdk ant
$ svn export http://konoha.googlecode.com/svn/trunk/ konoha-read-only
$ cd konoha-read-only/konoha/build/
$ cmake ../ -DCMAKE_INSTALL_PREFIX=/usr \
-DMPI_ROOT_DIR=/usr/lib/openmpi -DUSE_QT4=ON -DK_REVISION=954 \
2>&1 | tee cmake.log
$ make 2>&1 | tee make.log
$ mkdir tmp
$ DESTDIR=tmp make install 2>&1 | tee make-install.log
$ tree tmp
tmp
── usr
── bin
── jkonoha
── konoha
── konoha2js
── konohac
── mpikonoha
── include
── konoha1
── inlinelibs.h
── konoha_api.h
── konoha_class.h
── konoha_code_.h
── konoha_config.h
── konoha_debug.h
── konoha_gc.h
── konoha_glue.h
── konoha_name.h
── konoha_t.h
── konoha_vm.h
── konohalang.h
── license.h
── konoha1.h
── konoha
── package
── 1.0
js.dom
dom.k
js.jquery
jquery.k
konoha.actor
actor.k
konoha.cairo
cairo.k
cairo.so
konoha.compiler
compiler.k
compiler.so
konoha.compiler.java
java.k
jkonoha.jar
konoha.compiler.js
js.k
konoha.curl
curl.k
curl.so
konoha.i
i.k
i.so
konoha.io
io.k
io.so
konoha.json
json.k
json.so
konoha.lang
lang.k
lang.so
konoha.math
math.k
math.so
konoha.memcached
memcached.k
memcached.so
konoha.mpi
mpi.k
mpi.so
konoha.ntrace
ntrace.k
ntrace.so
konoha.posix
posix.k
posix.so
14
konoha.proc
proc.k
proc.so
konoha.qt4
qt4.k
qt4.so
konoha.signal
signal.k
signal.so
konoha.socket
socket.k
socket.so
konoha.sugar
sugar.k
konoha.thread
thread.k
thread.so
konoha.xml
── xml.k
── xml.so
── script
1.0
── actsrv
── actsrv2
── mailbox.k
── man
── status
── lib
── libkonoha.so -> libkonoha.so.1.0
── libkonoha.so.1.0 -> libkonoha.so.1.0.0
── libkonoha.so.1.0.0
34 directories, 70 files
----------------------------------------------------------------
Q1: Konoha Extra Package は、/usr/konoha 以下/usr/lib/konoha 下に
必要りま lintian warning
5.3.7 境変
$ DEBEMAIL="stadaki.dev@gmail.com"
$ DEBFULLNAME="Tadaki SAKAI"
$ export DEBEMAIL DEBFULLNAME
5.3.8 御フ
$ svn export http://konoha.googlecode.com/svn/trunk/ konoha-read-only
$ konoha-read-only
$ tar cvfz konoha.tar.gz konoha
$ mv konoha konoha-1.0.0~954
$ cd konoha-1.0.0~954
$ dh_make --single --copyright gpl3 --file=../konoha.tar.gz
$ rm -f debian/*.ex
$ rm -f debian/*.Ex
5.3.9 debian/control
Source: konoha
Section: interpreters
Priority: optional
Maintainer: Tadaki SAKAI <stadaki.dev@gmail.com>
Build-Depends: debhelper (>= 7.0.50~), cmake, libffi-dev, libmemcached-dev,
libsqlite3-dev, libqt4-dev, libqt4-opengl-dev, libqtwebkit-dev, libcairo2-dev,
libopenmpi-dev, libjson0-dev, libcurl4-nss-dev, libxml2-dev, openjdk-6-jdk, ant,
libreadline-dev
Standards-Version: 3.8.4
Homepage: http://konoha.sourceforge.jp/
Vcs-Svn: http://konoha.googlecode.com/svn/trunk/
Vcs-Browser: http://code.google.com/p/konoha/downloads/list
Package: konoha
Architecture: amd64
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: statically-typed scripting language
Konoha scripting language has a Java-like syntax, multiplatform
virtual machine, and static typing system.
15
5.3.10 debian/rules
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
DESTDIR=$(CURDIR)/debian/konoha
clean:
dh_testdir
dh_auto_clean
dh_clean
rm -rf configure-stamp build-stamp
rm -rf $(DESTDIR)
rm -f debian/files
configure: configure-stamp
configure-stamp:
dh_testdir
# dh_auto_configure
cd build && cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DMPI_ROOT_DIR=/usr/lib/openmpi -DUSE_QT4=ON -DK_REVISION=954
touch $@
build: configure build-stamp
build-stamp:
dh_testdir
# dh_auto_build
cd build && $(MAKE)
# dh_auto_test
touch $@
binary: binary-arch binary-indep
binary-arch:
dh_testdir
dh_testroot
dh_prep
dh_installdirs
# dh_auto_install
cd build && $(MAKE) install prefix= DESTDIR=$(DESTDIR)
dh_install
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
# dh_installcatalogs
# dh_installcron
# dh_installdebconf
# dh_installemacsen
# dh_installifupdown
dh_installinfo
#
dh_installinit
# dh_installmenu
# dh_installmime
# dh_installmodules
# dh_installlogcheck
# dh_installlogrotate
# dh_installpam
# dh_installppp
# dh_installudev
# dh_installwm
# dh_installxfonts
# dh_bugfiles
# dh_lintian
# dh_gconf
# dh_icons
# dh_perl
# dh_usrlocal
dh_link
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
binary-indep:
16
5.3.11 debian/copyright イル
Format: http://dep.debian.net/deps/dep5
Upstream-Name: konoha
Source: http://konoha.sourceforge.jp/
Files: *
Copyright: Kimio Kuramitsu <kkuramitsu@gmail.com>
Shinpai Nakata <shinpei.nakata@gmail.com>
Masahiro Ide <masa.ide.on@gmail.com>
License: GPL-3.0+
Files: debian/*
Copyright: 2012 Tadaki SAKAI <stadaki.dev@gmail.com>
License: GPL-3.0+
License: GPL-3.0+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
5.3.12 Debian
$ dpkg-buildpackage -us -uc
レクに以作成
konoha_1.0.0~954-1.debian.tar.gz
konoha_1.0.0~954-1.dsc
konoha_1.0.0~954-1_amd64.changes
konoha_1.0.0~954-1_amd64.deb
konoha_1.0.0~954.orig.tar.gz
17
5.3.13 作確
1. lintian
$ lintian konoha_1.0.0~954-1_amd64.deb
W: konoha: package-name-doesnt-match-sonames libkonoha1.0
W: konoha: new-package-should-close-itp-bug
W: konoha: wrong-bug-number-in-closes l3:#nnnn
E: konoha: copyright-contains-dh_make-todo-boilerplate
W: konoha: readme-debian-contains-debmake-template
W: konoha: non-standard-dir-in-usr usr/konoha/
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/js.dom/dom.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/js.jquery/jquery.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.actor/actor.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.cairo/cairo.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.cairo/cairo.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.compiler.java/java.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.compiler.java/jkonoha.jar
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.compiler.js/js.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.compiler/compiler.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.compiler/compiler.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.curl/curl.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.curl/curl.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.i/i.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.i/i.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.io/io.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.io/io.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.json/json.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.json/json.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.lang/lang.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.lang/lang.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.math/math.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.math/math.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.memcached/memcached.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.memcached/memcached.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.mpi/mpi.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.mpi/mpi.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.ntrace/ntrace.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.ntrace/ntrace.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.posix/posix.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.posix/posix.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.proc/proc.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.proc/proc.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.qt4/qt4.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.qt4/qt4.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.signal/signal.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.signal/signal.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.socket/socket.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.socket/socket.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.sugar/sugar.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.thread/thread.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.thread/thread.so
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.xml/xml.k
W: konoha: file-in-unusual-dir usr/konoha/package/1.0/konoha.xml/xml.so
W: konoha: file-in-unusual-dir usr/konoha/script/1.0/actsrv
W: konoha: file-in-unusual-dir usr/konoha/script/1.0/actsrv2
W: konoha: file-in-unusual-dir usr/konoha/script/1.0/mailbox.k
W: konoha: file-in-unusual-dir usr/konoha/script/1.0/man
W: konoha: file-in-unusual-dir usr/konoha/script/1.0/status
W: konoha: jar-not-in-usr-share usr/konoha/package/1.0/konoha.compiler.java/jkonoha.jar
W: konoha: binary-without-manpage usr/bin/jkonoha
W: konoha: binary-without-manpage usr/bin/konoha
W: konoha: binary-without-manpage usr/bin/konoha2js
W: konoha: binary-without-manpage usr/bin/konohac
W: konoha: binary-without-manpage usr/bin/mpikonoha
W: konoha: non-dev-pkg-with-shlib-symlink usr/lib/libkonoha.so.1.0.0 usr/lib/libkonoha.so
下のが必考えす。
a ITP changelog number
b Konoha Extra Pacage /usr/konoha から/usr/lib/konoha
c TODO, manpage
2. ルド依存
$ sudo pbuilder build konoha_1.0.0~954-1.dsc \
--basetgz /var/cache/pbuilder/base-amd64.tgz
/var/cache/pbuilder/result/ Konoha /ースるこ認した。
18
57 西 Debian 強会 2012 3
6 t-code
西 孝三
56 西 Debian emacs24 で問使 t-code.deb た話
表でとりえず題な動作るオオレージを作成すとこで終いました今回は最 Emacs
も動るよた変管理と思
6.1
回とりあえず動くージ作るめにたことは派生ポジ (http://code.google.com/p/tcode)
更が加えられたコードを既存のケーのソスに上書きコピーした上で build うとうものでした。今後行
きこのひしてどのな変加えを管ていとがます後の更をして場合
のよ方針られ
1. ポジが今 t-code ージ upstream と言張るれま debian クトを派
ジト方にーしビル通るにすこれ回のオレ法と異なこの
もしドが patch
2. 存の t-code ケー upstream のコード直接変更加え (回はコピー上きし) とはせず
管理 (dpatch quilt) 用い変更理す
1. は下由が 2. の方るこまし
既存の t-code ケージの debian レクトリをコピーしただけでは debuild が通らない。結局パチ変更
要。
Subversion の変更履歴の記録が他ソフトウアも含むものいる (Windows IME ある漢直 Win
ソー共にてい)
6.2 quilt
れで回行
1. Debian ケーのソ得とリポのソを取
2. 生リトリスで Debian に変加え
3. debian/source/format 追加 quilt 使こと言し
4. dpkg-source –commit マンいま
19
kozo2@debian:~$ mkdir debsrc
kozo2@debian:~$ cd debsrc; apt-get source t-code
kozo2@debian:~/debsrc$ cd; svn co http://tcode.googlecode.com/svn/trunk/tc
kozo2@debian:~$ cp tc/bushu-util/* debsrc/t-code-2.3.1/bushu-util/
kozo2@debian:~$ cp tc/etc/* debsrc/t-code-2.3.1/etc/
kozo2@debian:~$ cp tc/lisp/* debsrc/t-code-2.3.1/lisp/
kozo2@debian:~$ cp tc/mazegaki/* debsrc/t-code-2.3.1/mazegaki/
kozo2@debian:~$ cd debsrc/t-code-2.3.1
kozo2@debian:~/debsrc/t-code-2.3.1$ mkdir debian/source
kozo2@debian:~/debsrc/t-code-2.3.1$ echo ’3.0 (quilt)’ > debian/source/format
kozo2@debian:~/debsrc/t-code-2.3.1$ dpkg-source --commit
れで debian/patches series いうイルと共にパチフイルが作成されます。チフイル名は先程
マンド入後に指定します。ここでは googlecode ました。 series いうのフイルは複数のイル
用い合にのフ
kozo2@debian:~/debsrc/t-code-2.3.1$ ls debian/patches/
googlecode series
kozo2@debian:~/debsrc/t-code-2.3.1$ cat debian/patches/series
googlecode
6.3
に先 debian/patches ナリる際態に
るよ debian/rules make shebang 1 加え
kozo2@debian:~/debsrc/t-code-2.3.1$ head debian/rules
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/patchsys-quilt.mk
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
この patchsys-quilt.mk cdbs うパ ケー install 用いとがます CDBS Common
Debian Build System で、 deb ド用 debian/rules イル rules で行
用的内容の集りのようす。今回この 1 でうまく patch 当たり、ルドできかどうかで試を行いま
た。
kozo2@debian:~/debsrc/t-code-2.3.1$ debuild -us -uc
...
patching file lisp/eelll.el
Reversed (or previously applied) patch detected! Skipping patch.
22 out of 22 hunks ignored -- saving rejects to file lisp/eelll.el.rej
patching file lisp/guess
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file lisp/guess.rej
patching file lisp/Makefile.am
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file lisp/Makefile.am.rej
patching file lisp/tc-bitmap.el
Reversed (or previously applied) patch detected! Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file lisp/tc-bitmap.el.rej
patching file lisp/tc-help.el
Reversed (or previously applied) patch detected! Skipping patch.
10 out of 10 hunks ignored -- saving rejects to file lisp/tc-help.el.rej
patching file kinput2/Makefile.in
Reversed (or previously applied) patch detected! Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file kinput2/Makefile.in.rej
dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -E -b -B .pc/midnight/ < t-code-2.3.1.orig.iRO91G/
debian/patches/midnight gave error exit status 1
dpkg-buildpackage: error: dpkg-source -b t-code-2.3.1 gave error exit status 2
も何らかの問題があり patch を当てることがで build 失敗しました。今はこの問題の解決まではでませ
でし
20
6.4
できた問ついは勉会場加者決の口をいと
すべ項とてランスるか思いが、スをして GPL v2 外のセン用い
部分無いたの後は更管えしケーを採て頂めのへと
と思でにかそていたいます
21
57 西 Debian 強会 2012 3
7 Debian Policy 2
Control
津尾
月倉敷さんの指名で今回の担当なりました八津尾です。今回はージ作成の要であ control イルにつ
です Debian めばで、まりずに要の
せてだき
7.1 Debian Policy 3.9.3.0
Debian Policy 3.9.3.0 リリスされ、著作表記のフ中心にいくつの変更がありした。現
日本 3.9.1.0 干変まず変更抑えまし
5 5.6.8 *.dsc イル更の Archtecture
テクいに”any all” いうを指るよなり
”Specifying any all indicates that the source package isn’t dependent on any particular architecture.
The set of produced binary packages will include at least one architecture-dependant package and one
architecture-independent package.”
Debian Policy Manual. version 3.9.3.1, Chapter 5.6.8 ”Archtecture”: Ian Jackson and Christian Schwarz,
2012-03-04
any all 指定ると、ソースージが特定のアーテクに依存しないを意味します生成されたバ
リパケーには、アキテ依存ケージとーキクチ非依ケージが少なくと 1 つず
まれ ( 八津)
た、の第 7 (7.1)
し特ーキに依てい合はキテ白になら
た内が追されりまで、語訳しかでいい方をしおきの変
いてそれ章の者にしま
7.2 debian/control
control イルとはケージのメタ情報を扱うフルです。 debian/ control ルは 2 つの段落から
おり、最初の段落が全般的な情報を扱う ”general paragraph”、次の段落がバイナリパケージで使用する情報を扱う
22
”binary package paragraph” てい control す。
:
記述だけ細かール debian policy 5
$dh make -f ()
いう使 debian/ lpc21isp とい arm
ISP ール時に dh make 動的生成 control dh make ンド
使に答 control てい dh make につ
の詳 dh make(8) 照下い。 dh make 使ジ化の大かなれは”Debian ジ化
*
8
たはテナ
*
9
参考りま
debian/control イル
Source: lpc21isp
Section: utils
Priority: optional
Maintainer: Your Name <mail@address.here>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.2
Homepage: http://www.aeolusdevelopment.com
Package: lpc21isp
Architecture: any
Depends:
Description: Portable command line ISP
Portable command line ISP for NXP LPC1000 / LPC2000 family
and Analog Devices ADUC70xx.
こで使用ていいフすの、フ 5.2 ールが取値との意
つい 5.6 を参下さ
7.3 DEBIAN/control
debian/(ージ)/DEBIAN/ 下に control が存在しす。このルは先述 debian/control
dh gencontrol(1) 。詳 man して
$man dh gencontrol
に示 control DEBIAN/control イル成さす。
*
8
ケー ”packaging-tutorial”
*
9
http://www.debian.org/doc/manuals/maint-guide/index.ja.html
はパージ ”maint-guide-ja”
23
DEBIAN/control イル
package: lpc21isp
Version: 1.8.3-1
Architecture: i386
Maintainer: Your Name <main@address.here>
Installed-Size: 588
Section: utils
Priority: optional
Homepage: http://www.aeolusdevelopment.com
Description: Portable command line ISP
Portable command line ISP for NXP LPC1000 / LPC2000 family
and Analog Devices ADUC70xx.
7.4 *.dsc
debuild などを実する *.deb イルと同じデトリ *.dsc イルが生成さます。書 control
で、 control に生 dpkg-source(1) 、ソる時使
時に性の
7.5 *.changes
.changes Debian 使 de-
bian/control debian/changelog debian/rules どかしたスパます
24
7.6
25
57 西 Debian 強会 2012 3
8
Debian JP
8.1
回は 2012 4 22 福島ンタいま
表にてはすのみな発表ちしりま
26
西Debian
Debian
2012 3 25 1
西 Debian
27