2004年10月17日日曜日

CPANモジュールのdebパッケージ作成方法


��師匠が言っていたのは、これかな?



お世話になっているソフト達: 2.5.2 perl(Practical Extraction and Report Language) : 最もメジャーなインタプリタ



試しに入れてみる。



hcube:/tmp# apt-get install dh-make-perl
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
debconf-utils debhelper fakeroot html2text intltool-debian libyaml-perl
po-debconf
Suggested packages:
dh-make
Recommended packages:
apt-file
The following NEW packages will be installed:
debconf-utils debhelper dh-make-perl fakeroot html2text intltool-debian
libyaml-perl po-debconf
0 upgraded, 8 newly installed, 0 to remove and 1 not upgraded.
Need to get 719kB of archives.
After unpacking 2257kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://ring.ocn.ad.jp sid/main debconf-utils 1.4.39 [33.0kB]
Get:2 http://ring.ocn.ad.jp sid/main html2text 1.3.2a-1 [89.3kB]
Get:3 http://ring.ocn.ad.jp sid/main intltool-debian 0.30+20040213 [23.5kB]
Get:4 http://ring.ocn.ad.jp sid/main po-debconf 0.8.14 [66.7kB]
Get:5 http://ring.ocn.ad.jp sid/main debhelper 4.2.21 [358kB]
Get:6 http://ring.ocn.ad.jp sid/main fakeroot 1.1.2 [67.9kB]
Get:7 http://ring.ocn.ad.jp sid/main libyaml-perl 0.35-1 [60.2kB]
Get:8 http://ring.ocn.ad.jp sid/main dh-make-perl 0.12 [20.3kB]
Fetched 719kB in 0s (1806kB/s)
Selecting previously deselected package debconf-utils.
(Reading database ... 87507 files and directories currently installed.)
Unpacking debconf-utils (from .../debconf-utils_1.4.39_all.deb) ...
Selecting previously deselected package html2text.
Unpacking html2text (from .../html2text_1.3.2a-1_i386.deb) ...
Selecting previously deselected package intltool-debian.
Unpacking intltool-debian (from .../intltool-debian_0.30+20040213_all.deb) ...
Selecting previously deselected package po-debconf.
Unpacking po-debconf (from .../po-debconf_0.8.14_all.deb) ...
Selecting previously deselected package debhelper.
Unpacking debhelper (from .../debhelper_4.2.21_all.deb) ...
Selecting previously deselected package fakeroot.
Unpacking fakeroot (from .../fakeroot_1.1.2_i386.deb) ...
Selecting previously deselected package libyaml-perl.
Unpacking libyaml-perl (from .../libyaml-perl_0.35-1_all.deb) ...
Selecting previously deselected package dh-make-perl.
Unpacking dh-make-perl (from .../dh-make-perl_0.12_all.deb) ...
Setting up debconf-utils (1.4.39) ...
Setting up html2text (1.3.2a-1) ...
Setting up intltool-debian (0.30+20040213) ...
Setting up po-debconf (0.8.14) ...
Setting up debhelper (4.2.21) ...
Setting up fakeroot (1.1.2) ...
Setting up libyaml-perl (0.35-1) ...
Setting up dh-make-perl (0.12) ...

よしよし、入った。



で、やってみると、


