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

Re: emdebian-tools do not install with cdrom-only entries in sources.list



On Sun, 29 Apr 2007 18:02:55 +0200
Michelle Konzack <linux4michelle@freenet.de> wrote:

> Hello Neil,
>
> Am 2007-04-26 19:12:25, schrieb Neil Williams:
> > emdebian-tools cannot operate without access to the internet - I
> > hope you aren't expecting to use emdebian-tools without access to a
> > Debian Primary Mirror? apt supports cdrom only, apt-cross does not.
>
> "embedian-tools".

(emDeBian, it's about debs not beds!)
:-)

It's a subtle difference but reflects how Emdebian is based within
Debian, not yet another embedded build system somehow divorced from the
rest of the GNU/Linux world.

> I have NO Internet @home which mean, I will never be able to install
> "embedian-tools".

That may well remain true for some time.

I will sort out postinst to allow installation (if only so that other
packages don't get held back by an incomplete install) but I'm just not
sure how to then proceed in these situations - at least until a future
version of apt-cross.

> But since I have a local Debian-Mirror running,
> I like to know, the exact URL to download the files needed to build
> a local mirror (I do this with some self-made ,irroring scripts on
> my Laptop)

I don't see how that relates to cross-building - a mirror is a mirror
no matter what kind of packages it contains. It's not really a job for
emdebian-tools - or have I missed something?

If you want a mirror, normally reprepro or apt-ftparchive would be the
tools to use.

How is this local mirror updated? Is the lack of internet access
@home actually a firewall issue (i.e. the mirror has internet access to
remain up to date)?

I'm confused by the discussion of non-internet usage, I just don't see
how or why these situations would be of *practical* usage in building
an Emdebian system. I would hope that most people would not expect to
be able to build and upload Debian packages on an outdated system - at
least not without expecting a series of FTBFS bugs.

I can see that there would be *periods* when an internet connection is
not available but not a complete lack of any connection for the entire
operable life of the machine. How is a Debian system going to stay
updated without any connection at all? Packages built on such a system
would never be accepted into Debian itself and I'm at a loss to see
what use such packages would be to Emdebian (or even for my own
embedded device(s)).

e.g. My iBook runs emdebian-tools and to continue building packages
during times when I'm away from usual internet connections, I
pre-arrange to download the source I need (emsource) and run a test
build (emdebuild) whilst an internet connection is available. That
ensures that I have all the dependencies that I need and updated caches
etc. Then I can continue editing the debian/rules and making other
build changes as well as running test builds with emdebuild until such
time as an internet connection becomes available again and I can run
emdebuild --svn.

That is about the limit of what can be done in emdebian-tools when
there is no internet access. Sorry, but I don't see how this can
change, at least any time soon.

> > The solution is to upgrade to testing or unstable which will, in
> > turn, require an addition to /etc/apt/sources.list to add a suitable
> > mirror.
>
> OK, I am running ALL three releases (Unstable, Testing and Stable) but
> which mirror should I add additionaly?

? emdebian-tools needs a Debian Primary Mirror, at least at the moment,
installation problems aside. So the URL you need is the URL of one of
the Debian Primary Mirrors.

Until apt-cross and NorthernCross can be combined, I'm afraid a local
mirror will not work. There isn't a URL to do this job. Even then, I'm
not sure if we can get CD-support or local-mirror support such that
emdebian-tools can operate entirely without internet access.

One problem is that the location of the file to pass to apt-cross
(actually wget called by apt-cross) cannot be identified from the cache
data currently available. I'm hoping that NorthernCross will help with
this problem.

The second problem is that cross-building is likely to involve cache
files for individual packages: e.g. arm-linux-gnu.cache passed
to ./configure --cache-file. These are likely to need research on the
net to find the correct values from a native build. Even with a
complete Debian mirror, you won't have the contents of buildd.d.o and
you won't have access to the information you need to fix the
cross-building of many packages. Currently, most packages fail to
cross-build at the first attempt and many will need such cache files,
one for each target arch. In the scenario above with my iBook, I cannot
usually get to a usable build whilst entirely without an internet
connection.

The third problem is the issue of building outdated packages on an
outdated system causing havoc upon installation and subsequent upgrade.
This is where I feel the biggest hurdles lie - I don't think Emdebian
should be encouraging such package builds.

> My local mirror has currently ALL files from Buzz to Etch complete and
> this for ALL 12 architectures plus sources.  Nearly 5 TByte of
> binaries and sources.

There is no reliable method of detecting this situation in postinst.
Sorry. I tried many methods but it's a bit like proving a negative.
Debconf gets in the way with it's redirection of STDERR and apt won't
return the information I need without using the libapt-pkg-perl modules
which in turn mean getting apt-cross and NorthernCross to work
together and that is going to take quite some time. It's
not just a case of patches, it's whether a completely disconnected
machine should actually be running emdebian-tools at all. If this was a
bug report, I would be very tempted to tag this 'wont fix' because I
really can't see a way OF fixing it. Feel free to prove me wrong.
:-)

It is possible that I can add an after-installation option in emsetup to
allow the user to specify a mirror that should be treated as a Primary
- with warnings that the user needs to know what they are doing and be
sure that the specified mirror does actually behave as a Debian
Primary.

In short, I don't really know how to fix this, either with cdrom-only
or local-mirror-only configurations as I'm not entirely sure it is
even fixable. Even after installation and setup, emdebian-tools still
requires access to regularly updated Debian caches and I don't see how
a local mirror can replicate that without being connected to the
internet which then defeats the point of the fix.

--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpCW78gBnGCw.pgp
Description: PGP signature


Reply to: