Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-12 Thread Filippo Rusconi
On Mon, May 11, 2009 at 08:34:54PM +0200, Petr Pudlak wrote:
 
 On Mon, May 11, 2009 at 03:11:22PM +0200, Filippo Rusconi wrote:
  
  It is a pity to have a Debian Policy so well documented, to point
  package-making learners to that Policy and then have non-conformant
  builders.
  
  In fact, I'd ask what would be the solution to overcome the problem
  (apart from the desirable fixing the builders)?
 
 Hi, I'm glad I (finally) got some response to the problem!
 
 I've had precisely the same problem as Filippo: I prepared my first package, I
 spent many hours studying the Policy to follow it precisely, and to my
 disappointment, I got a FTBFS bug report immediately after uploading the
 package.

I suspected I was not alone in this situation :)

 I don't think the problem is so much in the Policy, I think the problem is 
 with
 the builders. The builders must provide dependencies according to
 debian/control and the target(s) they're calling. Of course, improving the
 Policy is OK, but once the guidelines are agreed upon and written there, the
 builders must follow it.

I agree with this, also because what is stated in Policy is just plain
sensible.

 Not the other way around.  I'm quite surprised that
 these problems with the builders haven't been solved already, considering the
 number of packages in Debian!

Well, maybe there are not so many packages that perform as a clear cut
separation between build-indep and build-arch...
 
 I suggest to create a dummy package that would be as simple as possible and
 that would demonstrate the problem. Then test it with various building tools 
 and
 fill eventual bug reports. Maybe I could prepare such dummy package in the
 following days, if I have time.

If this would convince the developers responsible for the builders to
deal with the problem, then that would be awsome. Any such DD
listening ?

Best regards,
 Filippo

--
Filippo Rusconi, PhD - CNRS - public key C78F687C
Author of ``massXpert'' at http://www.massxpert.org


signature.asc
Description: Digital signature


Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Lionel Elie Mamane
On Tue, May 05, 2009 at 07:13:23PM +0200, Julien Cristau wrote:

 arch-specific builds run 'debian/rules build  $rootcmd
 debian/rules binary-arch' (where rootcmd is fakeroot or sudo).  They
 can't do anything else, because the build-arch target is (still) not
 required.

Sure they can:

 debian/rules build-arch
 if [ $? -eq 2 ] then
   apt-get install ${BUILD_DEPENDS_INDEP_OF_THE_PACKAGE}
   apt-get remove  ${BUILD_CONFLICTS_INDEP_OF_THE_PACKAGE}
   debian/rules build
 fi
 $rootcmd debian/rules binary-arch

Not wanting to do something as convoluted / brittle is another matter
altogether and something I'd support. (Returning error code 2 is
mandatory for debian/rules when called on a non-existing target, if I
remember well.) So, pbuilder can call build unconditionally (that in
itself is not a bug), but then it _must_ respect Build-Depends-Indep
and Build-Conflicts-Indep.

 Whatever's needed for this needs to be in Build-Depends.

No, policy is very clear on that: if you call the build target, you
_must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:

 http://www.debian.org/doc/debian-policy/footnotes.html#f46
 
http://www.nl.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps

I quote (emphasis mine):

Build-Depends-Indep, Build-Conflicts-Indep

 The Build-Depends-Indep and Build-Conflicts-Indep fields must be
 satisfied when any of the following targets is invoked: *build*,
 build-indep, binary and binary-indep.

If you make build-arch or binary-arch, you need Build-Depends. If
you make build-indep or binary-indep, you need Build-Depends and
Build-Depends-Indep. If you make *build* or binary, you need
*both*.


Under the current policy it is a bug for pbuilder to not install the
Build-Depends-Indep.

-- 
Lionel


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Julien Cristau
On Mon, May 11, 2009 at 13:46:30 +0200, Lionel Elie Mamane wrote:

 No, policy is very clear on that: if you call the build target, you
 _must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:
 
And policy is clearly not followed by any actual practice on this point.
So that's as much a bug in policy as anything else (#374029).

