Re: Finding out why a Build-Dependency is fetched.

2007-12-20 Thread Kumar Appaiah
On Thu, Dec 20, 2007 at 12:23:49PM +0530, Kumar Appaiah wrote:
 Well, I've filed one already with a patch and severity serious! It
 does affect common behaviour from earlier though. Let me downgrade it
 if it comes to that, or the maintainer objects.

OK, the verdict from #457151 is that ordering of Build-Depends must
not be relied upon, and Build-Conflicts is the way to go.

Thanks!

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-20 Thread Kapil Hari Paranjape
Hello,

On Thu, 20 Dec 2007, Kumar Appaiah wrote:
  In other words, if you specifically do not want atlas3-base-dev to
  be present during the build then you should put it in
  Build-Conflicts.
 
 I am aware, but want to avoid it.

It may not be avoidable. See
http://lists.debian.org/debian-devel/2007/07/msg00588.html

Unless your package has the possibility of a configure option like
--without-atlas, your only way to prevent atlas dependency being
configured during the build is to conflict with it.

Of course, it would be nice if pbuilder would avoid installing
un-needed dependencies, especially when one is running the build on a
small machine which does not have a very high-speed network link.

Regards,

Kapil.
--


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



Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Kumar Appaiah
Dear Debian Mentors,

This is with reference to a package of mine, libitpp, whose latest
version I have packaged and it is available at:

http://mentors.debian.net/debian/pool/main/l/libitpp/libitpp_4.0.1-2.dsc

What I want to know is, earlier builds never pulled in atlas3-base-dev
for the build, as you may see here:

http://buildd.debian.org/fetch.cgi?pkg=libitpparch=i386ver=4.0.0-3stamp=1193598381file=logas=raw

Also, when I try to build the package on my machine outside a
pbuilder, with the B-Deps installed, it works fine without atlas, and
generates packages which don't depend explicitly on libatlas. However,
the moment I try to use pbuilder on it, it fetches atlas3-base-dev for
the build, and my package now depends on atlas3-base. The same thing
happens on amd64 (thanks to William Pitcock for testing it for me).

Despite my best efforts, I am unable to spot what is causing atlas to
be pulled in. I do observe that lapack3-dev has the following
dependencies:

Depends: lapack3 (= 3.0.2531a-6.1), libc6-dev, atlas3-base-dev | 
refblas3-dev | libblas-3.so, g77

However, libitpp uses the following dependencies:
Build-Depends: debhelper (= 5), autotools-dev, doxygen (= 1.5.1-1), 
refblas3-dev, libfftw3-dev, texlive-latex-base, gs, lapack3-dev

Clearly, refblas3-dev is provided, so lapack3-dev shouldn't need
atlas3-base-dev, right? What am I missing?

Thanks!

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Kumar Appaiah
(Annotation at the end)

On Thu, Dec 20, 2007 at 10:30:14AM +0530, Kumar Appaiah wrote:
 Dear Debian Mentors,
 
 This is with reference to a package of mine, libitpp, whose latest
 version I have packaged and it is available at:
 
 http://mentors.debian.net/debian/pool/main/l/libitpp/libitpp_4.0.1-2.dsc
 
 What I want to know is, earlier builds never pulled in atlas3-base-dev
 for the build, as you may see here:
 
 http://buildd.debian.org/fetch.cgi?pkg=libitpparch=i386ver=4.0.0-3stamp=1193598381file=logas=raw
 
 Also, when I try to build the package on my machine outside a
 pbuilder, with the B-Deps installed, it works fine without atlas, and
 generates packages which don't depend explicitly on libatlas. However,
 the moment I try to use pbuilder on it, it fetches atlas3-base-dev for
 the build, and my package now depends on atlas3-base. The same thing
 happens on amd64 (thanks to William Pitcock for testing it for me).
 
 Despite my best efforts, I am unable to spot what is causing atlas to
 be pulled in. I do observe that lapack3-dev has the following
 dependencies:
 
 Depends: lapack3 (= 3.0.2531a-6.1), libc6-dev, atlas3-base-dev | 
 refblas3-dev | libblas-3.so, g77
 
 However, libitpp uses the following dependencies:
 Build-Depends: debhelper (= 5), autotools-dev, doxygen (= 1.5.1-1), 
 refblas3-dev, libfftw3-dev, texlive-latex-base, gs, lapack3-dev
 
 Clearly, refblas3-dev is provided, so lapack3-dev shouldn't need
 atlas3-base-dev, right? What am I missing?

FWIW, I observe a similar happening with octave2.9. The Build-Depends
haven't change significantly, but all of a sudden, atlas is coming in:

Without Atlas on Sparc:
http://buildd.debian.org/fetch.cgi?pkg=octave2.9ver=1%3A2.9.17-1arch=sparcstamp=1195174810file=log

