8 dpkg “3.0 (quilt)”

野与

PIC
____________________________________________________________________

8.1 は じ め に

Debian 使ているさんはご存知とはいますがデフルトになる予定squeeze release goal である Debian スパ3.0 (quilt)をしたいといます

8.2 “1.0”

まずは 3.0 (quilt)いままで使われてきた(“1.0”) 単にまとめます

1.0ではスパ以下3 イルされます

なおには1.02 のほかに “Debian native がありますDebian native 2 イルされます

ここで*.orig.tar.gzには常上流のスツリまれます*.diff.gzにはスパから な ど を ビ ル ド す る の に 必 要 ス ク リ プ ト な ど が debian/レクトリ流のするジメン テナまれます

8.3 しかし

してきましたがこのイルには

  1. カイブgzip しか使えない
  2. 複数カイブされる流のがそのままえない
  3. メンテナてたへのつながてしまている
  4. debian/以下バイナリフイル直接けない

などのがあります

そこでさまざまな方法討されました

1 これにより流が bz2 していても gz 直さなければならなかたりしていました*.orig.tar.gz 流のカイブであるとい方法なども無駄ですが...使われてきましたこの方法ビルド にその tarball 展開してしますcdbs にはこの方法へのサポもあります

2 1 同様方法複数tarball *.orig.tar.gzしたりしていました

3 ているのそれぞれがどんなわれたのかがわからないということまたdebian/以下 流ソへのくたになてしまていることでしたそこでまとま味のある単位分割 れたをまずしておきそれらをdebian/patches/そのかいビルドてる/ ムワ(patch system) 利用されていますこれには dpatch quilt などがありますなお かいのそれぞれには頭にする文章することが推奨されています ( http://dep.debian.net/deps/dep3/)

4 バイナリフイルdiff ろうとしてもpatch ではできないことがなのでuuencode などでテキスト として patch とい法がいられてきました

8.4 そこで

このようなするためにたなスパ討されましたそれが 3.0 (quilt) 3.0 (native)です

3.0 (quilt)3 イルされます

なお1.0にあDebian native する 3.0 (native)2 イルされ ます

ここでまずtar 張子部分ext gz のほかbz2, lzma, xz 利用できるようになりましたこれにより1 されました3.0 (native)におけるはこれです) 。

またcomponent 部分適当えることにより複数tarball をきちんとえるようになりましたこれが2 します

debian/イルはすべて*.debian.tar.gzれることになりましたこれですべてが なくなりましたさらにdebian/patches/チシステム quilt 的に同じ方法 dpkg-source(1)によスパ展開動的にたるようになりましたこれによりビルド てるようにdebian/rulesイルする必要はなくなりましたしdebian/control イル Build-Depends: quiltなどと必要もなくなりましたこれらによ3 されま した

4 についてはdebian/イルdiff としてすることはもはやなくなたので*.debian.tar.ext 直にバイナリフイルできます

8.5 動向

この3.0 (quilt)Debian カイブしていているためgzip より lzma lenny 現在 なら xz使すればサイズえられるとい由でlenny でより推進されるようになりました Debian にあるスパすべてが 3.0 (quilt)化可能になたらすべき minor/wishlist バグ http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=hertzog@debian.org;tag=3.0-quilt-by-default にあ ります) 、 dpkg デフルト3.0 (quilt)スパビルドするようにされるとのことで というわけでこれから3.0 しまし

8.6 1 gzip

としてまず gzip スパ(1.3.12-9) 3.0 (quilt)してみましたこのスパ 直に patch てたていましたdpkg-source(1)による展開分かります:

$ apt-get source gzip
ジリストんでいます... 
存 関 ツ リ し て い ま す
ています... 
479kB  スアカイブする必要があります
:1 http://ftp.jp.debian.org testing/main gzip 1.3.12-9 (dsc) [1,647B]
:2 http://ftp.jp.debian.org testing/main gzip 1.3.12-9 (tar) [462kB]
:3 http://ftp.jp.debian.org testing/main gzip 1.3.12-9 (diff) [15.7kB]
479kB   1s  しました (250kB/s)
dpkg-source: info: extracting gzip in gzip-1.3.12
dpkg-source: info: unpacking gzip_1.3.12.orig.tar.gz
dpkg-source: info: applying gzip_1.3.12-9.diff.gz
dpkg-source: info: upstream files that have been modified:
 gzip-1.3.12/.gbp.conf
 gzip-1.3.12/deflate.c
 gzip-1.3.12/gzip.1

