.udeb (micro deb package) もApt風に依存関係ベースでダウンロードしたい

$ dpkg-deb -I partman-auto-lvm_39_all.udeb|grep Depends
 Depends: cdebconf-udeb, partman-base (>= 125), partman-auto (>= 84), partman-lvm (>= 72), di-utils (>= 1.66)

この partman-auto-lvm_39_all.udeb は, http://packages.debian.org/ja/sid/debian-installer/partman-auto-lvm を見て

というURLを wget(1) したものである.プログラマならこのURLから規則性を推理して「じゃあ依存関係にある partman-base

というディレクトリから適当なバージョンを取ってくればいいね!」と考えるはず.これに限っては合っており,私の欲しいものは

として手に入る.しかし cdebconf-udeb はと言うと,なんと正しいURLが

なのだった... -udebディレクトリ名から消えている.何なの... これじゃAptもどきに依存関係に沿って .udeb を一括ダウンロードするスクリプトが書けないじゃないか.(Contents-*.gz には .udeb は載っていないので apt-cross(1) 改め xapt(1) は使えない)
しょうがないので今は http://packages.debian.org/ のHTMLをスクレイピングする方針を考えている.そこの表示を司る元データが手に入ればいいんだが... 無い訳ないのに,くそー
追記: IRC #debian-boot で尋ねたらCanonical社員のcjwatson氏に debian-installer 内の get-packages というツール使うといいと教わった:

中を -o Apt::Architecture=ia64 と修正し,

$ cd debian-installer/build
$ SECOPTS=--allow-unauthenticated util/get-packages udeb partman-auto-lvm partman-efi cdrom-core-modules nic-modules
Using generated sources.list.udeb:
   deb copy:/tmp/debian-installer/build/ localudebs/
   deb http://ftp.jp.debian.org/debian unstable main/debian-installer
無視 copy: localudebs/ InRelease
無視 copy: localudebs/ Release.gpg
無視 copy: localudebs/ Release
エラー copy: localudebs/ Packages

エラー copy: localudebs/ Packages

エラー copy: localudebs/ Packages

取得:1 copy: localudebs/ Packages [20 B]
取得:2 http://ftp.jp.debian.org unstable InRelease [186 kB]
無視 http://ftp.jp.debian.org unstable InRelease
取得:3 http://ftp.jp.debian.org unstable/main/debian-installer ia64 Packages [51.4 kB]
無視 http://ftp.jp.debian.org unstable/main/debian-installer TranslationIndex
237 kB を 0秒 で取得しました (503 kB/s)
パッケージリストを読み込んでいます... 完了
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
Need to download: partman-auto-lvm partman-efi cdrom-core-moduules nic-modules
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
注意、'nic-modules' の代わりに 'nic-modules-2.6.37-2-itanium-di' を選択しています
注意、'cdrom-core-modules' の代わりに 'cdrom-core-modules-2.6.37-2-itanium-di' を選択しています
注意、'nic-modules' の代わりに 'nic-modules-2.6.37-2-itanium-di' を選択しています
  Installing kernel-image-2.6.37-2-itanium-di as 依存 of cdrom-core-modules-2.6.37-2-itanium-di
  Installing scsi-core-modules-2.6.37-2-itanium-di as 依存 of cdrom-core-modules-2.6.37-2-itanium-di