Cheers,
Julien


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Filippo Rusconi
On Mon, May 11, 2009 at 02:11:18PM +0200, Julien Cristau wrote:
 
 On Mon, May 11, 2009 at 13:46:30 +0200, Lionel Elie Mamane wrote:
 
  No, policy is very clear on that: if you call the build target, you
  _must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:
  
 And policy is clearly not followed by any actual practice on this point.
 So that's as much a bug in policy as anything else (#374029).
 
 Cheers,
 Julien

Well, but then, why have new packagers trained by studying the Policy?

Look at my own situation (which must not be a rare one, I suppose):
I've worked to make a Debian package of the software I develop [0]
with the idea that the Debian Policy had to be implemented in the
package making.

That software recently entered Debian through NEW and almost
immediately after that I got a FTBFS bug report [2]: pbuilder called
debian/rules build without installing the required

Build-Depends-Indep: texlive-latex-extra, texlive-latex-recommended, 
texlive-fonts-recommended

which of course failed because pdflatex was not found on the system
and thus could not build the LaTeX docs of the software.

It is a pity to have a Debian Policy so well documented, to point
package-making learners to that Policy and then have non-conformant
builders.

In fact, I'd ask what would be the solution to overcome the problem
(apart from the desirable fixing the builders)?

My 2 eurocents,

Best regards,

Filippo


[0] http://massxpert.org
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=528086

--
Filippo Rusconi, PhD - CNRS - public key C78F687C
Author of ``massXpert'' at http://www.massxpert.org


signature.asc
Description: Digital signature


Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Giacomo A. Catenazzi

Filippo Rusconi wrote:

On Mon, May 11, 2009 at 02:11:18PM +0200, Julien Cristau wrote:

On Mon, May 11, 2009 at 13:46:30 +0200, Lionel Elie Mamane wrote:


No, policy is very clear on that: if you call the build target, you
_must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:


And policy is clearly not followed by any actual practice on this point.
So that's as much a bug in policy as anything else (#374029).

Cheers,
Julien


Well, but then, why have new packagers trained by studying the Policy?


Because they should find errors in policy and report such bugs ;-)

Really many bug of debian-policy are found by new maintainers,
but unfortunately most of new maintainers are too shy to report
bugs to debian-policy, just because they are *new* maintainers.
Thus debian-policy still have many bugs.

ciao
cate


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Filippo Rusconi
On Mon, May 11, 2009 at 03:52:07PM +0200, Giacomo A. Catenazzi wrote:

 Filippo Rusconi wrote:
 On Mon, May 11, 2009 at 02:11:18PM +0200, Julien Cristau wrote:
 On Mon, May 11, 2009 at 13:46:30 +0200, Lionel Elie Mamane wrote:

 No, policy is very clear on that: if you call the build target, you
 _must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:

 And policy is clearly not followed by any actual practice on this point.
 So that's as much a bug in policy as anything else (#374029).

 Cheers,
 Julien

 Well, but then, why have new packagers trained by studying the Policy?

 Because they should find errors in policy and report such bugs ;-)

 Really many bug of debian-policy are found by new maintainers,
 but unfortunately most of new maintainers are too shy to report
 bugs to debian-policy, just because they are *new* maintainers.
 Thus debian-policy still have many bugs.


Does this mean that you too think that on the specific matter dealt
with in this thread, it is the policy that is bugged and not the
autobuilders ? Or should I intersperse your message with smileys :)


Best regards,
 Filippo

--
Filippo Rusconi, PhD - CNRS - public key C78F687C
Author of ``massXpert'' at http://www.massxpert.org