(snip)
8.6.1 ビルド

現在デフルト1.0なので3.0 (quilt)してからスパります

$ cd gzip-1.3.12/
$ mkdir -p debian/source
$ echo ’3.0 (quilt)’ > debian/source/format
$ debuild -S -us -uc
 dpkg-buildpackage -rfakeroot -d -us -uc -S
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

 dpkg-source -b gzip-1.3.12
dpkg-source: info: using source format ‘3.0 (quilt)’
dpkg-source: info: building gzip using existing ./gzip_1.3.12.orig.tar.gz
dpkg-source: info: local changes stored in gzip-1.3.12/debian/patches/debian-changes-1.3.12-9, the modified files are:
 gzip-1.3.12/.gbp.conf
 gzip-1.3.12/deflate.c

(snip)

dpkg-source: info: building gzip in gzip_1.3.12-9.debian.tar.gz
dpkg-source: info: building gzip in gzip_1.3.12-9.dsc
 dpkg-genchanges -S >../gzip_1.3.12-9_source.changes

(snip)

とりあえずdiff.gz 流ソへの部分する 1 つの動でしてくれますこの そのままではこのにした味がほとんどないので分けましまた文テンプ debian/changelogにしてけてくれるのでしてしいにしまし 略)

バイナリパビルドしてみます

$ debuild -b -us -uc
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value:
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package gzip
dpkg-buildpackage: source version 1.3.12-9
dpkg-buildpackage: source changed by Bdale Garbee <bdale@gag.com>
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: mingw32
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1330:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed

Build-Dependsたしてビルドします

$ mk-build-deps
dh_testdir

(snip)

dpkg-deb: ‘../gzip-build-deps_1.0_all.deb’   ‘gzip-build-deps’  しています

The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
$ sudo dpkg -i gzip-build-deps_1.0_all.deb
未選択 gzip-build-deps  選択しています
(タベんでいます ...  現在 203017  イルレクトリインストされています)
(gzip-build-deps_1.0_all.deb  から) gzip-build-deps  展開しています...
dpkg:  存関により gzip-build-deps  ができません:
 gzip-build-deps  以下 (depends)  します: mingw32 ... しかし:
    mingw32  はまだインストされていません
dpkg: gzip-build-deps  エラ発生しました (--install):
  存関 -  ります
以 下 エ ラ 発 生しました :
 gzip-build-deps
$ sudo aptitude install gzip-build-deps
ジリストんでいます... 

(snip)

タスクんでいます... 

現在:  存関損が 0   [-1]
$ debuild -b -us -uc
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

dpkg-deb: ‘../gzip_1.3.12-9_amd64.deb’   ‘gzip’  しています
 dpkg-genchanges -b >../gzip_1.3.12-9_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-buildpackage: binary only upload (no source included)
Now running lintian...
W: gzip: missing-dependency-on-install-info
Finished running lintian.

8.7 2 bash-completion

チシステムとして quilt 使ていた bash-completion 3.0 (quilt)してみま した

8.7.1 まずビルド

チシステムではビルドていないので動でツリてられてスパビルド されます

$ apt-get source bash-completion
ジリストんでいます... 

(snip)

$ cd bash-completion-1.1/
$ mkdir -p debian/source
$ echo ’3.0 (quilt)’ > debian/source/format
$ debuild -S -us -uc
 dpkg-buildpackage -rfakeroot -d -us -uc -S
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

 fakeroot debian/rules clean
dh --with quilt clean
   dh_testdir
   dh_auto_clean
   dh_quilt_unpatch
適用されているはありません
   dh_clean
 dpkg-source -b bash-completion-1.1
dpkg-source: info: using source format ‘3.0 (quilt)’
dpkg-source: warning: patches have not been applied, applying them now (use --no-preparation to override)
dpkg-source: info: applying 01-fix_550943.patch
dpkg-source: info: applying 02-fix_552109.patch
dpkg-source: info: applying 03-fix_552631.patch
dpkg-source: info: building bash-completion using existing ./bash-completion_1.1.orig.tar.gz
dpkg-source: info: building bash-completion in bash-completion_1.1-3.debian.tar.gz
dpkg-source: info: building bash-completion in bash-completion_1.1-3.dsc
 dpkg-genchanges -S >../bash-completion_1.1-3_source.changes

