On Wed, 2008-03-19 at 12:23 +0000, David Goodenough wrote: > On Wednesday 19 March 2008, Neil Williams wrote: > > On Wed, 2008-03-19 at 10:43 +0000, David Goodenough wrote: > > > > $sources no longer exists in the suite scripts, it's too much of a > > maintenance headache. Instead, emsource uses the apt-cross cache to work > > out which source package provides the requested binary. The problem then > > is removing the duplicates where the suite script needs only two of many > > binaries built from one source package to prevent emsource having to > > build the same source twice. > Well you need to set $sources in the script Sorry, $sources will not be set in the script. > , or the if [ -z $sources }]; does > not work. Should I remove that test too? You'll need to adapt the script to locate the correct source package from the cache. > My intention (at least at first as my two target architectures seem not to be > the ones the emdebian repository is majoring on - i386 and mipsel) was to > build the repository entirely locally. Yes, using reprepro. > So in that case presumably I need > to > Reading up on apt-cross should I be using that instead of emsource? apt-cross gives you the cache data, emsource applies the Emdebian patches and (optionally) builds the package. Using apt-cross and dpkg-cross to create packages for installation is the SLIND method, not Emdebian. > They > seem to do the same thing. Also how do I get at the local apt-cross cache > rather than the system or emdebian one? apt-cross is completely different to emsource. To use the cache, view the apt options that apt-cross uses by specifying -v -v -v to apt-cross so that it shows you the config string. > > You just need to work with the apt cache from the Emdebian repository, > > not the Debian mirrors and get your showsrc from that. > apt-cross seems to have a -show option, but not a -showsrc. Have I missed > something? Pass the apt options to apt-cache ... showsrc $package It's a normal cache, using apt-cross to generate it just saves some work. You don't need apt-cross to query it once you have the full config string, any apt process can use it. > My next intention is to get it to use the packages.conf file from emsandbox > so that it does all the downloading/building/tar'ing in one go. That way > also the script file would not be hard coded. packages.conf only mentions a few extra packages to what is already in the suite script and some of those can be custom packages that don't exist in Debian (like balloon3-config). > > Don't generate the tree manually, do it with reprepro and make it easy > > to maintain. > Maybe I need to read more, but I can not see how to add a package into > reprepro. I can see how to update things from an external repository, but > as above my intention is to use a local repository. $ reprepro -b $conf_dir unstable include /path/to/foo_bar_arch.changes > One other thing I may have skipped, is build dependancies. Just add a call to apt-get build-dep as normal. > apt-get installed it. The emsource stuff talks about a chroot, but that is > obviously not being used here (if nothing else the -p option is not used), > should it be, and what do I need to set up so that it is. I will need this > for cross building mipsel stuff, and if emdebian moves to uclib I will also > need it for i386. Cross build dependencies are very different to native build dependencies - use emdebuild --build-dep for that. (emsource -p does the build-dep for you in the chroot but if you don't need the chroot, you will need --build-dep yourself.) -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
signature.asc
Description: This is a digitally signed message part