[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:01229] Re: multi package ?



やなぎはらです。

From: Kikutani Makoto <kikutani@xxxxxxxxxxxxxxx>
Message-ID: <199706170946.SAA29243@xxxxxxxxxxxxxxxxxxxxxxxx>

kikutani> きくたにです。
kikutani> 
kikutani> やなぎはらさん、詳しい解説ありがとうございました。

いいえ、もうちょっと整理して説明しないとなぁ。と思っています。

kikutani> jedをmultiで作ろうとしたのですが、dpkg-buildpackageの最後で
kikutani> 落ちます。(file 関係のエラーもよくわからないし)
kikutani> 
kikutani> ------------------------------------------------------------
kikutani> file: option requires an argument -- f
kikutani> Usage: file [-vczL] [-f namefile] [-m magicfiles] file...
kikutani> file: illegal option -- p
kikutani> file: illegal option -- r
kikutani> file: illegal option -- u
kikutani> file: illegal option -- n
kikutani> file: illegal option -- e
kikutani> Usage: file [-vczL] [-f namefile] [-m magicfiles] file...
kikutani> file: illegal option -- l
kikutani> file: illegal option -- s
kikutani> Usage: file [-vczL] [-f namefile] [-m magicfiles] file...
kikutani> -- Compressing Documentation
kikutani> -- Checking Symlinks
kikutani> dpkg-gencontrol
kikutani> dpkg-gencontrol: error: must specify package since control info has many (C jeddoc-ja C jedbin-ja)
kikutani> make: *** [binary-arch] Error 29
kikutani> ------------------------------------------------------------
kikutani> 
kikutani> changelogは
kikutani> ------------------------------------------------------------
kikutani> jed-ja (0.98.2-1) unstable; urgency=low
kikutani> 
kikutani>   * Initial Release.
kikutani> 
kikutani>  -- Kikutani Makoto <kikutani@xxxxxxxxx>  Mon, 16 Jun 1997 17:25:45 +0900
kikutani> 
kikutani> Local variables:
kikutani> mode: debian-changelog
kikutani> End:
kikutani> ------------------------------------------------------------
kikutani> 作業ディレクトリは jed-ja-098-2 です(ディレクトリ名にドットは
kikutani> 許されないらしい)。
kikutani> 
kikutani> controlは
kikutani> ------------------------------------------------------------
kikutani> Source: jed-ja
kikutani> Section: editors
kikutani> Priority: extra
kikutani> Maintainer: Kikutani Makoto <kikutani@xxxxxxxxx>
kikutani> Standards-Version: 2.1.1.0
kikutani> 
kikutani> Package: jedbin-ja
kikutani> Architecture: i386
kikutani> Depends: ${shlibs:Depends}, jeddoc-ja

jedbin-ja は、jeddoc-ja がインストールされていないといけないのですか?
でも、jeddoc-ja も jedbin-ja に依存させているようですので、
これだと普通にはインストールできないと思いますが。

kikutani> Replaces: jed, jed-ja

jed-ja というバイナリパッケージはないんじゃないですか?
この control ファイルを見ると作成されるべきパッケージは、

	jedbin-ja
	jeddoc-ja

の二つに思われます。

kikutani> Suggests: elf-x11r6lib
kikutani> Provides: info-browser, editor
kikutani> Description: JED - programmers's editor(Japanese version)
kikutani>  Jed offers:
kikutani>  Extensible in a language resembling C. Completely customizable.
kikutani>  Capable of read GNU info files from within JED's info browser.
kikutani>  A variety of programming modes (with syntax highlighting) are
kikutani>  available including Pascal, Java, Perl, C, C++, FORTRAN, TeX,
kikutani>  HTML, SH, IDL, DCL, NROFF, PostScript.
kikutani>  Edit TeX files with AUC-TeX style editing (BiBTeX support too).
kikutani>  Rectangular cut/paste; regular expressions; incremental searches;
kikutani>  search replace across multiple files; multiple windows; multiple
kikutani>  buffers; shell modes; directory editor (dired); mail; rmail;
kikutani>  ispell; and much more.
kikutani> 
kikutani> Package: jeddoc-ja
kikutani> Architecture: all
kikutani> Depends: jedbin-ja

この依存関係が、さきほど指摘したところです。
普通、jedbin-ja はそのままインストールでき、
jeddoc-ja は、jedbin-ja がインストールされていないとダメ。
というふうにするんじゃないかと思いますが。