(snip)

ありませんでしたが3.0 (quilt)quilt とは妙になりすべてpatch -p1としてわれるので path 適当調整する必要があるかもしれません

8.7.2 quilt りの

展開たるのでdebian/rulesてている部分はもうりませんこのスパ dh(1)使していたので単でした

--- debian/rules 2010-03-18 10:50:30.000000000 +0900
+++ debian/rules.new 2010-03-18 10:54:53.000000000 +0900
@@ -21,11 +21,11 @@

 build: build-stamp
 build-stamp:
- dh --with quilt build
+ dh build
  touch $@

 clean:
- dh --with quilt $@
+ dh $@

 install: install-stamp
 install-stamp: build

quilt にはBuild-Dependsしません

--- debian/control 2010-03-18 10:50:30.000000000 +0900
+++ debian/control.new 2010-03-18 10:57:00.000000000 +0900
@@ -3,7 +3,7 @@
 Priority: standard
 Maintainer: Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>
 Uploaders: David Paleino <dapal@debian.org>
-Build-Depends: debhelper (>= 7.0.50), quilt (>= 0.46-7~)
+Build-Depends: debhelper (>= 7.0.50)
 Build-Depends-Indep: perl
 Standards-Version: 3.8.3
 Vcs-Git: git://git.debian.org/git/bash-completion/debian.git
8.7.3 もう

めから3.0 (quilt)です

$ debuild -S -us -uc
 dpkg-buildpackage -rfakeroot -d -us -uc -S

(snip)

 fakeroot debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b bash-completion-1.1
dpkg-source: info: using source format ‘3.0 (quilt)’
dpkg-source: info: building bash-completion using existing ./bash-completion_1.1.orig.tar.gz
dpkg-source: info: building bash-completion in bash-completion_1.1-3.debian.tar.gz
dpkg-source: info: building bash-completion in bash-completion_1.1-3.dsc
 dpkg-genchanges -S >../bash-completion_1.1-3_source.changes
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: binary and diff upload (original source NOT included)
Now running lintian...
Finished running lintian.

バイナリパビルドします

$ debuild -b -us -uc
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

dpkg-deb: ‘../bash-completion_1.1-3_all.deb’   ‘bash-completion’  しています
 dpkg-genchanges -b >../bash-completion_1.1-3_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-buildpackage: binary only upload (no source included)
Now running lintian...
Finished running lintian.

8.8 3 ptex-bin

には複数スアカイブ使している ptex-bin スパ(3.1.11+0.04b-0.1) 3.0 (quilt) てみました

ptex-bin スパにはptex-src-*.tar.gzjmpost-*.tar.gz2 つのtarball からされま さらに Build-Depends: ptex-buildsupportとなていますがこの ptex-buildsupport tetex-src-*-stripped.tar.gzのみがまれるほぼビルドですすなわち3 つのtarball 使 われていますそのこのスパにはdebian/patches/レクトリがありますがquilt dpatch とい的なものではなくビルドpatch debian/rules直接になていま した

8.8.1 名前
 $ apt-get source ptex-bin
 $ apt-get source ptex-buildsupport

適当名前えますここでは

$ mv ptex-bin-3.1.11+0.04b/ptex-src-3.1.11.tar.gz ptex-bin_3.1.11+0.04b+3.0.orig.tar.gz
$ mv ptex-bin-3.1.11+0.04b/jmpost-0.04b.tar.gz ptex-bin_3.1.11+0.04b+3.0.orig-jmpost.tar.gz
$ mv ptex-buildsupport-3.0/tetex-src-3.0-stripped.tar.gz ptex-bin_3.1.11+0.04b+3.0.orig-tetex-stripped.tar.gz

としました3.0 (quilt)では*.orig.tar.ext がまずメイン展開されそのスツリcomponent レクト られてその*.orig-component.tar.ext 展開されますまたcomponent にはハイフンのみが使 ます