(略
$ ls apt.udeb/cache/archives
archdetect_1.86_ia64.udeb                                 libuuid1-udeb_2.17.2-9.1_ia64.udeb
cdebconf-udeb_0.154_ia64.udeb                             lvm2-udeb_2.02.84-3_ia64.udeb
cdrom-core-modules-2.6.37-2-itanium-di_1.66_ia64.udeb     md-modules-2.6.37-2-itanium-di_1.66_ia64.udeb
core-modules-2.6.37-2-itanium-di_1.66_ia64.udeb           nic-modules-2.6.37-2-itanium-di_1.66_ia64.udeb
crc-modules-2.6.37-2-itanium-di_1.66_ia64.udeb            nic-shared-modules-2.6.37-2-itanium-di_1.66_ia64.udeb
di-utils-mapdevfs_1.82_ia64.udeb                          nls-core-modules-2.6.37-2-itanium-di_1.66_ia64.udeb
di-utils_1.82_ia64.udeb                                   ntfsprogs-udeb_2.0.0-1+b1_ia64.udeb
disk-detect_1.86_ia64.udeb                                partial/
e2fsprogs-udeb_1.41.12-2_ia64.udeb                        partman-auto-lvm_39_ia64.udeb
efi-modules-2.6.37-2-itanium-di_1.66_ia64.udeb            partman-auto_97_ia64.udeb
ext2-modules-2.6.37-2-itanium-di_1.66_ia64.udeb           partman-base_149_ia64.udeb
ext3-modules-2.6.37-2-itanium-di_1.66_ia64.udeb           partman-basicfilesystems_69_ia64.udeb
ext4-modules-2.6.37-2-itanium-di_1.66_ia64.udeb           partman-basicmethods_47_ia64.udeb
fat-modules-2.6.37-2-itanium-di_1.66_ia64.udeb            partman-efi_23_ia64.udeb
firewire-core-modules-2.6.37-2-itanium-di_1.66_ia64.udeb  partman-ext3_63_ia64.udeb
hw-detect_1.86_ia64.udeb                                  partman-lvm_74_ia64.udeb
ide-core-modules-2.6.37-2-itanium-di_1.66_ia64.udeb       partman-partitioning_80_ia64.udeb
ide-modules-2.6.37-2-itanium-di_1.66_ia64.udeb            partman-target_72_ia64.udeb
isofs-modules-2.6.37-2-itanium-di_1.66_ia64.udeb          partman-utils_149_ia64.udeb
kernel-image-2.6.37-2-itanium-di_1.66_ia64.udeb           pciutils-udeb_1%3a3.1.7-8_ia64.udeb
libblkid1-udeb_2.17.2-9.1_ia64.udeb                       rootskel_1.93_ia64.udeb
libc6.1-udeb_2.11.2-13_ia64.udeb                          scsi-core-modules-2.6.37-2-itanium-di_1.66_ia64.udeb
libdebian-installer4-udeb_0.78_ia64.udeb                  sn-modules-2.6.37-2-itanium-di_1.66_ia64.udeb
libdevmapper1.02.1-udeb_2%3a1.02.63-3_ia64.udeb           udev-udeb_166-1_ia64.udeb
libparted0-udeb_2.3-5_ia64.udeb                           util-linux-udeb_2.17.2-9.1_ia64.udeb
libtextwrap1-udeb_0.1-11_ia64.udeb                        zlib1g-udeb_1%3a1.2.3.4.dfsg-3_ia64.udeb
$ mkdir -p /tmp/udebs
$ for i in apt.udeb/cache/archives/*.udeb; do dpkg-deb -X $i /tmp/udebs; done
(略
$ ls /tmp/udebs/lib/modules/2.6.37-2-itanium/kernel/drivers/ide
delkin_cb.ko  hpt366.ko  ide-cd_mod.ko  ide-core.ko  ide-gd_mod.ko  ide-generic.ko  it8213.ko  opti621.ko  sgiioc4.ko  tc86c001.ko  trm290.ko

よしよし,これをUSBメモリに書き込んで((本当は jigdo-lite(1) で作ったISOを展開して追加して depmod(1) して mkisofs(1) してCD-Rを焼き直すべきなんだろうけど,まだ .ko が足りないとかミスる可能性があるので焼きたくない.)),CD-RのDebian installerが(自分の立ち上げ元の!)CD-Rを認識できないタイミングでinsmodしまくれば後は色々進むだろう.USBメモリ (VFAT) が読めてATAPI CD-ROMドライブを認識できないとか,どんだけー って感じだが,ほんとIA-64は地獄だぜー