kikutani> Description: jed's slang files and japanese documents
kikutani>  This pkg provides jed's slang files
kikutani> ------------------------------------------------------------
kikutani> 
kikutani> rules は
kikutani> ------------------------------------------------------------
kikutani> #!/usr/bin/make -f
kikutani> # Sample debian.rules file - for GNU Hello (1.3).
kikutani> # Copyright 1994,1995 by Ian Jackson.
kikutani> # I hereby give you perpetual unlimited permission to copy,
kikutani> # modify and relicense this file, provided that you do not remove
kikutani> # my name from the file itself.  (I assert my moral right of
kikutani> # paternity under the Copyright, Designs and Patents Act 1988.)
kikutani> # This file may have to be extensively modified
kikutani> #
kikutani> # Modified to be a prototype for debmake by Christoph Lameter <clameter@debian.org>
kikutani> 
kikutani> package=jed-ja

ここは、メインパッケージ名を書くので、jedbin-ja に
なると思います。

kikutani> 
kikutani> build:
kikutani> 	$(checkdir)
kikutani> 	JED_ROOT=/usr/lib/jed
kikutani> 	export JED_ROOT
kikutani> 	./configure
kikutani> 	make
kikutani> 	make xjed
kikutani> 	make rgrep     
kikutani> 	make getmail   
kikutani> 
kikutani> 	touch build
kikutani> 
kikutani> clean:
kikutani> 	$(checkdir)
kikutani> 	-rm -f build
kikutani> 	-make clean
kikutani> 	-rm `find . -name "*~"`
kikutani> 	-rm -rf debian/tmp debian/*/tmp debian/files* core
kikutani> 
kikutani> binary-indep:	checkroot build
kikutani> 	$(checkdir)
kikutani> 	-rm -rf debian/tmp debian/*/tmp
kikutani> 	install -d debian/tmp/usr/lib
kikutani> 	install -d debian/tmp/usr/lib/jed
kikutani> 	install -d debian/tmp/usr/lib/jed/{lib,info,doc,j-doc}
kikutani> 	cp -f doc/* debian/tmp/usr/lib/jed/doc
kikutani> 	cp -f j-doc/* debian/tmp/usr/lib/jed/j-doc
kikutani> 	cp -f info/* debian/tmp/usr/lib/jed/info
kikutani> 	cp -f lib/* debian/tmp/usr/lib/jed/lib
kikutani> # There are no architecture-independent files to be uploaded
kikutani> # generated by this package.  If there were any they would be
kikutani> # made here.
kikutani> 
kikutani> binary-arch:	checkroot build
kikutani> 	$(checkdir)
kikutani> 	-rm -rf debian/tmp debian/*/tmp
kikutani> 	install -d debian/tmp/usr/{bin,lib}
kikutani> 	install -d debian/tmp/usr/lib/jed
kikutani> 	install -d debian/tmp/usr/lib/jed/{lib,bin}
kikutani> 	install -cs src/linuxobjs/jed debian/tmp/usr/bin
kikutani> 	install -cs src/linuxobjs/xjed debian/tmp/usr/bin
kikutani> 	install -cs src/linuxobjs/rgrep debian/tmp/usr/bin
kikutani> 	install -cs src/linuxobjs/getmail debian/tmp/usr/lib/jed/bin
kikutani> 	debstd $(package) COPYING COPYRIGHT README INSTALL*

debstdn は debmake-1.95 ではないですね。
multi-package 用のコマンドは、debmstd だと思います。
#じゃぁ、debstdn はなに?どうも、debmake-2.xxではあったようです。

できたら、debmake-3.3.3 にしたほうがいいですよ。
それと dpkg, dpkg-dev も 1.4.0.17 のほうがいいです。
1.4.0.17では、chown のバグを修正してあるらしいです。
(hamm に入っていますが、libc5 があれば動きますので)

kikutani> 	dpkg-gencontrol
kikutani> 	chown -R root.root debian/tmp
kikutani> 	chmod -R go=rX debian/tmp
kikutani> 	dpkg --build debian/tmp ..
kikutani> 
kikutani> define checkdir
kikutani> 	test -f debian/rules
kikutani> endef
kikutani> 
kikutani> # Below here is fairly generic really
kikutani> 
kikutani> binary:		binary-indep binary-arch
kikutani> 
kikutani> source diff:
kikutani> 	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
kikutani> 
kikutani> checkroot:
kikutani> 	$(checkdir)
kikutani> 	test root = "`whoami`"
kikutani> 
kikutani> ..PHONY: binary binary-arch binary-indep clean checkroot
kikutani> ------------------------------------------------------------
kikutani> 変なところを指摘してください。

こんな感じでしょうか。

+---------------------------------------------------------+
 Yoshiaki Yanagihara		E-mail: yochi@xxxxxxxxxxx           
					yosiaki@debian.org
 Debian JP Project
 [Japanese] http://www.debian.linux.or.jp/
 [English ] Sorry, now under construction.