With Atlas on Sparc:
http://buildd.debian.org/fetch.cgi?pkg=octave2.9ver=1%3A2.9.19-1arch=sparcstamp=1197772112file=log

Thanks.

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Kapil Hari Paranjape
Hello,

On Thu, 20 Dec 2007, Kumar Appaiah wrote:
 Also, when I try to build the package on my machine outside a
 pbuilder, with the B-Deps installed, it works fine without atlas, and
 generates packages which don't depend explicitly on libatlas. However,
 the moment I try to use pbuilder on it, it fetches atlas3-base-dev for
 the build, and my package now depends on atlas3-base.

The building of a package should not produce a different package if
some additional packages not listed in Build-Conflicts are
installed.

In other words, if you specifically do not want atlas3-base-dev to
be present during the build then you should put it in
Build-Conflicts.

I know that this does not explain why pbuilder is behaving the way it
is but it seems to be a solution.

Regards,

Kapil.
--


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



Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Y Giridhar Appaji Nag
On 07/12/20 10:30 +0530, Kumar Appaiah said ...
 What I want to know is, earlier builds never pulled in atlas3-base-dev
 for the build, as you may see here:
 
 http://buildd.debian.org/fetch.cgi?pkg=libitpparch=i386ver=4.0.0-3stamp=1193598381file=logas=raw

This could just mean that atlas3-base-dev has been added to the
dependencies of a package that you build-depend on.

 Also, when I try to build the package on my machine outside a
 pbuilder, with the B-Deps installed, it works fine without atlas, and
 generates packages which don't depend explicitly on libatlas. However,
 the moment I try to use pbuilder on it, it fetches atlas3-base-dev for

Is your environment up-to-date?  Did you ensure that you have all the
latest packages (in particular, those that you build-depend on) from
unstable?  With pbuilder, you are using the latest.

 be pulled in. I do observe that lapack3-dev has the following
 dependencies:
 
 Depends: lapack3 (= 3.0.2531a-6.1), libc6-dev, atlas3-base-dev | 
 refblas3-dev | libblas-3.so, g77
 
 However, libitpp uses the following dependencies:
 Build-Depends: debhelper (= 5), autotools-dev, doxygen (= 1.5.1-1), 
 refblas3-dev, libfftw3-dev, texlive-latex-base, gs, lapack3-dev
 
 Clearly, refblas3-dev is provided, so lapack3-dev shouldn't need
 atlas3-base-dev, right? What am I missing?

I would say that the order of resolving dependencies may be different
for different programs.  Consider this:

Option 1: You install refblas3-dev and then lapack3-dev, so
atlas3-base-dev is not brought in because refblas3-dev exists.

Option 2: The buildd gets the lapack3-dev and hence atlas3-base-dev
first and then it gets refblas3-dev.

But, when you build the package, if there is a check (maybe via the
configure script) for atlas3-base-dev and then for refblas3-dev, in
Option 1, refblas3-dev is used and in Option 2 atlas3-base-dev is used.

(I did not verify the above, but this is a possible explanation).

If you want to avoid the above, you should Build-Depends: lapack3-dev |
refblas3-dev.  You should be good with just a Build-Depends: lapack3-dev
but the | refblas3-dev helps backporters (if lapack3 doesn't depend on
refblas3-dev in its older versions).

Giridhar

-- 
Y Giridhar Appaji Nag | http://www.appaji.net/


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Kumar Appaiah
Hi!

On Thu, Dec 20, 2007 at 10:56:46AM +0530, Kapil Hari Paranjape wrote:
 The building of a package should not produce a different package if
 some additional packages not listed in Build-Conflicts are
 installed.
 
 In other words, if you specifically do not want atlas3-base-dev to
 be present during the build then you should put it in
 Build-Conflicts.

I am aware, but want to avoid it.

 I know that this does not explain why pbuilder is behaving the way it
 is but it seems to be a solution.

Well, here's a further diagnosis. For some reason, the order of
installed packages in the buildds (and my pbuilder) are being
reordered in alphabetical order.

See this old log. The apt-get command follows the same order as
specified in the package's Build-Depends:
http://buildd.debian.org/fetch.cgi?pkg=octave2.9ver=1%3A2.9.17-1arch=sparcstamp=1195174810file=log

But here, it is in alphabetical order:
http://buildd.debian.org/fetch.cgi?pkg=octave2.9ver=1%3A2.9.19-1arch=sparcstamp=1197772112file=log

And I saw the source package for octave2.9, here's the control:

Build-Depends: g++-4.1 (= 4.1.1-4), debhelper (= 5.0.0), autoconf, texinfo,
 texlive-latex-base, texlive-generic-recommended, g77,
 libreadline5-dev,
 libncurses5-dev, gperf, libhdf5-serial-dev (= 1.6.5) |
 libhdf5-lam-dev (= 1.6.5) | libhdf5-mpich-dev (= 1.6.5),
 refblas3-dev | atlas3-base-dev, lapack3-dev | atlas3-base-dev,
 gnuplot-nox, fftw3-dev, texi2html, less, dpatch,
 slice, libpcre3-dev, flex, libglpk-dev (= 4.15),
 libsuitesparse-dev, gawk, gs-gpl, libcurl4-dev, libqhull-dev,
 desktop-file-utils