8.8.2 とりあえずビルド
$ mkdir ptex-bin-3.1.11+0.04b+3.0
$ cd ptex-bin-3.1.11+0.04b+3.0/
$ cp -a ../ptex-bin-3.1.11+0.04b/debian .
$ mkdir -p debian/source
$ echo ’3.0 (quilt)’ > debian/source/format
$ dch -v 3.1.11+0.04b+3.0-0.1
適当changelog
$ debuild -S -us -uc
 dpkg-buildpackage -rfakeroot -d -us -uc -S
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value:
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package ptex-bin
dpkg-buildpackage: source version 3.1.11+0.04b+3.0-0.1
dpkg-buildpackage: source changed by YOSHINO Yoshihito <yy.y.ja.jp@gmail.com>
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
# Remove teTeX source directory.
rm -rf tetex-src-3.0
dh_clean
dh_clean: Compatibility levels before 5 are deprecated.
 dpkg-source -b ptex-bin-3.1.11+0.04b+3.0
dpkg-source: info: using source format ‘3.0 (quilt)’
dpkg-source: info: building ptex-bin using existing ./ptex-bin_3.1.11+0.04b+3.0.
orig-jmpost.tar.gz ./ptex-bin_3.1.11+0.04b+3.0.orig-tetex-stripped.tar.gz ./ptex
-bin_3.1.11+0.04b+3.0.orig.tar.gz
dpkg-source: warning: ignoring deletion of file kanji.defines
dpkg-source: warning: ignoring deletion of file pconvert
dpkg-source: warning: ignoring deletion of file tftopl.ch

(snip)

dpkg-source: info: building ptex-bin in ptex-bin_3.1.11+0.04b+3.0-0.1.debian.tar
.gz
dpkg-source: info: building ptex-bin in ptex-bin_3.1.11+0.04b+3.0-0.1.dsc
 dpkg-genchanges -S >../ptex-bin_3.1.11+0.04b+3.0-0.1_source.changes

とりあえずスツリたのでがないという warning スルします

$ cd ..
$ dpkg-source -x ptex-bin_3.1.11+0.04b+3.0-0.1.dsc
dpkg-source: warning: extracting unsigned source package (ptex-bin_3.1.11+0.04b+3.0-0.1.dsc)
dpkg-source: info: extracting ptex-bin in ptex-bin-3.1.11+0.04b+3.0
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0.orig.tar.gz
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0.orig-jmpost.tar.gz
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0.orig-tetex-stripped.tar.gz
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0-0.1.debian.tar.gz
$ cd -
$ ls -F
COPYRIGHT      README.txt   jbibtex.ch       mkconf        ptexextra.h
COPYRIGHT.jis  configure*   jbibtex.defines  pconvert*     ptexhelp.h
Changes.txt    debian/      jmpost/          pdvitype.ch   tetex-stripped/
Files          jbibd.sed    kanji.c          pltotf.ch     tftopl.ch
INSTALL.txt    jbibextra.c  kanji.defines    ptex-base.ch  usage.c
Makefile.in    jbibextra.h  kanji.h.in       ptexextra.c   version.c

メインプデレクトリでそのままビルドできるようなものはいいですがptex-src-*.tar.gzはそうではな いので妙ですね... ともかくビルドレクトリビルドできるようにdebian/rules必要 した

8.8.3 quilt

チシステム quilt 使ていればほとんど必要はありませんがこの分かれているものの ているのでまず quilt 必要でした

-p1したdebian/rulesかれているりのquilt import && quilt pushしまし quilt では同じ名はダメのようですね