hcube:/tmp# dh-make-perl --cpan Template::Extract --build
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Sat, 16 Oct 2004 10:07:34 GMT
CPAN: Digest::MD5 loaded ok
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/authors/id/A/AU/AUTRIJUS/CHECKSUMS
Checksum for /root/.cpan/source/authors/id/A/AU/AUTRIJUS/Template-Extract-0.36.tar.gz ok
Scanning cache /root/.cpan/build for sizes
Template-Extract-0.36/
Template-Extract-0.36/inc/
Template-Extract-0.36/inc/Test/
Template-Extract-0.36/inc/Test/Builder.pm
Template-Extract-0.36/inc/Test/More.pm
Template-Extract-0.36/inc/Module/
Template-Extract-0.36/inc/Module/Install.pm
Template-Extract-0.36/inc/Module/Install/
Template-Extract-0.36/inc/Module/Install/Fetch.pm
Template-Extract-0.36/inc/Module/Install/Makefile.pm
Template-Extract-0.36/inc/Module/Install/Build.pm
Template-Extract-0.36/inc/Module/Install/Include.pm
Template-Extract-0.36/inc/Module/Install/Base.pm
Template-Extract-0.36/inc/Module/Install/Metadata.pm
Template-Extract-0.36/inc/Module/Install/Can.pm
Template-Extract-0.36/inc/Module/Install/WriteAll.pm
Template-Extract-0.36/inc/Module/Install/Win32.pm
Template-Extract-0.36/lib/
Template-Extract-0.36/lib/Template/
Template-Extract-0.36/lib/Template/Extract/
Template-Extract-0.36/lib/Template/Extract/Run.pm
Template-Extract-0.36/lib/Template/Extract/Compile.pm
Template-Extract-0.36/lib/Template/Extract.pm
Template-Extract-0.36/Changes
Template-Extract-0.36/t/
Template-Extract-0.36/t/1-basic.t
Template-Extract-0.36/t/0-signature.t
Template-Extract-0.36/MANIFEST
Template-Extract-0.36/MANIFEST.SKIP
Template-Extract-0.36/META.yml
Template-Extract-0.36/SIGNATURE
Template-Extract-0.36/README
Template-Extract-0.36/Makefile.PL
Template-Extract-0.36/Build.PL
Found: Template-Extract 0.36 (libtemplate-extract-perl arch=all)
Needs the following modules: Config, inc::${\__PACKAGE__}, ${\__PACKAGE__}, Data::Dumper, Template::Parser
Using maintainer: root
Found changelog: Changes
Found docs: README
Using rules: /usr/share/dh-make-perl/rules.noxs
make: Entering directory `/tmp/Template-Extract-0.36'
dh_testdir
dh_testroot
# Add commands to clean up after the build process here
make distclean
make[1]: Entering directory `/tmp/Template-Extract-0.36'
make[1]: *** No rule to make target `distclean'. Stop.
make[1]: Leaving directory `/tmp/Template-Extract-0.36'
make: [clean] Error 2 (ignored)
dh_clean build-stamp install-stamp
make: Leaving directory `/tmp/Template-Extract-0.36'
make: Entering directory `/tmp/Template-Extract-0.36'
dh_testdir
# Add commands to compile the package here
/usr/bin/perl Makefile.PL INSTALLDIRS=vendor
Checking if your kit is complete...
Looks good
Writing Makefile for Template::Extract
make OPTIMIZE="-Wall -g -O2"
make[1]: Entering directory `/tmp/Template-Extract-0.36'
cp lib/Template/Extract.pm blib/lib/Template/Extract.pm
cp lib/Template/Extract/Run.pm blib/lib/Template/Extract/Run.pm
cp lib/Template/Extract/Compile.pm blib/lib/Template/Extract/Compile.pm
Manifying blib/man3/Template::Extract.3pm
Manifying blib/man3/Template::Extract::Run.3pm
Manifying blib/man3/Template::Extract::Compile.3pm
make[1]: Leaving directory `/tmp/Template-Extract-0.36'
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
#make test
make install DESTDIR=/tmp/Template-Extract-0.36/debian/libtemplate-extract-perl PREFIX=/usr
make[1]: Entering directory `/tmp/Template-Extract-0.36'
Installing /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/share/perl5/Template/Extract.pm
Installing /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/share/perl5/Template/Extract/Run.pm
Installing /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/share/perl5/Template/Extract/Compile.pm
Installing /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/share/man/man3/Template::Extract.3pm
Installing /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/share/man/man3/Template::Extract::Run.3pm
Installing /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/share/man/man3/Template::Extract::Compile.3pm
make[1]: Leaving directory `/tmp/Template-Extract-0.36'
# As this is a architecture independent package, we are not supposed to install
# stuff to /usr/lib. MakeMaker creates the dirs, we delete them from the deb:
rmdir --ignore-fail-on-non-empty --parents /tmp/Template-Extract-0.36/debian/libtemplate-extract-perl/usr/lib/perl5
touch install-stamp
dh_testdir
dh_testroot
dh_installdocs README
dh_installchangelogs Changes
dh_perl
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: unknown substitution variable ${misc:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: building package `libtemplate-extract-perl' in `../libtemplate-extract-perl_0.36-1_all.deb'.
make: Leaving directory `/tmp/Template-Extract-0.36'
Done
hcube:/tmp# ls
Template-Extract-0.36 libtemplate-extract-perl_0.36-1_all.deb
libtemplate-extract-perl_0.36.orig.tar.gz
hcube:/tmp# dpkg -i libtemplate-extract-perl_0.36-1_all.deb
Selecting previously deselected package libtemplate-extract-perl.
(Reading database ... 87830 files and directories currently installed.)
Unpacking libtemplate-extract-perl (from libtemplate-extract-perl_0.36-1_all.deb) ...
Setting up libtemplate-extract-perl (0.36-1) ...

おぉ、すげー。


0 件のコメント:

コメントを投稿