Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Modificare le dipendenze di un pacchetto .deb —

Mi sono recentemente trovato a dover installare il pacchetto msktutil per poter inserire uno squid3 in un dominio AD con samba 4.
il problema è stato che questo pacchetto ha come dipendenza libkrb53 che in wheezy non esiste più e si chiama libkrb5-3, dopo aver googlato in lungo e in largo ho trovato questo url http://superuser.com/questions/280370/how-to-easily-edit-control-file-in-deb-package che mi ha risolto il problema riporto di seguito integralmente lo script che sottolineo NON è farina del mio sacco.

DEBFILE="$1"
TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1
OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb

if [[ -e "$OUTPUT" ]]; then
  echo "$OUTPUT exists."
  rm -r "$TMPDIR"
  exit 1
fi

dpkg-deb -x "$DEBFILE" "$TMPDIR"
dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN

if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then
  echo DEBIAN/control not found.

  rm -r "$TMPDIR"
  exit 1
fi

CONTROL="$TMPDIR"/DEBIAN/control

MOD=`stat -c "%y" "$CONTROL"`
vim "$CONTROL"

if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then
  echo Not modfied.
else
  echo Building new deb...
  dpkg -b "$TMPDIR" "$OUTPUT"
fi

rm -r "$TMPDIR"

l'unica differenza con l'originale è che ho usato vim al posto di vi per mia comodità.

Categorised as: Work

Comments are disabled on this post


Comments are closed.


Hide picture