Details of the changes in the EmdebianCodeAudit

RPATH

See 367115 and 484277 for details. Also, EmdebianAuditRpath for information on work-in-progress and affected packages.

maintainer scripts

The only real way of handling maintainer script changes is to implement an no-op wrapper via emsandbox from the emdebian-rootfs package or by creating suitable wrappers using multistrap support.

As such, the maintainer scripts in the package would remain unchanged. Other changes (e.g. dropping specific options that are unsupported) are more difficult.

Vendor

This snippet needs emvendor from emdebian-buildsupport (>= 2.1.2).

DEB_VENDOR=$(shell dpkg-vendor --query vendor)
ifeq (Debian,$(DEB_VENDOR))
  # Debian build
  EXCONFARGS=--disable-mono --disable-monodoc
else
  # any-vendor build
  EXCONFARGS=$(shell emvendor --vendor $(DEB_VENDOR) --package avahi --key EXCONFARGS)
endif

e.g. this (abridged) avahi patch:

 DEB_CONFIGURE_EXTRA_FLAGS += --enable-compat-libdns_sd --enable-compat-howl \
-                             --disable-mono --disable-monodoc
+                             --disable-mono --disable-monodoc \
+                             --disable-mono --disable-monodoc --disable-python \
+                             --with-distro=debian 

becomes:

DEB_VENDOR=$(shell dpkg-vendor --query vendor)
ifeq (,$(findstring emdebian-crush,$(DEB_VENDOR)))
  # Debian build
  EXCONFARGS=--disable-mono --disable-monodoc
else
  # emdebian build (crush)
  EXCONFARGS=--disable-mono --disable-monodoc --disable-python --with-distro=debian 
endif
 DEB_CONFIGURE_EXTRA_FLAGS += --enable-compat-libdns_sd --enable-compat-howl ${EXCONFARGS}

emvendor provides an extra hierarchy of configuration settings, over and above what dpkg-vendor supports. It would be possible to include the relevant strings in /etc/dpkg/origins/vendor but each identifier string would need to be unique across all packages for each vendor, which would be an unrealistic limitation.

apt

atk1.0

avahi

base-files

busybox

cpio

cracklib2

cron

curl

dash

dbus

dbus-glib

dpkg

hal

libxi

libxinerama

libxrandr

libxrender

openssh


CategoryEmdebian