Notice that refblas3-dev is _before_ lapack3-dev. Now, if apt-get is
called faithfully in this order, atlas does not come in. But if it is
reordered, the lapack3-dev dependencies are honoured first, and that
pulls in atlas3-base, which is the first alternate dependency, and is
satisfiable.

Now, the question is, where is the reordering occurring? sbuild?

Thanks.

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Kumar Appaiah
On Thu, Dec 20, 2007 at 11:49:53AM +0530, Kumar Appaiah wrote:
 See this old log. The apt-get command follows the same order as
 specified in the package's Build-Depends:
 http://buildd.debian.org/fetch.cgi?pkg=octave2.9ver=1%3A2.9.17-1arch=sparcstamp=1195174810file=log
 
 But here, it is in alphabetical order:
 http://buildd.debian.org/fetch.cgi?pkg=octave2.9ver=1%3A2.9.19-1arch=sparcstamp=1197772112file=log
 
 And I saw the source package for octave2.9, here's the control:
 
 Build-Depends: g++-4.1 (= 4.1.1-4), debhelper (= 5.0.0), autoconf, texinfo,
  texlive-latex-base, texlive-generic-recommended, g77,
  libreadline5-dev,
  libncurses5-dev, gperf, libhdf5-serial-dev (= 1.6.5) |
  libhdf5-lam-dev (= 1.6.5) | libhdf5-mpich-dev (= 1.6.5),
  refblas3-dev | atlas3-base-dev, lapack3-dev | atlas3-base-dev,
  gnuplot-nox, fftw3-dev, texi2html, less, dpatch,
  slice, libpcre3-dev, flex, libglpk-dev (= 4.15),
  libsuitesparse-dev, gawk, gs-gpl, libcurl4-dev, libqhull-dev,
  desktop-file-utils
 
 Notice that refblas3-dev is _before_ lapack3-dev. Now, if apt-get is
 called faithfully in this order, atlas does not come in. But if it is
 reordered, the lapack3-dev dependencies are honoured first, and that
 pulls in atlas3-base, which is the first alternate dependency, and is
 satisfiable.
 
 Now, the question is, where is the reordering occurring? sbuild?

And the answer is, that the dsc file itself has it ordered! The
generated dsc file has ordered B-Deps.

I think this has to do with the dpkg-dev refactoring. I'll find out if
a bug is warranted, though I'd appreciate more input.

Thanks.

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Y Giridhar Appaji Nag
On 07/12/20 12:04 +0530, Kumar Appaiah said ...
 On Thu, Dec 20, 2007 at 11:49:53AM +0530, Kumar Appaiah wrote:
  Notice that refblas3-dev is _before_ lapack3-dev. Now, if apt-get is
  called faithfully in this order, atlas does not come in. But if it is
  reordered, the lapack3-dev dependencies are honoured first, and that
  pulls in atlas3-base, which is the first alternate dependency, and is
  satisfiable.
  
  Now, the question is, where is the reordering occurring? sbuild?
 
 And the answer is, that the dsc file itself has it ordered! The
 generated dsc file has ordered B-Deps.
 
 I think this has to do with the dpkg-dev refactoring. I'll find out if
 a bug is warranted, though I'd appreciate more input.

IMO, this isn't a bug.  The order in which packages are listed in the
build-depends shouldn't matter.  Build-Depends: lapack3-dev | refblas3-dev
or Build-Depends: refblas3-dev | lapack3-dev (if you please) is what you
want to use really.

Giridhar

-- 
Y Giridhar Appaji Nag | http://www.appaji.net/


signature.asc
Description: Digital signature


Re: Finding out why a Build-Dependency is fetched.

2007-12-19 Thread Kumar Appaiah
On Thu, Dec 20, 2007 at 12:01:24PM +0530, Y Giridhar Appaji Nag wrote:
 IMO, this isn't a bug.  The order in which packages are listed in the
 build-depends shouldn't matter.  Build-Depends: lapack3-dev | refblas3-dev
 or Build-Depends: refblas3-dev | lapack3-dev (if you please) is what you
 want to use really.

Well, I've filed one already with a patch and severity serious! It
does affect common behaviour from earlier though. Let me downgrade it
if it comes to that, or the maintainer objects.

And no. I want to Build-Depend on BOTH lapack3-dev and refblas3-dev,
and not one of them. I don't want atlas3 coming in.

Thanks.

Kumar
-- 
Kumar Appaiah,
458, Jamuna Hostel,
Indian Institute of Technology Madras,
Chennai - 600 036


signature.asc
Description: Digital signature