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

Re: dpkg 1.1.3 and sysvinit-2.59-2.deb



"IJ" == Ian Jackson <ian@chiark.chu.cam.ac.uk> writes:

  IJ> Bill Hogan writes ("Re: dpkg 1.1.3 and sysvinit-2.59-2.deb"):
  IJ> ...   
  >> Is it safe to use dpkg-1.1.3 with Debian-0.93?

  IJ> More or less :-).  You can do it, but you shouldn't in general install
  IJ> the unstable versions of things unless you're prepared to live with
  IJ> disasters and fix problems yourself.

  IJ> That said, there haven't been any really dire bugs in dpkg recently.

  IJ> Ian.


    Thank you.

    But I am sorry if I seemed to be suggesting that I was worried
about a bug in dpkg because I greatly admire your dpkg system and I am
sure I have the highest possible reasonable confidence in it; I was
only asking if it was your express intent that versions of dpkg from
the Debian-1.1 tree not be used in/on/with Debian-0.93 -- and, as I
note below, that now appears to me not to be the case.

    In this connection, I would like to clarify my earlier question
about <term.h>.

    That question arose in the context of compiling dpkg-1.0.17 to
a.out because of the relation between ncurses-1.9.4 and the following
patch of code from dselect/main.cc (line numbers added by `less'):

================================ quote ============================
[...]
    35
    36  #include <ncurses.h>
    37  #include <term.h>
    38
    39  extern "C" {
    40  #include "config.h"
    41  #include "dpkg.h"
    42  #include "dpkg-db.h"
    43  #include "version.h"
    44  #include "myopt.h"
    45  }
[...]
================================ unquote ==========================

    I believe the problem here consisted in the fact that whereas the
above code from dselect/main.cc assumes that <term.h> brackets certain
of its contents between

	#ifdef __cplusplus
	extern "C" {
	#endif

and

	#ifdef __cplusplus
	}
	#endif

the <term.h> in the ncurses-1.9.4 distribution did not do so;
replacing the above line 37 in dselect/main.cc with

	extern "C" {
	#include <term.h>
	}

seems to have fixed that problem.

    However, I now see that you have designed dpkg-1.1.3 in such a way
that it is buildable under either Debian-0.93/aout or Debian-1.1/ELF,
so I would like to point out to interested readers that this same
(dselect/main.cc) fix allows `dpkg-1.1.3.deb' to be built from the
Debian-1.1 dpkg-1.1.3 sources on Debian-0.93 with
`ncurses-developer-1.9.4-0.deb' installed.

    I certainly don't think it is a good idea to run Debian-1.1
packages on Debian-0.93 that cannot be built from Debian-1.1 sources
on Debian-0.93 (afaik, `ld.so-1.7.14-1.deb' is the only exception I
have made to this rule).

    I therefore hope other Debian package designers will follow the
example you have set in this regard.

    Thanks again.

    Bill

-- 
<bhogan@rahul.net> |- "5. Improve constantly and forever the system of
production and service, to improve quality and productivity, and thus
constantly decrease costs." (W. Edwards Deming)



Reply to: