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

Geknutsel met vragen



Hallo,

Ik heb weer wat lopen knutselen aan mijn backport script, het resultaat
staat onderaan deze mail.

Er zijn een paar dingen die me nog storen:

- Debchange luistert niet naar de DEBEMAIL en DEBFULLNAME variabelen,
daarom open ik de changelog nu maar om hem te editten, terwijl dat ook
prima automatisch kan. Als domein voor mijn e-mail gebruikt hij
/etc/mailname, wat geen goede waarde geeft.
In de manual staat dat hij alleen naar genoemde variabelen kijkt bij
--newversion en --increment, maar het gaat niet goed.

- Ik zou graag willen kunnen achterhalen wat de naam het source package
is van een binary, dit om een directory aan te maken met de juiste naam.
Nu gebruik ik de naam van de binary.

- Eigenlijk zou ik het backporten graag in een schone omgeving willen
doen. Nu raakt mijn systeem vervuilt met gebackporte build-dependencies.
Maar om steeds een hele chroot te maken vind ik ook wat ver gaan.
Misschien is het een idee om een schone chroot te hebben, deze te
kopieren, en daarin te gaan backporten.

Iemand nog tips?

Groet,
Paul.

--------------
#!/bin/bash
# /usr/local/bin/backport
# backports a package without signing it
# paul@vandervlis.nl
#
# user needs sudo rights for apt-get, e.g.:
# paul ALL=(ALL) PASSWD: /usr/bin/apt-get
#
# /etc/apt/sources.list needs a line like this:
# deb-src http://ftp.nl.debian.org/debian/ testing main

# Variables:
DEBFULLNAME="Paul van der Vlis"
DEBEMAIL="paul@vandervlis.nl"
RELEASE="wheezy-backports"

# ask for package when not on commandline
if test "$1" = ""; then
  read -p "package: " package
else
  package=$1
  echo "package: $package"
fi

# install build-dependencies
sudo /usr/bin/apt-get build-dep $package
if ! test $? = 0; then
 # try to install the backport-version
 sudo /usr/bin/apt-get -t $RELEASE build-dep $package
 if ! test $? = 0; then exit; fi
fi

# create dir
if test -e $package; then echo "Directory excists"; fi
mkdir $package; cd $package
if ! test $? = 0; then exit; fi

# download sources
apt-get source $package
if ! test $? = 0; then exit; fi

# go to right directory
cd `find ./ -maxdepth 1 -type d | tail -n1`
if ! test $? = 0; then exit; fi

# Edit changelog and version number
debchange --local ~bpo70+ --distribution $RELEASE

# build package with or without signing
if test "$2" = "sign"; then
 dpkg-buildpackage
else
 dpkg-buildpackage -uc -us
fi
if ! test $? = 0; then exit; fi

# show debs
cd ../..
echo
echo "Created deb's:"
ls $package/*.deb
echo



-- 
Paul van der Vlis Linux systeembeheer, Groningen
http://www.vandervlis.nl


Reply to: