簡易版apt-lineの作り方 †
- /share/www/download/debina26/binary-sh4/の例
外部からWEBアクセスできる場所にbinary-sh4を作る。
(ディレクトリ名は何でも良い)
landisk:~# cd /share/www/download/debian26
landisk:/share/www/download/debian26# mkdir binary-sh4
- 作成したbinary-sh4/の中に、debファイルをひたすらコピーする。
- store_pkg.pl
本スクリプトを作成し、実行属性をセットし、binary-sh4内にコピーする。
(本スクリプトは、名前に一貫性のないdebパッケージを、生成元のソースパッケージ名で
グルーピングしてサブディレクトリへ格納、さらに、apt-lineを作成するスクリプトです。)
#!/usr/bin/perl
while (<*deb>){
$file = $_;
$packag="";
$source="";
open (DPKG, "dpkg --info $file |");
while(<DPKG>){
chop;
$line=$_;
$line =~ s/^\s+//;
if($line =~ /^Package:/){
$packag = $line;
$source = $line;
}
if($line =~ /^Source:/){
$source = $line;
}
}
$_ = "$packag $source ";
($dummy1,$packag,$dummy2,$source) = /^(\S+):\s+(\S+)\s+(\S+):\s+(\S+).*$/;
close(DPKG);
# print "$file=*$packag*$source*\n";
if(! -d "./$source"){
print "mkdir ./$source\n";
system("mkdir ./$source");
}
print "mv $file ./$source/\n";
system("mv $file ./$source/");
}
system("apt-ftparchive packages . | gzip -c9 > Packages.gz");
- apt-line作成
binary-sh4にcdして、store_pkg.plを実行すれば出来上がります。
landisk:/share/www/download/debian26# cd binary-sh4
landisk:/share/www/download/debian26/binary-sh4# ./store_pkg.pl
- /etc/etc/apt/sources.list
クライアント側の設定は、こんな感じでOKです。
deb http://localhost/www/download/debian26/binary-sh4/ ./
また、WEBサーバを立てられない場合は、このように直接ファイルを指定する方法もあります。
deb file:/share/www/download/debian26/binary-sh4/ ./
debianの流儀に従ったapt-lineの作り方 †
- debootstrap用に公開する場合にはこちらの設定をする必要があります。
”簡易版apt-lineの作り方”を行った後、次のようなディレクトリを作成
landisk:/share/www/download/debian26/binary-sh4# cd ..
landisk:/share/www/download/debian26# mkdir -p dists/sarge/main/binary-sh4/
- mkaptline.pl
本スクリプトを作成し、実行属性をセットし、debian26内にコピーする。
#/bin/sh
rm dists/sarge/main/binary-sh4/Packages*
apt-ftparchive packages binary-sh4 > dists/sarge/main/binary-sh4/Packages.tmp
cp dists/sarge/main/binary-sh4/Packages.tmp dists/sarge/main/binary-sh4/Packages
gzip dists/sarge/main/binary-sh4/Packages
mv dists/sarge/main/binary-sh4/Packages.tmp dists/sarge/main/binary-sh4/Packages
rm dists/sarge/Release*
apt-ftparchive \
-o APT::FTPArchive::Release::Origin="kogiidena" \
-o APT::FTPArchive::Release::Label="Unofficial Debian Packages" \
-o APT::FTPArchive::Release::Architectures="sh4" \
-o APT::FTPArchive::Release::Components="main" \
-o APT::FTPArchive::Release::Description="unofficail Debian packages maintained by kogiidena" \
-o APT::FTPArchive::Release::Codename="sarge" \
-o APT::FTPArchive::Release::Suite="sarge" release dists/sarge > dists/sarge/Release
- apt-line作成
debian26へcdして、mkaptline.plを実行すれば出来上がります。
|