$ cd debian/
$ mv patches patches.old
$ sed -i ’s@^\(---\|+++\) @&ptex-bin-3.1.11+0.04b+3.0/tetex-stripped/@’ patches.old/teTeX/*.patch
$ sed -i ’s@^\(---\|+++\) @&ptex-bin-3.1.11+0.04b+3.0/@’ patches.old/*.patch
$ sed -i ’s@^\(---\|+++\) @&ptex-bin-3.1.11+0.04b+3.0/jmpost/@’ patches.old/jmpost/*.patch
$ mv patches.old/Makefile.in.patch patches.old/pTeX_Makefile.in.patch
$ mv patches.old/jmpost/Makefile.in.patch patches.old/jmpost/jmpost_Makefile.in.patch
$ quilt import patches.old/teTeX/*.patch patches.old/*.patch patches.old/jmpost/*.patch
 patches.old/teTeX/Makefile.in.patch  んでいます (Makefile.in.patch  として存されます)
 patches.old/teTeX/common.mk.patch  んでいます (common.mk.patch  として存されます)
 patches.old/teTeX/config.h.patch  んでいます (config.h.patch  として存されます)
 patches.old/teTeX/depend.mk.patch  んでいます (depend.mk.patch  として存されます)
 patches.old/teTeX/splitup.c.patch  んでいます (splitup.c.patch  として存されます)
 patches.old/teTeX/web2c.depend.mk.patch  んでいます (web2c.depend.mk.patch  として存されます)
 patches.old/pTeX_Makefile.in.patch  んでいます (pTeX_Makefile.in.patch  として存されます)
 patches.old/jmpost/jmpost_Makefile.in.patch  んでいます (jmpost_Makefile.in.patch  として存されます)
$ cd ..
$ env QUILT_PATCHES=debian/patches quilt push -a
 Makefile.in.patch  適用しています
patching file tetex-stripped/texk/web2c/web2c/Makefile.in

 common.mk.patch  適用しています
patching file tetex-stripped/texk/make/common.mk

 config.h.patch  適用しています
patching file tetex-stripped/texk/web2c/config.h

 depend.mk.patch  適用しています
patching file tetex-stripped/texk/web2c/lib/depend.mk

 splitup.c.patch  適用しています
patching file tetex-stripped/texk/web2c/web2c/splitup.c

 web2c.depend.mk.patch  適用しています
patching file tetex-stripped/texk/web2c/web2c/depend.mk

 pTeX_Makefile.in.patch  適用しています
patching file Makefile.in

 jmpost_Makefile.in.patch  適用しています
patching file jmpost/Makefile.in

現在 jmpost_Makefile.in.patch  です
$ rm -r debian/patches.old/
8.8.4 debian/rules, debian/control

tarball をもう展開する必要はありませんビルドレクトリコピすることにしますてる必要もないので そのります

--- debian/rules 2010-03-18 12:01:15.000000000 +0900
+++ debian/rules.new 2010-03-18 13:19:09.000000000 +0900
@@ -6,29 +6,14 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1

-####################
-# Things you should change when new upstream version is available.
-
-# Minimal teTeX source tarball.
-# You should install ptex-buildsupport package beforehand.
-TETEX_SRC_TARBALL=/usr/src/tetex-src-3.0-stripped.tar.gz
-
 # teTeX source directory.
-TETEX_SRC_DIR=tetex-src-3.0
-
-# pTeX source tarball.
-PTEX_SRC_TARBALL=ptex-src-3.1.11.tar.gz
+TETEX_SRC_DIR=tetex-src

 # pTeX source directory.
-PTEX_SRC_DIR=ptex-src-3.1.11
-
-# Japanized MetaPost tarball.
-JMPOST_SRC_TARBALL=jmpost-0.04b.tar.gz
+PTEX_SRC_DIR=ptex-src

 # Japanized MetaPost source directory.
-JMPOST_SRC_DIR=jmpost-0.04b
-
-####################
+JMPOST_SRC_DIR=jmpost-src

 DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)

@@ -42,31 +27,14 @@
 configure: configure-stamp
 configure-stamp:
  dh_testdir
- # Unpack tarballs.
- tar xfz $(TETEX_SRC_TARBALL)
+ cp -al tetex-stripped $(TETEX_SRC_DIR)
  mkdir $(TETEX_SRC_DIR)/texk/kpathsea_tetex
  mv $(TETEX_SRC_DIR)/texk/kpathsea/c-proto.h $(TETEX_SRC_DIR)/texk/kpathsea_tetex/
  rm -rf $(TETEX_SRC_DIR)/texk/kpathsea
  ln -s /usr/include/kpathsea $(TETEX_SRC_DIR)/texk/kpathsea
- tar xfz $(PTEX_SRC_TARBALL) -C $(TETEX_SRC_DIR)/texk/web2c
- tar xfz $(JMPOST_SRC_TARBALL) -C $(TETEX_SRC_DIR)/texk/web2c/$(PTEX_SRC_DIR)
-
- # Apply patches to teTeX source
- for f in debian/patches/teTeX/*.patch; do \
- patch -p0 -d $(TETEX_SRC_DIR) < $$f; \
- done
-
- # Apply patches to pTeX source (should be named as *.patch)
- # Put patches in debian/patches.
- (for f in debian/patches/*.patch ; do \
-   patch -p0 -d $(TETEX_SRC_DIR)/texk/web2c/$(PTEX_SRC_DIR) < $$f ; \
- done)
-
- # Apply patches to Japanized MetaPost source (should be named as *.patch)
- # Put patches in debian/patches/jmpost.
- (for f in debian/patches/jmpost/*.patch ; do \
-   patch -p0 -d $(TETEX_SRC_DIR)/texk/web2c/$(PTEX_SRC_DIR)/$(JMPOST_SRC_DIR) < $$f ; \
- done)
+ mkdir $(TETEX_SRC_DIR)/texk/web2c/$(PTEX_SRC_DIR)
+ for f in ‘find . -maxdepth 1 -type f‘; do cp -al $$f $(TETEX_SRC_DIR)/texk/web2c/$(PTEX_SRC_DIR); done
+ cp -al jmpost $(TETEX_SRC_DIR)/texk/web2c/$(PTEX_SRC_DIR)/$(JMPOST_SRC_DIR)

  # Copy texmf.cnf from your system.
  cp /usr/share/texmf/web2c/texmf.cnf \

ptex-buildsupport になりました

--- debian/control 2010-03-18 12:01:15.000000000 +0900
+++ debian/control.new 2010-03-18 13:23:09.000000000 +0900
@@ -2,7 +2,7 @@
 Section: tex
 Priority: optional
 Maintainer: Masayuki Hatta (mhatta) <mhatta@debian.org>
-Build-Depends: debhelper (>> 4.0.0), texlive-binaries,
 texlive-extra-utils, texlive-metapost, flex, bison, libkpathsea-dev, \
ptex-base (>= 2.4), ptex-buildsupport (>= 3.0), libtool
+Build-Depends: debhelper (>> 4.0.0), texlive-binaries,
 texlive-extra-utils, texlive-metapost, flex, bison, libkpathsea-dev, \
ptex-base (>= 2.4), libtool
 Standards-Version: 3.7.3

 Package: ptex-bin
8.8.5 ビルド
$ debuild -S -us -uc
 dpkg-buildpackage -rfakeroot -d -us -uc -S
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

しにdpkg-source -xしてみます

$ dpkg-source -x ptex-bin_3.1.11+0.04b+3.0-0.1.dsc
dpkg-source: warning: extracting unsigned source package (ptex-bin_3.1.11+0.04b+3.0-0.1.dsc)
dpkg-source: info: extracting ptex-bin in ptex-bin-3.1.11+0.04b+3.0
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0.orig.tar.gz
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0.orig-jmpost.tar.gz
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0.orig-tetex-stripped.tar.gz
dpkg-source: info: unpacking ptex-bin_3.1.11+0.04b+3.0-0.1.debian.tar.gz
dpkg-source: info: applying Makefile.in.patch
dpkg-source: info: applying common.mk.patch
dpkg-source: info: applying config.h.patch
dpkg-source: info: applying depend.mk.patch
dpkg-source: info: applying splitup.c.patch
dpkg-source: info: applying web2c.depend.mk.patch
dpkg-source: info: applying pTeX_Makefile.in.patch
dpkg-source: info: applying jmpost_Makefile.in.patch

無事たりましたバイナリパビルドします

$ debuild -b -us -uc
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1330:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed
$ mk-build-deps

(snip)

$ sudo dpkg -i ptex-bin-build-deps_1.0_all.deb

(snip)

$ sudo aptitude install ptex-bin-build-deps

(snip)

$ debuild -b -us -uc
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: set CFLAGS to default value: -g -O2

(snip)

dh_builddeb
dh_builddeb: Compatibility levels before 5 are deprecated.
dpkg-deb: ‘../ptex-bin_3.1.11+0.04b+3.0-0.1_amd64.deb’   ‘ptex-bin’  しています
dpkg-deb: ‘../jbibtex-bin_3.1.11+0.04b+3.0-0.1_amd64.deb’   ‘jbibtex-bin’  しています
dpkg-deb: ‘../jmpost_3.1.11+0.04b+3.0-0.1_amd64.deb’   ‘jmpost’  しています
 dpkg-genchanges -b >../ptex-bin_3.1.11+0.04b+3.0-0.1_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-buildpackage: binary only upload (no source included)
Now running lintian...
W: jmpost: binary-without-manpage usr/bin/pmakempx
W: jbibtex-bin: copyright-without-copyright-notice
Finished running lintian.

無事できました

8.9 References

____________________________________________________________________________________________

PIC Debian

2010 3 20   1 発行
エ リ ア Debian 発行
__________________________