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

Re: How to distinguish .udeb files from regular .deb files?



(Cc's welcome.)

Hi,

Philipp Hahn <pmhahn@pmhahn.de> (2016-08-19):
> Looking inside dpkg-name, it tries to evaluate "Package-Type" [1], but
> that is not contained in the control file of the binary package, so
> always evaluates to "deb":
> > 123     my $type = $fields->{'Package-Type'} || 'deb';

This field is only for binary stanzas in source package's control files,
and it doesn't appear in binary packages.

> Is there some other (preferred) way to identify .udeb packages?
> 
> 1. "Section: debian-installer"?

Looking at an amd64 sid chroot with:
  deb     file:///srv/mirrors/debian sid main main/debian-installer non-free

this seems to be something that works. Only hits in /var/lib/apt/lists
are in:
  _srv_mirrors_debian_dists_sid_main_debian-installer_binary-amd64_Packages
  _srv_mirrors_debian_dists_sid_main_source_Sources

This is likely your best bet here (besides the extension).

> 2. Some pages use the suffix "-udeb" or "-di" in their package names.

Nope, you would miss a lot of packages (list below my signature).

> 3. If the control file contains a "isinstallable" script.
> > dpkg -I 'potential.udeb' | grep -q isinstallable

Almost no udebs come with such a script; in sid, those who do are:
  bootstrap-base
  console-setup-udeb
  debian-edu-install-udeb
  debian-edu-profile-udeb
  grub-installer
  kbd-chooser
  lilo-installer
  live-installer
  localechooser
  lvmcfg
  network-console
  partman-base
  pkgsel
  file-preseed
  network-preseed
  rescue-mode
  user-setup-udeb

> 4. If the control files has a "Installer-Menu-Item" field:
> > grep -I 'potential.udeb' | grep -q Installer-Menu-Item

Not all udebs insert themselves through Installer-Menu-Item (only 52 out
of 426).

> Other ideas?
> Or is there a definitive answer hidden somewhere?

I don't think so.


KiBi.


Non-udeb and non-di packages:
-----------------------------
anna
apt-cdrom-setup
apt-mirror-setup
archdetect
base-installer
bootstrap-base
bterm-unifont
cdebconf-gtk-entropy
cdebconf-gtk-terminal
cdebconf-newt-entropy
cdebconf-newt-terminal
cdebconf-priority
cdebconf-text-entropy
cdrom-checker
cdrom-detect
cdrom-retriever
choose-mirror
choose-mirror-bin
clock-setup
console-keymaps-acorn
console-keymaps-amiga
console-keymaps-at
console-keymaps-atari
console-keymaps-dec
console-keymaps-mac
console-keymaps-sun
console-keymaps-usb
console-setup-amiga-ekmap
console-setup-ataritt-ekmap
console-setup-macintoshold-ekmap
console-setup-pc-ekbd
console-setup-pc-ekmap
console-setup-sun4-ekmap
console-setup-sun5-ekmap
disk-detect
di-utils
di-utils-exit-installer
di-utils-mapdevfs
di-utils-reboot
di-utils-shell
di-utils-terminfo
download-installer
driver-injection-disk-detect
efi-reader
env-preseed
ethdetect
file-preseed
finish-install
grub-installer
hw-detect
initrd-kickseed
initrd-preseed
installation-locale
iso-scan
kbd-chooser
kickseed-common
lilo-installer
live-installer
load-cdrom
load-iso
load-media
localechooser
lowmem
lowmemcheck
ltsp-client-builder
lvmcfg
lvmcfg-utils
main-menu
mdcfg
mdcfg-utils
media-retriever
mountmedia
netcfg
netcfg-static
net-retriever
network-console
network-preseed
nobootloader
oldsys-preseed
partconf-find-partitions
partconf-mkfstab
partman-auto
partman-auto-crypto
partman-auto-lvm
partman-auto-raid
partman-base
partman-basicfilesystems
partman-basicmethods
partman-btrfs
partman-crypto
partman-crypto-dm
partman-efi
partman-ext3
partman-iscsi
partman-jfs
partman-lvm
partman-md
partman-multipath
partman-nbd
partman-partitioning
partman-target
partman-utils
partman-xfs
pkgsel
preseed-common
rescue-check
rescue-mode
rootskel
rootskel-gtk
save-logs
simple-cdd-profiles
udpkg
usb-discover

Attachment: signature.asc
Description: Digital signature


Reply to: