Discussion:
Build-dependencies of backports, and searching the list archive is broken
Frank Küster
2006-07-06 14:24:05 UTC
Permalink
Hi,

I'm sure we already discussed this question, or at least parts of it,
but unfortunately searching does not work on
http://lists.backports.org/lurker/list/backports-users.html. It
redirects to

http://lists.backports.org/lurker/search/***@ml:backports%2Dusers,policy.en.html

and then complains

,----
| Lurker - failed to render page:
| Bad request (20380101.000000.00000000%40ml:backports-users,policy.en.html):
|
| The given parameter was not of the correct format. A searc request
| must be formatted like:
| search/***@word,word,word.xml
`----

So, not to the actual question: How can I best ensure that a package
gets as little dependencies on libraries on backports.org as possible,
when at the same time it build-depends on some packages that are not in
sarge, but on bpo? For example, for tetex-bin I need libpoppler and
debhelper, but want to avoid dependencies on bpo's XOrg. auctex needs
texinfo from bpo, nothing else. And so on.

I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.

So what should I do? One option would be to keep a couple of tar.gz
files for chroots that have just exactly the needed packages pinned to a
bpo version. But this requires a lot of disk space, seems a little like
brute force, and is also error-prone because I can't always be sure that
pbuilder update will actually update the package from bpo, because the
update might require installing an additional backport.

An alternative would be versioned Build-Conflicts against the relevant
xorg packages, but that doesn't look nice, too.

Is there a better alternative?

Regards, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
martin f krafft
2006-07-06 14:34:02 UTC
Permalink
Post by Frank Küster
I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.
I use a hook for this, which gives me a shell at the right time.

D99shell:

#!/bin/bash -eu

PROMPT='do you want to spawn a shell [y/N]? '
TIMEOUT=${SHELL_TIMEOUT:-30}

echo
echo
read -p"$PROMPT" -t$TIMEOUT -n1 ans < /dev/tty > /dev/tty || echo -n timeout.
echo

case "$ans" in
y*|Y|j*|J*|t*|T*|1)
/bin/bash --login -i < /dev/tty &> /dev/tty
rm -f /root/.bash_history /root/.bash.prompt
;;
*) :;;
esac
--
martin; (greetings from the heart of the sun.)
\____ echo mailto: !#^."<*>"|tr "<*> mailto:" ***@madduck

spamtraps: ***@madduck.net

"sometimes we sit and read other people's interpretations of our
lyrics and think, 'hey, that's pretty good.' if we liked it, we would
keep our mouths shut and just accept the credit as if it was what we
meant all along."
-- john lennon
Uwe A. P. Würdinger
2006-07-06 14:34:56 UTC
Permalink
Post by Frank Küster
Hi,
[-snip-]
Post by Frank Küster
I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.
So what should I do?
Have a look at
http://edseek.com/~jasonb/articles/pbuilder_backports/introduction.html

I do pretty much the same here with hook scripts that add all the local
builded backports and I add the backports.org repo in the chroot jail

For your X-Org problem well use pinning inside the jail to keep it out.
Post by Frank Küster
Regards, Frank
greets Uwe
--
http://www.x-tec.de
http://www.highspeed-firewall.de
Frank Küster
2006-07-06 15:15:45 UTC
Permalink
Post by Uwe A. P. Würdinger
Post by Frank Küster
Hi,
[-snip-]
Post by Frank Küster
I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.
So what should I do?
Have a look at
http://edseek.com/~jasonb/articles/pbuilder_backports/introduction.html
I do pretty much the same here with hook scripts that add all the
local builded backports
This I definitely do not want to do. The point of my efforts is to
include as small a number of backports as possible in the build process,
not an arbitrary number of them. It also adds an additional source of
errors - maybe some backports are still laying around that did build,
but did not work..
Post by Uwe A. P. Würdinger
and I add the backports.org repo in the chroot
jail
Hm, these hooks are nice, but they don't itself solve the problem that I
need different sets of build-dependencies from bpo for different
backports (IIRC tex-common and tetex-base only need debhelper, tetex-bin
needs debhelper and libpoppler, auctex needs texinfo, and so on). So
I'd need to have a script that moves around different hook scripts prior
to chrooting. Not exactly nice, especially since I sometimes run two
pbuilder processes at the same time (must keep my disk busy, you
know... :-)).

Regards, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
Frank Küster
2006-07-06 15:45:31 UTC
Permalink
Post by Uwe A. P. Würdinger
Post by Frank Küster
Hi,
[-snip-]
Post by Frank Küster
I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.
So what should I do?
Have a look at
http://edseek.com/~jasonb/articles/pbuilder_backports/introduction.html
Hm, this is strange:

,---- http://edseek.com/~jasonb/articles/pbuilder_backports/pbuilderbuild.html#pbuilderhook
| # cat >> /etc/pbuilder/D01apt-ftparchive
|
| #!/bin/sh
|
| # We want this to be up to date for _every_ run for magic to happen!
|
| ( cd /var/cache/pbuilder/result ;
| apt-ftparchive packages . > /var/cache/pbuilder/result/Packages
| )
|
[...]
| cat<<EOF >/etc/apt/preferences
| Package: *
| Pin: release o=pbuilder
| Pin-Priority: 701
|
`----

Now where is this hook script executed? man pbuilder (on sarge) doesn't
tell me anything, but looking at the snippet above is even more
confusing. The first action (apt-ftparchive) must happen outside the
chroot. But the writing of /etc/apt/preferences must happen *inside* to
have any effect (and of course it must not be run outside unless I want
to screw up my setup...).

Can anybody enligthen me?

Regards, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
Uwe A. P. Würdinger
2006-07-06 19:07:36 UTC
Permalink
Post by Frank Küster
Post by Uwe A. P. Würdinger
Post by Frank Küster
Hi,
[-snip-]
Post by Frank Küster
I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.
So what should I do?
Have a look at
http://edseek.com/~jasonb/articles/pbuilder_backports/introduction.html
,---- http://edseek.com/~jasonb/articles/pbuilder_backports/pbuilderbuild.html#pbuilderhook
| # cat >> /etc/pbuilder/D01apt-ftparchive
|
| #!/bin/sh
|
| # We want this to be up to date for _every_ run for magic to happen!
|
| ( cd /var/cache/pbuilder/result ;
| apt-ftparchive packages . > /var/cache/pbuilder/result/Packages
| )
|
[...]
| cat<<EOF >/etc/apt/preferences
| Package: *
| Pin: release o=pbuilder
| Pin-Priority: 701
|
`----
Now where is this hook script executed? man pbuilder (on sarge) doesn't
tell me anything, but looking at the snippet above is even more
confusing. The first action (apt-ftparchive) must happen outside the
chroot. But the writing of /etc/apt/preferences must happen *inside* to
have any effect (and of course it must not be run outside unless I want
to screw up my setup...).
Can anybody enligthen me?
Well as far as I can tell ther's a little error on the site.
I built an environment based on that documentation 2 weeks ago and that
hook script is executed for D an F


Anyway when I get some time I'm ona extend that steup with lvm snapshots
and build
something that in paralel triggers builds for backports, sid ubuntu
current and ubunto dev
Post by Frank Küster
Regards, Frank
greets Uwe
--
http://www.x-tec.de
http://www.highspeed-firewall.de
Zsolt Rizsanyi
2006-07-07 06:20:41 UTC
Permalink
Post by Frank Küster
,----
http://edseek.com/~jasonb/articles/pbuilder_backports/pbuilderbuild.html
#pbuilderhook
| # cat >> /etc/pbuilder/D01apt-ftparchive
|
| #!/bin/sh
|
| # We want this to be up to date for _every_ run for magic to happen!
|
| ( cd /var/cache/pbuilder/result ;
| apt-ftparchive packages . > /var/cache/pbuilder/result/Packages
| )
[...]
| cat<<EOF >/etc/apt/preferences
| Package: *
| Pin: release o=pbuilder
| Pin-Priority: 701
`----
Now where is this hook script executed? man pbuilder (on sarge) doesn't
tell me anything, but looking at the snippet above is even more
confusing. The first action (apt-ftparchive) must happen outside the
chroot. But the writing of /etc/apt/preferences must happen *inside* to
have any effect (and of course it must not be run outside unless I want
to screw up my setup...).
Can anybody enligthen me?
man pbuilder with pbuilder from backports.org does have a section about
hooks and the script is definitely running inside the chroot.
apt-ftparchive works because the pbuilder result dir is bind mounted inside
the pbuilder environment.

Regards,
Zsolt
Frank Küster
2006-07-07 12:32:48 UTC
Permalink
Post by Zsolt Rizsanyi
man pbuilder with pbuilder from backports.org does have a section about
hooks
So has the manpage in sarge (I think both are identical, and identically
bad english... No pun intended, japanese guys are frequently better in
coding than in writing english texts.).
Post by Zsolt Rizsanyi
and the script is definitely running inside the chroot.
Yes, I found this out by trying.
Post by Zsolt Rizsanyi
apt-ftparchive works because the pbuilder result dir is bind mounted inside
the pbuilder environment.
Ah, thanks - I didn't notice this on the webpage. And I still think
it's a bad idea.

Regards, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
Mohammed Adnène Trojette
2006-07-06 14:31:31 UTC
Permalink
Post by Frank Küster
I'm using pbuilder, and I really do *not* want to log into a sarge
pbuilder chroot and install the needed packages from bpo manually before
building the package.
I suggest you use "D" hooks to add what is necessary in your
/etc/apt/preferences and apt.conf to pin accordlingly to the necessary
packages.
--
adn
Mohammed Adnène Trojette
Loading...