On Sat, Dec 31, 2005 at 08:01:37PM -0600, Matt England wrote:
> I'm still looking for any guidance on this topic.
> 
> In summary:
> 
> Can one run Sarge-built binaries on Woody?

In general, no. It will depend on the binary: it will depend on how it
was linked. It may depend on how it was compiled and with what C/C++ 
compiler. This is _NOT_ a good idea. If you are back-porting, you use a system
running that code vintage. 

[Could you run a binary for RH9 on RH 7.1? Clue - you can't necessarily 
because of library and rpm format changes at about RH8. 
Could you run a binary for RH 7.1 on RH 6.2? Clue - you can't because 
of lots of incompatible changes from RH6.2 - 7.0. 
Similarly for most other Linux distributions and, possibly, between Solaris
versions. HP Tru64 is picky about versions and HP-UX is picky about
minor revisions ...] 

This is a very similar question to saying "Can I run <cool binary
for Ubuntu/Mepis/Kanotix> on a vanilla Debian Sarge system?"
It depends - but the answer may well be no.

> Can one run Woody-built binaries on Sarge?
> 

Possibly. It will depend on the binary and on how it was linked.
Compiler is potentially less of an issue because later compilers are
more capable than their earlier brethren. It is probably worth a 
rebuild anyway because later compilers are also more standards compliant
and "picky" about poorly written code - code that was acceptable under
GCC 2.95 with all warnings turned on may fail under GCC 4.0 :)
3.0 - 3.1 should be less of a problem than 2.x -> 3.

> In the same context, how well would Debian 2.x-built binaries work on 3.x 
> and vice versa?
> 

To be honest, I go back as far as Debian 1.1 and have been a developer
since about 1.3. For building small memory size, special purpose systems
anything prior to 3.x is worth looking at - if only to marvel at exactly
what will run on a 386SX clocked at 16MHz with 4MB of memory on 80MB of disk :)

For most people they will seem inadequate when compared with current
Linux so, in reality, unless you are working on an embedded microcontroller or 
something similarly constrained or have significant investment in (proprietary 
tools | cross compilers | specialist applications tied to kernel version),  
consider systems running Debian 2.x as candidates to upgrade or replace where 
practicable. 

For Debian, two or three years of concerted effort goes into each 
major release and several months of bugfixes and security patches into each 
point release: anything running significantly old versions is a long way back
[to the extent that I'd have to dig out disks and rebuild a box running 
Potato to remember what it had and what the problems were] so anything
running 2.x is ripe for replacement even in terms of hardware age.
Old versions seem more golden in retrospect - but a couple of days of
running them make you appreciate what you have **

> For what it's worth, I soon have to establish some Debian 
> binary-to-test-system rev-control policies before I got into first round 
> test on my group's software.
> 

If your group has full scale test policies: follow them _first_. 
Seek to build Debian packages that are Debian policy compliant on 
a Sarge system and they should drop in to a Sarge system. It may be 
worth asking serious questions on packaging on another list e.g. 
debian-mentors. CHECK FOR NAME SPACE COLLISIONS

Build a multiboot machine with three or four large disk partitions or
build a machine with three or four virtual machines inside and
install Debian stable/testing/unstable on each disk partition/virtual machine. 
[Instances of qemu / Xen might do - VMWare, although commercial, otherwise]
Do your builds on there.

You may need to maintain one code base but build for multiple
distributions: IMHO, you should still build the code for each
distribution at that distributions code maturity level. 
If building for 3.1 build on 3.1, if building for Etch (current debian 
testing) build using testing and so on.

Unless you are working under an NDA, some idea of the magnitude of the
problem may also help - are we talking one binary and a couple of small
libraries or something large and intertwined like Apache/Postgres/MySQL
size? C/C++ or some other language? Filesystem placement (is this
something for /opt)? Licence?

Andy

** I've had enough - I'm going back to 1's and 0's. You lucky *&#!*,
in _my day_ we only had 0's and could only dream of the day we would
be given 1's :)

> -Matt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to