Re: make debian in 4.04/02

From: Chris Roat <chris.roat_at_gmail.com>
Date: Wed, 8 Jun 2005 11:32:49 -0700


Hi Christian,

With this patch in CVS, what would be the procedure to make debian packages for the latest production version?

Cheers,
Chris

On 5/26/05, Fons Rademakers <Fons.Rademakers_at_cern.ch> wrote:
> HI Christian,
>
> your patch is now in cvs.
>
> Cheers, Fons.
>
> Christian Holm Christensen wrote:
> > Hi all,
> >
> > On Fri, 2005-05-20 at 13:04 -0700, Chris Roat wrote:
> >
> >>I made it past the previous errors (I think correctly). But I ran up
> >>against issues with the debian make scripts after the build completed.
> >>
> >>Chris
> >>
> >>
> >>find debian/tmp -name "CVS" | xargs rm -fr
> >>find debian/tmp -name ".cvsignore" | xargs rm -fr
> >>./debian/rules pkglists
> >>*** Warning *** Unknown package root-plugin-asimage - please
> >>update ./build/package/lib/makebuilddepend.sh
> >
> >
> > This is because someone commented out the line that reads
> >
> > *asimage) echo -n ", libafterimage-dev" ;;
> >
> > in the above mentioned script. That is _not_ the right way to disable
> > the package. It is outlined in `build/package/debian/README.Debian' how
> > to add a package. To remove a package, do the inverse! In fact, the
> > only thing one needs to do to disable a package, is to comment out the
> > line
> >
> > test "x$enable_foo" = "xyes" && pkglist="$pkglist root-plugin-foo"
> >
> > in `configure'.
> >
> >
> >>cp: cannot stat `debian/tmp/usr/lib/root/libXrdSec.so.4': No such file
> >>or directory
> >>dh_install: command returned error code 256
> >
> >
> > Hmm. This error puzzles me. Maybe the XRootd guys changed something.
> > Digging ... Ah, it seems the patch I sent some time ago to actually
> > include the version number in the so name for the shared libraries of
> > XRootd didn't make it into the official branch. Hmm. OK, a patch is
> > attached.
> >
> >
> >>On 5/20/05, Chris Roat <chris.roat_at_gmail.com> wrote:
> >> Hi all,
> >>
> >> I appreciate you all checking into this. I believed
> >> Stanislav's changes were for against the production version,
> >> and so they work for me. In addition to those changes, I
> >> commented out the asimage dependency from the build scripts
> >> and tried again.
> >
> >
> > Arg! No. That's not the way to do it. If you want to build the
> > `root-plugin-asimage' package, using the libAfterImage shipped with
> > ROOT, you should edit `build/package/debian/rules' and take out
> > `--disable-builtin-afterimage' from the `configure' command line.
> >
> >
> >> I encountered a couple more errors; see below. I was able to
> >> fix the first and last one by altering the casts from CARD8 to
> >> CARD32, but I don't have the expertise to handle the final two
> >> (lines 4582 & 4583). Any thoughts?
> >>
> >> Thanks,
> >> Chris
> >>
> >>
> >> g++ -O -I/usr/include/freetype2 -pipe -Wall -W
> >> -Woverloaded-virtual -fPIC -Iinclude -DHAVE_CONFIG -pthread
> >> -Iasimage/src/libAfterImage -o asimage/src/TASImage.o -c
> >> asimage/src/TASImage.cxx
> >> asimage/src/TASImage.cxx: In function `ASDrawContext*
> >> create_draw_context_argb32(ASImage*, ASDrawTool*)':
> >> asimage/src/TASImage.cxx:4578: error: cannot convert `CARD8*'
> >> to `CARD32*' in
> >> assignment
> >> asimage/src/TASImage.cxx:4582: error: invalid conversion from
> >> `void
> >> (*)(ASDrawContext*, int, int, int, unsigned char)' to `void
> >> (*)(ASDrawContext*, int, int, int, long unsigned int)'
> >
> >
> > The function prototype must have changed. A cast to the proper function
> > prototype should do the trick.
> >
> > fptr = ((*)(ASDrawContext*, int, int, int, long unsigned int))(f);
> >
> >
> >> asimage/src/TASImage.cxx:4583: error: invalid conversion from
> >> `void
> >> (*)(ASDrawContext*, int, int, unsigned char)' to `void
> >> (*)(ASDrawContext*,
> >> int, int, long unsigned int)'
> >
> >
> > Similar.
> >
> >
> >> asimage/src/TASImage.cxx: In member function `void
> >> TASImage::DrawWideLine(unsigned int, unsigned int, unsigned
> >> int, unsigned
> >> int, unsigned int, unsigned int)':
> >> asimage/src/TASImage.cxx:4612: error: cannot convert `CARD8*'
> >> to `CARD32*' in
> >> assignment
> >>
> >>
> >>
> >> On 5/20/05, Valeriy Onuchin <Valeri.Onoutchine_at_cern.ch> wrote:
> >> Hi Stanislav,
> >> your patch is not against the current CVS and
> >> important note -
> >> at the moment ROOT's version (located at
> >> asimage./src/) of libAfterImage
> >> is significantely different from "official"
> >> libAfterImage shipped with debian.
> >
> >
> > Why?
> >
> > Hmm. This is exactly what I've been warning the ROOT team over and over
> > again. If you insist on shipping third-party code with ROOT, you run
> > into a huge maintenance problem.
> >
> >
> >> I'm going to send a patch with our modifications to
> >> Sasha Vasko ASAP.
> >> So, use ROOT built-in version of libAfterImage.
> >>
> >> Regards. Valeriy
> >>
> >>
> >> Stanislav Nesterov wrote:
> >>
> >> > Hi Cris,
> >> >
> >> > I've made short patch for TASImage.cxx and
> >> libAfterImage for
> >> > Debian-testing to compile. You can try to change
> >> temporary the sources
> >> > until Christian changes building scripts.
> >
> >
> > I think changing the build scripts is a really _really_ bad idea.
> > Instead, `configure' should check that the version of the libAfterImage
> > installed on the system is compatible with TASImage (actually the other
> > way around, but OK).
> >
> >
> >> > And I would like to ask Christian somehow modify
> >> `changelog' file to
> >> > reflect current ROOT version correctly.
> >
> >
> > That's difficult. Previously, I had a few lines that automatically
> > added changelog entires to the `debian/changelog' file. However, that
> > file is meant solely for the maintainers, not for the occasional users.
> > Also, there's the problem that the changes made automatically on a user
> > machine is not automatically propagated back to the CVS repository. In
> > stead, I would suggest that the ROOT maintainers changed that file as
> > part of changing the version number. It should be that hard to, as I
> > guess they have a script that does that stuff for them anyway. What
> > needs to be added to the file `build/package/debian/changelog' is lines
> > like
> >
> > root (5.01.01) unstable; urgency=low
> >
> > * New upstream
> >
> > -- Christian Holm Christensen <cholm_at_nbi.dk> Mon, 23 May 2005 13:42:03+0200
> >
> > where `New upstream' is a changelog message, and the name and email
> > should be that of the person doing the update.
> >
> >
> >> > Fons Rademakers wrote:
> >> >
> >> > > Hi Chris,
> >> > >
> >> > > we cannot use anymore the system provided
> >> libAfterImage due to the
> >> > > many mods we had to make in it (we hope in a later
> >> stage to go back
> >> > > into sync).
> >
> >
> > Hopefully soon, yes?
> >
> >
> >> > > Can you try building the built-in libAfterImage?
> >>
> >> > > Christian (Holm), can you fix the debian package
> >> files such that we
> >> > > always use the ROOT provided libAfterImage (I've
> >> already disabled
> >> > > this option in ./configure in the head).
> >
> >
> > What if a user has an older version of libAfterImage installed, and
> > still would like to use that one?
> >
> > libAfterImage comes with the script `afterimage-config' which can tell
> > you the version number of the installed libAfterImage. Why not use that
> > script to check whether the library is too new, and possibly get the
> > right preprocessor and linker flags?
> >
> > The attached patch checks that libAfterImage is older than 1.04, and
> > uses the bundled code if it isn't.
> >
> >
> >> > > Cheers, Fons.
> >> > >
> >> > >
> >> > >
> >> > > Chris Roat wrote:
> >> > >
> >> > >> Hi,
> >> > >>
> >> > >> I'm having difficulty compiling the afterimage
> >> part of ROOT using
> >> > >> "make debian". The build proceeds through
> >> libRGL.so, and then gives
> >> > >> the warnings below. I'm using
> >> sarge(testing). Any idea what has
> >> > >> gone wrong? My afterimage library is
> >> up-to-date:
> >> > >>
> >> > >> [beta] ~/MultiFit > dpkg --list libafterimage-dev
> >> > >> Desired=Unknown/Install/Remove/Purge/Hold
> >> > >> |
> >> > >>
> >> Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
> >> > >> |/
> >> Err?=(none)/Hold/Reinst-required/X=both-problems
> >> (Status,Err:
> >> > >> uppercase=bad)
> >> > >> ||/ Name
> >> Version Description
> >> > >>
> >> +++-==================-==================-====================================================
> >> > >>
> >> > >> ii libafterimage-dev 2.00.04-3 imaging
> >> library designed
> >> > >> for AfterStep - development
> >
> >
> > This package reports version number `1.04' (via `afterimage-config
> > --version'), same as the included libAfterImage. It is not very nice
> > that these actually doesn't correspond.
> >
> > The patch also fixes a problem in TProofPEAC. The patch is made against
> > CVS HEAD as of a few hours ago.
> >
> > Yours,
> >
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > ? cint/stl/.cvsignore
> > Index: .cvsignore
> > ===================================================================
> > RCS file: /user/cvs/root/.cvsignore,v
> > retrieving revision 1.4
> > diff -u -r1.4 .cvsignore
> > --- .cvsignore 30 Mar 2004 13:32:34 -0000 1.4
> > +++ .cvsignore 23 May 2005 15:35:07 -0000
> > @@ -5,3 +5,9 @@
> > work.pc
> > work.pcl
> > .def
> > +build-arch-stamp
> > +build-indep-stamp
> > +configure-stamp
> > +debian
> > +log
> > +semantic.cache
> > Index: configure
> > ===================================================================
> > RCS file: /user/cvs/root/configure,v
> > retrieving revision 1.236
> > diff -u -r1.236 configure
> > --- configure 16 May 2005 21:31:17 -0000 1.236
> > +++ configure 23 May 2005 15:35:08 -0000
> > @@ -887,7 +887,6 @@
> > ;;
> > --disable-*)
> > f=`echo $1 | sed -e 's/--disable/enable/' -e 's/-/_/g'`
> > - echo "Disabling $f"
> > eval $f=no
> > for c in $options ; do
> > if test "x$c" = "x$f" ; then
> > @@ -1619,110 +1618,24 @@
> > # libAfterImage due to many new features, use always the builtin_afterimage
> > if test "x$enable_builtin_afterimage" = "xno" ||
> > test "x$enable_builtin_afterimage" = "" ; then
> > - echo "#### Can currently not use the system libAfterImage ####"
> > + # Assume failure
> > enable_builtin_afterimage="yes"
> > + checking_msg "for afterimage-config"
> > + if `which afterimage-config > /dev/null 2>&1` ; then
> > + which afterimage-config
> > + # we found afterimage-config - now check the version number
> > + asimage_version=`afterimage-config --version | awk 'BEGIN { FS="." } { printf "%d", $1 * 1000 + $2 }'`
> > + if test $asimage_version -gt 1003 ; then
> > + echo "WARNING: System libAfterImage is too new, using built-in"
> > + else
> > + enable_builtin_afterimage="no"
> > + asextralib=`afterimage-config --libs`
> > + asimageincdir=`afterimage-config --cflags | sed 's/-I//g'`
> > + fi
> > + else
> > + echo "not found"
> > + fi
> > fi
> > - if test "x$enable_builtin_afterimage" = "xno" ||
> > - test "x$enable_builtin_afterimage" = "" ; then
> > - # Figure out if libAfterImage is on the system, and if so, if it usable
> > - asimage_libdirs="$ASIMAGE $ASIMAGE/include \
> > - /usr/lib /usr/local/lib \
> > - /usr/lib/libAfterImage /usr/local/lib/libAfterImage \
> > - /usr/lib/libAfterBase /usr/local/lib/libAfterBase \
> > - /usr/lib/afterstep /usr/local/lib/afterstep \
> > - /usr/lib/libAfter /usr/local/lib/libAfter \
> > - /opt/libAfter"
> > - asimage_incdirs="$ASIMAGE $ASIMAGE/include \
> > - /usr/include /usr/local/include \
> > - /usr/include/libAfterImage /usr/local/include/libAfterImage \
> > - /usr/include/libAfterBase /usr/local/include/libAfterBase \
> > - /usr/include/afterstep /usr/local/include/afterstep \
> > - /usr/include/libAfter /usr/local/include/libAfter \
> > - /opt/libAfter"
> > -
> > - asimageincdirtmp=$asimageincdir
> > - check_header "astypes.h" "$asimageincdirtmp" $asimage_incdirs
> > - asimageincdir=$found_dir
> > - asimagetypes=$found_hdr
> > - check_header "afterimage.h" "$asimageincdirtmp" $asimage_incdirs
> > - asimageincdir="$asimageincdir $found_dir"
> > - asimageimage=$found_hdr
> > -
> > - asimagelibdirtmp=$asimagelibdir
> > - check_library "libAfterBase" "$enable_shared" "$asimagelibdirtmp" \
> > - $asimage_libdirs
> > - asimagelib=$found_lib
> > - asimagelibdir=$found_dir
> > -
> > - check_library "libAfterImage" "$enable_shared" "$asimagelibdirtmp" \
> > - $asimage_libdirs
> > - asimagelib="$asimagelib $found_lib"
> > - asimagelibdir="$asimagelibdir $found_dir"
> > -
> > - if test "x$asimageincdir" = "x" \
> > - || test "x$asimagelib" = "x" \
> > - || test "x$asimagetypes" = "x" \
> > - || test "x$asimageimage" = "x" ; then
> > - asimagelib=
> > - asimagelibdir=
> > - asimageincdir=
> > - enable_builtin_afterimage="yes"
> > - fi
> > - unset asimagelibdirtmp
> > - fi
> > - # If we didn't find the system libAfterImage, or the user didn't ask
> > - # for a system library, then see if we have various headers needed.
> > - if test "x$enable_builtin_afterimage" = "xyes" ; then
> > - check_header "jpeglib.h" "" $ASIMAGE $ASIMAGE/include \
> > - /usr/local/include /usr/include /opt/include $finkdir/include
> > - asjpegincdir=$found_dir
> > - check_header "png.h" "" $ASIMAGE $ASIMAGE/include \
> > - /usr/local/include /usr/include /usr/local/include/libpng \
> > - /opt/include $finkdir/include
> > - aspngincdir=$found_dir
> > - check_header "tiffio.h" "" $ASIMAGE $ASIMAGE/include \
> > - /usr/local/include /usr/include /opt/include $finkdir/include
> > - astiffincdir=$found_dir
> > - check_header "gif_lib.h" "" $ASIMAGE $ASIMAGE/include \
> > - /usr/local/include /usr/include /opt/include $finkdir/include
> > - asgifincdir=$found_dir
> > -
> > - asextralib=""
> > - asextralibdir=""
> > - found_libz=""
> > - found_dirz=""
> > - # libz must be before libpng, if libz is not found don't
> > - # add libpng which needs libz
> > - # don't look for libungif since we use the one built-in in libAfterImage
> > - #for k in libjpeg libtiff libungif libz libpng ; do
> > - for k in libjpeg libtiff libz libpng ; do
> > - check_library $k "$enable_shared" "" \
> > - $ASIMAGE $ASIMAGE/lib /usr/local/lib /usr/lib /opt/lib $finkdir/lib
> > - if test "x$k" = "xlibz" ; then
> > - found_libz=$found_lib
> > - found_dirz=$found_dir
> > - continue;
> > - fi
> > - if test "x$k" = "xlibpng" && test "x$found_libz" = "x" ; then
> > - break;
> > - fi
> > - if test ! "x$found_lib" = "x" ; then
> > - asextralib="$asextralib $found_lib"
> > - asextralibdir="$asextralibdir $found_dir"
> > - fi
> > - done
> > - if test "x$asextralib" = "x" ; then
> > - asextralib=""
> > - asextralibdir=""
> > - asjpegincdir=""
> > - aspngincdir=""
> > - astiffincdir=""
> > - asgifincdir=""
> > - else
> > - asextralib="$asextralib $found_libz"
> > - asextralibdir="$asextralibdir $found_dirz"
> > - fi
> > -fi
> > message "Checking whether to build included libAfterImage"
> > echo "$enable_builtin_afterimage"
> > fi
> > Index: build/package/common/root-xrootd.install.in
> > ===================================================================
> > RCS file: /user/cvs/root/build/package/common/root-xrootd.install.in,v
> > retrieving revision 1.1
> > diff -u -r1.1 root-xrootd.install.in
> > --- build/package/common/root-xrootd.install.in 21 Mar 2005 21:33:32 -0000 1.1
> > +++ build/package/common/root-xrootd.install.in 23 May 2005 15:35:08 -0000
> > @@ -1,5 +1,5 @@
> > @prefix@/lib/root/libXrdOfs.so
> > +@prefix@/lib/root/libXrdPosix.so
> > @prefix@/lib/root/libXrdRootd.so
> > -_at_prefix@/lib/root/libXrdSec.so
> > @prefix@/lib/root/libXrdSeckrb4.so
> > @prefix@/lib/root/libXrdSeckrb5.so
> > Index: build/package/debian/changelog
> > ===================================================================
> > RCS file: /user/cvs/root/build/package/debian/changelog,v
> > retrieving revision 1.4
> > diff -u -r1.4 changelog
> > --- build/package/debian/changelog 21 Mar 2005 21:34:36 -0000 1.4
> > +++ build/package/debian/changelog 23 May 2005 15:35:08 -0000
> > @@ -1,3 +1,9 @@
> > +root (5.01.01-1) unstable; urgency=low
> > +
> > + * New upstream
> > +
> > + -- Christian Holm Christensen <cholm_at_cholm> Mon, 23 May 2005 13:42:03 +0200
> > +
> > root (4.03.03) unstable; urgency=low
> >
> > * New upstream ROOT version
> > Index: build/package/lib/makebuilddepend.sh
> > ===================================================================
> > RCS file: /user/cvs/root/build/package/lib/makebuilddepend.sh,v
> > retrieving revision 1.3
> > diff -u -r1.3 makebuilddepend.sh
> > --- build/package/lib/makebuilddepend.sh 6 Apr 2005 09:10:20 -0000 1.3
> > +++ build/package/lib/makebuilddepend.sh 23 May 2005 15:35:08 -0000
> > @@ -11,7 +11,7 @@
> > root-cint) ;;
> > root-doc) ;;
> > *alien) echo -n ", AliEn-Client" ;;
> > -# *asimage) echo -n ", AfterStep-devel" ;;
> > + *asimage) echo -n ", AfterStep-devel" ;;
> > *asimage) ;;
> > *castor) echo -n ", CASTOR-client" ;;
> > *chirp) ;;
> > Index: build/package/lib/makelist
> > ===================================================================
> > RCS file: /user/cvs/root/build/package/lib/makelist,v
> > retrieving revision 1.1
> > diff -u -r1.1 makelist
> > --- build/package/lib/makelist 21 Mar 2005 21:33:32 -0000 1.1
> > +++ build/package/lib/makelist 23 May 2005 15:35:08 -0000
> > @@ -24,8 +24,12 @@
> > all: liblist devlist binlist
> >
> > ifneq ($(LIB),)
> > +ifneq ($(NOVERS),1)
> > PKGLIBS := $(ALLLIBS) $(ALLLIBS:%.so=%.so.$(MAJOR)) \
> > $(ALLLIBS:%.so=%.so.$(MAJOR).$(MINOR))
> > +else
> > +PKGLIBS := $(ALLLIBS)
> > +endif
> > liblist:
> > @for f in $(PKGLIBS) ; do echo $$f ; done >> $(OUT)/$(LIB).install
> > else
> > Index: build/package/lib/makelists.sh
> > ===================================================================
> > RCS file: /user/cvs/root/build/package/lib/makelists.sh,v
> > retrieving revision 1.1
> > diff -u -r1.1 makelists.sh
> > --- build/package/lib/makelists.sh 21 Mar 2005 21:33:32 -0000 1.1
> > +++ build/package/lib/makelists.sh 23 May 2005 15:35:08 -0000
> > @@ -46,12 +46,14 @@
> > pyroot) lib=root-plugin-python ; dev=$lib ; bin=$lib ;;
> > rfio) lib=root-plugin-castor ; dev=$lib ; bin=$lib ;;
> > cint) lib=root-cint; dev=$lib ; bin=$lib
> > - extra="ALLLIBS=/usr/lib/root/libCint.so" ;;
> > + extra="ALLLIBS=/usr/lib/root/libCint.so" ;;
> > srputils) lib=root-plugin-srp ; dev=$lib ; bin=$lib ;;
> > xmlparser) lib=root-plugin-xml ; dev=$lib ; bin=$lib ;;
> > krb5auth) lib=root-plugin-krb5 ; dev=$lib ; bin=$lib ;;
> > - rootd|proofd|xrootd)
> > + rootd|proofd)
> > lib=root-$d ; dev=$lib ; bin=$lib ;;
> > + xrootd) lib=root-$d ; dev=$lib ; bin=$lib
> > + extra="ALLLIBS= NOVERS=1" ;;
> > build|freetype|win*|main) continue ;;
> > *) lib=root-plugin-$d ; dev=$lib ; bin=$lib ;;
> > esac
> > @@ -60,6 +62,7 @@
> > # Update package list for based on the Module.mk in thie currenly
> > # investiaged directory
> > #
> > + echo "Making list for $d (dev=$dev lib=$lib bin=$bin extra=$extra)"
> > build/package/lib/makelist DIRS=$d DEV=$dev LIB=$lib BIN=$bin \
> > VERSION=$version PREFIX=$prefix OUT=$outdir $extra \
> > --no-print-directory all
> > Index: cint/include/.cvsignore
> > ===================================================================
> > RCS file: /user/cvs/root/cint/include/.cvsignore,v
> > retrieving revision 1.2
> > diff -u -r1.2 .cvsignore
> > --- cint/include/.cvsignore 26 Sep 2003 09:10:56 -0000 1.2
> > +++ cint/include/.cvsignore 23 May 2005 15:35:08 -0000
> > @@ -1,2 +1,3 @@
> > iosenum.h
> > systypes.h
> > +*.so.*
> > Index: cint/include/sys/.cvsignore
> > ===================================================================
> > RCS file: /user/cvs/root/cint/include/sys/.cvsignore,v
> > retrieving revision 1.1
> > diff -u -r1.1 .cvsignore
> > --- cint/include/sys/.cvsignore 26 Sep 2003 09:11:15 -0000 1.1
> > +++ cint/include/sys/.cvsignore 23 May 2005 15:35:08 -0000
> > @@ -1 +1,2 @@
> > types.h
> > +*.so.*
> > Index: peac/src/TProofPEAC.cxx
> > ===================================================================
> > RCS file: /user/cvs/root/peac/src/TProofPEAC.cxx,v
> > retrieving revision 1.2
> > diff -u -r1.2 TProofPEAC.cxx
> > --- peac/src/TProofPEAC.cxx 8 Feb 2005 22:40:36 -0000 1.2
> > +++ peac/src/TProofPEAC.cxx 23 May 2005 15:35:08 -0000
> > @@ -191,7 +191,7 @@
> > fHeartbeatTimer->Connect("Timeout()", "TProofPEAC", this, "SendHeartbeat()");
> > fHeartbeatTimer->Start(fHBPeriod*1000, kFALSE);
> > } else {
> > - return TProof::StartSlaves();
> > + return TProof::StartSlaves(kTRUE);
> > }
> >
> > return kTRUE;
>
> --
> Org: CERN, European Laboratory for Particle Physics.
> Mail: 1211 Geneve 23, Switzerland
> E-Mail: Fons.Rademakers_at_cern.ch Phone: +41 22 7679248
> WWW: http://www.rademakers.org/fons/ Fax: +41 22 7679480
> Received on Wed Jun 08 2005 - 20:33:08 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:09 MET