signature.asc
Description: Digital signature


Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Adam C Powell IV
On Mon, 2009-05-11 at 15:11 +0200, Filippo Rusconi wrote:
 On Mon, May 11, 2009 at 02:11:18PM +0200, Julien Cristau wrote:
  
  On Mon, May 11, 2009 at 13:46:30 +0200, Lionel Elie Mamane wrote:
  
   No, policy is very clear on that: if you call the build target, you
   _must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:
   
  And policy is clearly not followed by any actual practice on this point.
  So that's as much a bug in policy as anything else (#374029).
  
  Cheers,
  Julien
 
 Well, but then, why have new packagers trained by studying the Policy?
 
 Look at my own situation (which must not be a rare one, I suppose):
 I've worked to make a Debian package of the software I develop [0]
 with the idea that the Debian Policy had to be implemented in the
 package making.
 
 That software recently entered Debian through NEW and almost
 immediately after that I got a FTBFS bug report [2]: pbuilder called
 debian/rules build without installing the required
 
 Build-Depends-Indep: texlive-latex-extra, texlive-latex-recommended, 
 texlive-fonts-recommended
 
 which of course failed because pdflatex was not found on the system
 and thus could not build the LaTeX docs of the software.

I don't understand.  I maintain a bunch of packages with tex in
Build-Depends-Indep, and autobuilders never have a problem with them.
Why are they calling the build target, and not build-arch?

-Adam
-- 
GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Engineering consulting with open source tools
http://www.opennovation.com/


signature.asc
Description: This is a digitally signed message part


Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-11 Thread Petr Pudlak
On Mon, May 11, 2009 at 03:11:22PM +0200, Filippo Rusconi wrote:
 On Mon, May 11, 2009 at 02:11:18PM +0200, Julien Cristau wrote:
  
  On Mon, May 11, 2009 at 13:46:30 +0200, Lionel Elie Mamane wrote:
  
   No, policy is very clear on that: if you call the build target, you
   _must_ satisfy Build-Depends-Indep and Build-Conflicts-Indep:
   
  And policy is clearly not followed by any actual practice on this point.
  So that's as much a bug in policy as anything else (#374029).
  
  Cheers,
  Julien
 
 Well, but then, why have new packagers trained by studying the Policy?
 
 Look at my own situation (which must not be a rare one, I suppose):
 I've worked to make a Debian package of the software I develop [0]
 with the idea that the Debian Policy had to be implemented in the
 package making.
 
 That software recently entered Debian through NEW and almost
 immediately after that I got a FTBFS bug report [2]: pbuilder called
 debian/rules build without installing the required
 
 Build-Depends-Indep: texlive-latex-extra, texlive-latex-recommended, 
 texlive-fonts-recommended
 
 which of course failed because pdflatex was not found on the system
 and thus could not build the LaTeX docs of the software.
 
 It is a pity to have a Debian Policy so well documented, to point
 package-making learners to that Policy and then have non-conformant
 builders.
 
 In fact, I'd ask what would be the solution to overcome the problem
 (apart from the desirable fixing the builders)?

Hi, I'm glad I (finally) got some response to the problem!

I've had precisely the same problem as Filippo: I prepared my first package, I
spent many hours studying the Policy to follow it precisely, and to my
disappointment, I got a FTBFS bug report immediately after uploading the
package. It took me considerable time to find out what the problem was (thanks
for help!), and moreover, it wasn't apparently my fault, it was faulty
builder(s).

I don't think the problem is so much in the Policy, I think the problem is with
the builders. The builders must provide dependencies according to
debian/control and the target(s) they're calling. Of course, improving the
Policy is OK, but once the guidelines are agreed upon and written there, the
builders must follow it. Not the other way around.  I'm quite surprised that
these problems with the builders haven't been solved already, considering the
number of packages in Debian!

I suggest to create a dummy package that would be as simple as possible and
that would demonstrate the problem. Then test it with various building tools and
fill eventual bug reports. Maybe I could prepare such dummy package in the
following days, if I have time.

Best regards,
Petr


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: pbuilder --build --binary-arch invokes 'build' target

2009-05-06 Thread Petr Pudlak
Hi,

thanks for valuable comments, now it makes more sense to me. The problem was
that my 'build:' target is dependent on build-arch and build-indep targets (as
generated by dh_make when I started with the project). When pbuilder invokes
'debian/rules build', both these targets are called.

I looked at text4ht's debian/rules and there you simply commented out the
'build:' target. I tried the same thing and it works nicely.
(My original debian/rules, without this modification, is here:
 
http://git.debian.org/?p=debian-science/packages/eprover.git;a=blob;f=debian/rules;hb=master
 )

Now I'm just concerned about (violating) Debian Policy (Sect. 4.9). It states
that the 'build:' target is mandatory. Should I leave 'build:' commented out,
possibly violating the policy, or perhaps include it just empty, removing its
dependencies on 'build-arch' and 'build-indep', so that the policy is
satisfied?

With best regards,
Petr

On Wed, May 06, 2009 at 02:31:52AM +0530, Kapil Hari Paranjape wrote:
 Hello,
 
 On Tue, 05 May 2009, Petr Pudlak wrote:
  The problem is that if pbuilder is invoked with --binary-arch, it still 
  tries
  to build the whole project, including the documentation (indep). It looks 
  to me as if the problem
  is with pbuilder (or with the tools it's invoking), but of course the 
  problem
  might as well be my ignorance.
 
 If you invoke pbuilder --binary-arch then it in turn invokes
 debian/rules binary-arch. So it looks as if your binary-arch target
 is running the complete build target.
 
 In the case of the tex4ht package I have chosen to create two
 targets build-arch and build-indep which are invoked by the
 appropriate binary-* targets. You can browse the SVN repo of the
 debian directory of the tex4ht package on svn.debian.org
  http://svn.debian.org/wsvn/collab-maint/deb-maint/tex4ht/trunk/debian/rules
 to see this.
 
 Regards,
 
 Kapil.
 --
 



-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: pbuilder --build --binary-arch invokes 'build' target

2009-05-06 Thread Aaron M. Ucko
Petr Pudlak d...@pudlak.name writes:

 Now I'm just concerned about (violating) Debian Policy (Sect. 4.9). It states
 that the 'build:' target is mandatory. Should I leave 'build:' commented out,
 possibly violating the policy, or perhaps include it just empty, removing its
 dependencies on 'build-arch' and 'build-indep', so that the policy is
 satisfied?

How about keeping the build: target as is, complete with full
dependencies, but conditionalizing documentation building on the
presence of what it needs?:

 [ ! -x /usr/bin/dvipng ] || [ ! -x /usr/bin/tex4ht ] || \
 [ ! -f /usr/share/texmf-texlive/... ] || \
 $(MAKE) -C DOC html

(I'm not sure what specifically you need from texlive-latex-extra.)

BTW, I'd also suggest cleaning up your build dependencies:
texlive-latex-extra already depends on -base for you, and sed, mawk,
and gawk have all been at the requisite versions since at least
oldstable, with both sed and mawk setting Priority: required.
(Moreover, allowing the virtual awk package undermines the relevant
version requirements anyway.)

-- 
Aaron M. Ucko, KB1CJC (amu at alum.mit.edu, ucko at debian.org)
http://www.mit.edu/~amu/ | http://stuff.mit.edu/cgi/finger/?...@monk.mit.edu


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Bug#521918: pbuilder --build --binary-arch invokes 'build' target

2009-05-05 Thread Julien Cristau
On Tue, May  5, 2009 at 19:01:41 +0200, Petr Pudlak wrote:

 Hi, I was trying to attend a reported bug (#521918) of a recently uploaded
 package 'eprover', but unfortunately I didn't know what to do about it. I've
 already asked on debian-mentors, but nobody replied.
 
 The problem is that if pbuilder is invoked with --binary-arch, it still tries
 to build the whole project, including the documentation (indep). But the tools
 required to build the documentation are missing, since they are specified in
 Build-Depends-Indep:, not in Build-Depends:. It looks to me as if the problem
 is with pbuilder (or with the tools it's invoking), but of course the problem
 might as well be my ignorance.
 
 The only solution I thought of so far was to put the tools for building the
 documentation into Build-Depends:, but this seems to me (at least) as 
 improper.
 
 Could anyone help me, either by advising how to properly solve the problem, or
 by pointing out what I'm doing wrong?
 
arch-specific builds run 'debian/rules build  $rootcmd debian/rules
binary-arch' (where rootcmd is fakeroot or sudo).  They can't do
anything else, because the build-arch target is (still) not required.
Whatever's needed for this needs to be in Build-Depends.  Basically the
only place you're allowed to use the Build-Depends-Indep stuff is the
binary-indep target.  There's a long-standing bug on debian-policy about
this, IIRC.

Cheers,
Julien


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: pbuilder --build --binary-arch invokes 'build' target

2009-05-05 Thread Petr Pudlak
Hi, I was trying to attend a reported bug (#521918) of a recently uploaded
package 'eprover', but unfortunately I didn't know what to do about it. I've
already asked on debian-mentors, but nobody replied.

The problem is that if pbuilder is invoked with --binary-arch, it still tries
to build the whole project, including the documentation (indep). But the tools
required to build the documentation are missing, since they are specified in
Build-Depends-Indep:, not in Build-Depends:. It looks to me as if the problem
is with pbuilder (or with the tools it's invoking), but of course the problem
might as well be my ignorance.

The only solution I thought of so far was to put the tools for building the
documentation into Build-Depends:, but this seems to me (at least) as improper.

Could anyone help me, either by advising how to properly solve the problem, or
by pointing out what I'm doing wrong?

Thanks in advance,
Petr


On Sun, Apr 26, 2009 at 04:22:42PM +0200, d...@pudlak.name wrote:
   Hi,

 I'm trying to address bug #521918 http://bugs.debian.org/521918. When I 
 run pbuilder as
   pbuilder --build --binary-arch eprover_1.0.004-1.dsc
 so that it should build only the binary target, it seems to me that it  
 still invokes the 'debian/rules build' target, instead of 'build-arch'  
 (or 'binary-arch'?), which I'd expect. This way, the building process  
 fails, since it tries to build the documentation, but it's missing  
 Build-Depends-Indep packages (LaTeX, tex4ht, etc.).

 Am I doing something wrong? Could someone more experienced recommend me 
 how to solve this problem?

   Thanks in advance,
   Petr

 [See http://git.debian.org/?p=debian-science/packages/eprover.git]

 
 This message was sent using IMP, the Internet Messaging Program.



-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: pbuilder --build --binary-arch invokes 'build' target

2009-05-05 Thread Kapil Hari Paranjape
Hello,

On Tue, 05 May 2009, Petr Pudlak wrote:
 The problem is that if pbuilder is invoked with --binary-arch, it still tries
 to build the whole project, including the documentation (indep). It looks to 
 me as if the problem
 is with pbuilder (or with the tools it's invoking), but of course the problem
 might as well be my ignorance.

If you invoke pbuilder --binary-arch then it in turn invokes
debian/rules binary-arch. So it looks as if your binary-arch target
is running the complete build target.

In the case of the tex4ht package I have chosen to create two
targets build-arch and build-indep which are invoked by the
appropriate binary-* targets. You can browse the SVN repo of the
debian directory of the tex4ht package on svn.debian.org
 http://svn.debian.org/wsvn/collab-maint/deb-maint/tex4ht/trunk/debian/rules
to see this.

Regards,

Kapil.
--



signature.asc
Description: Digital signature


pbuilder --build --binary-arch invokes 'build' target

2009-04-26 Thread deb

  Hi,

I'm trying to address bug #521918 http://bugs.debian.org/521918.  
When I run pbuilder as

  pbuilder --build --binary-arch eprover_1.0.004-1.dsc
so that it should build only the binary target, it seems to me that it  
still invokes the 'debian/rules build' target, instead of 'build-arch'  
(or 'binary-arch'?), which I'd expect. This way, the building process  
fails, since it tries to build the documentation, but it's missing  
Build-Depends-Indep packages (LaTeX, tex4ht, etc.).


Am I doing something wrong? Could someone more experienced recommend  
me how to solve this problem?


  Thanks in advance,
  Petr

[See http://git.debian.org/?p=debian-science/packages/eprover.git]


This message was sent using IMP, the Internet Messaging Program.


--
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org