Bug#379724: possible NMU patch for RC bug

2006-09-23 Thread Steinar H. Gunderson
On Sat, Sep 23, 2006 at 12:10:35AM +0200, Arjan Oosting wrote:
 I have prepared a simple patch for the FTFBS which is attached. As I am
 no DD yet, I can not do the actual NMU. Marga would you like to do the
 actual upload?

This patch looks wrong, sorry:

 -build: build-arch build-indep
 +build: build-arch

I don't believe the build target even exists in Policy; in any case, the
problem here is that build-arch uses stuff from Build-Depends-Indep. IOW, the
real fix would be to move the build-dependency on xa65 from -Indep to a plain
build-dep; I'll be uploading a fix for that (to DELAYED/7-day, since the bug
hasn't been RC for more than a day) shortly.

/* Steinar */
-- 
Homepage: http://www.sesse.net/


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



Bug#379724: possible NMU patch for RC bug

2006-09-23 Thread Arjan Oosting
Op za, 23-09-2006 te 15:33 +0200, schreef Steinar H. Gunderson:
 On Sat, Sep 23, 2006 at 12:10:35AM +0200, Arjan Oosting wrote:
  I have prepared a simple patch for the FTFBS which is attached. As I am
  no DD yet, I can not do the actual NMU. Marga would you like to do the
  actual upload?
 
 This patch looks wrong, sorry:
 
  -build: build-arch build-indep
  +build: build-arch

Might look wrong, but it is right. 

The failure is in the NOT in the build-arch target but in the
build-indep-stamp target as the log shows:

 dh_testdir
 cd cbmsrc  ./build.sh
 eval: 1: xa: not found
 make: *** [build-indep-stamp] Error 127


The order in which the targets are called is
build - build-indep - build-indep-stamp.

build *IS* called by the dpkg-buildpackage and as such by the build
daemons which *IS* in the Debian policy [1]. dpkg-buildpackage -B first
calls the build target and after that the binary-arch target.

So my patch is correct and can be tested with ppbuilder; just apply the
patch and call pdebuild --binary-arch --debbuildopts -B

Greetings Arjan

[1] http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules


signature.asc
Description: Dit berichtdeel is digitaal ondertekend


Bug#379724: possible NMU patch for RC bug

2006-09-23 Thread Steinar H. Gunderson
On Sun, Sep 24, 2006 at 12:39:44AM +0200, Steinar H. Gunderson wrote:
 IOW, you can't take build-indep out of build.

Oh, I missed the part of policy actually saying this out in clear (4.9):

   The `build' target should depend on those of the targets `build-arch' and
   `build-indep' that are provided in the rules file.

/* Steinar */
-- 
Homepage: http://www.sesse.net/


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



Bug#379724: possible NMU patch for RC bug

2006-09-23 Thread Steinar H. Gunderson
On Sat, Sep 23, 2006 at 08:20:30PM +0200, Arjan Oosting wrote:
 The failure is in the NOT in the build-arch target but in the
 build-indep-stamp target as the log shows:

That doesn't really matter. 

 build *IS* called by the dpkg-buildpackage and as such by the build
 daemons which *IS* in the Debian policy [1]. dpkg-buildpackage -B first
 calls the build target and after that the binary-arch target.

What dpkg-buildpackage does, doesn't really matter -- what matters is policy.
build _must_ build the _entire_ package:

   The `build' target should perform all the configuration and compilation of
   the package. 

IOW, you can't take build-indep out of build.

However, sbuild is buggy, it seems; policy demands:

   The `Build-Depends-Indep' and `Build-Conflicts-Indep' fields must be
   satisfied when any of the following targets is invoked: `build' [...]

The simple workaround is just to move the dependency, as I've done in my
patch.

/* Steinar */
-- 
Homepage: http://www.sesse.net/


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



Bug#379724: possible NMU patch for RC bug

2006-09-23 Thread Arjan Oosting
Op zo, 24-09-2006 te 00:39 +0200, schreef Steinar H. Gunderson:
 On Sat, Sep 23, 2006 at 08:20:30PM +0200, Arjan Oosting wrote:
  The failure is in the NOT in the build-arch target but in the
  build-indep-stamp target as the log shows:
 
 That doesn't really matter. 

I agree with that

  build *IS* called by the dpkg-buildpackage and as such by the build
  daemons which *IS* in the Debian policy [1]. dpkg-buildpackage -B first
  calls the build target and after that the binary-arch target.
 
 What dpkg-buildpackage does, doesn't really matter -- what matters is policy.
 build _must_ build the _entire_ package:
 
The `build' target should perform all the configuration and compilation of
the package. 
 
 IOW, you can't take build-indep out of build.
 
 However, sbuild is buggy, it seems; policy demands:
 
The `Build-Depends-Indep' and `Build-Conflicts-Indep' fields must be
satisfied when any of the following targets is invoked: `build' [...]
 
 The simple workaround is just to move the dependency, as I've done in my
 patch.

Both ways are workarounds indeed as sbuild should just call build-arch
when it exists but it does not. This has been discussed before, see for
instance the some code in cdbs [1] and some threads on the lists [2,3]

My work around is to only build the arch-dependent part in build (yes,
this does not follow the letter of the policy but is done before) and
only build the arch independent part when binary-indep is called.

Your workaround is to include all the build dependencies for the
architecture independent parts in the Build-Depends as well so both
parts are build in the build target.

I think both are equivalent but I prefer the former as it keeps the
build daemon from building and installing unnecessary stuff. 

The second way is more policy compliant but makes Build-Depends-Indep
worthless as the architecture independent parts are build time and time
again.

Best would be to fix sbuild, but without that I prefer the first option.

Greetings Arjan Oosting

p.s. I hope I did not sound to harsh in my previous mail; I did not
intend to be at least.

[1] part of /usr/share/cdbs/1/rules/buildcore.mk

# This is a required Debian target; however, its specific semantics is
# in dispute.  We are of the opinion that 'build' should invoke
# build-arch and build-indep.  Policy tends to support us here.
# However, dpkg-buildpackage is currently invokes debian/rules build
# even when doing an architecture-specific (binary-arch) build.  This
# essentially means Build-Depends-Indep is worthless.  For more
# information, see Policy §5.2, Policy §7.6, and Debian Bug #178809.
# For now, you may override the dependencies by setting the variable
# DEB_BUILD_DEPENDENCIES, below.  This is not recommended.
DEB_BUILD_DEPENDENCIES = build-arch build-indep
build: $(DEB_BUILD_DEPENDENCIES)

  
[2] http://lists.debian.org/debian-policy/2004/08/msg00014.html
[3] http://lists.debian.org/debian-policy/2006/06/msg00089.html


signature.asc
Description: Dit berichtdeel is digitaal ondertekend


Bug#379724: possible NMU patch for RC bug

2006-09-22 Thread Arjan Oosting
tags 379724 patch
usertag 379724 supplied-patch
thanks

Hi,

I have prepared a simple patch for the FTFBS which is attached. As I am
no DD yet, I can not do the actual NMU. Marga would you like to do the
actual upload?

Greetings Arjan

Changelog of my NMU:

  * Non-maintainer upload.
  * Set urgency to medium as this upload fixes an RC bug.
  * debian/rules:
- Don't let build target depend on build-indep target as the build
  daemons will call the build target without Build-Depends-Indep
  satisfied. (Closes: #379724)
- Drop DH_COMPAT=3 as compatibility levels before 4 are deprecated.
  * debian/copyright: update address of the FSF.
  * debian/compat: added and bump debhelper compatibility level to 4 and
adjust Build-Depends on debhelper accordingly.
diff -u cbmlink-0.9.6/debian/control cbmlink-0.9.6/debian/control
--- cbmlink-0.9.6/debian/control
+++ cbmlink-0.9.6/debian/control
@@ -2,7 +2,7 @@
 Section: otherosfs
 Priority: extra
 Maintainer: Peter Karlsson [EMAIL PROTECTED]
-Build-Depends: debhelper ( 3.0.0)
+Build-Depends: debhelper (= 4.0.0)
 Build-Depends-Indep: xa65
 Standards-Version: 3.6.0
 
diff -u cbmlink-0.9.6/debian/rules cbmlink-0.9.6/debian/rules
--- cbmlink-0.9.6/debian/rules
+++ cbmlink-0.9.6/debian/rules
@@ -6,9 +6,6 @@
 # Uncomment this to turn on verbose mode. 
 #export DH_VERBOSE=1
 
-# This is the debhelper compatibility version to use.
-export DH_COMPAT=3
-
 ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -g
 endif
@@ -89,7 +86,7 @@
 
 # Combined portion ---
 
-build: build-arch build-indep
+build: build-arch
 
 clean:
 	dh_testdir
diff -u cbmlink-0.9.6/debian/changelog cbmlink-0.9.6/debian/changelog
--- cbmlink-0.9.6/debian/changelog
+++ cbmlink-0.9.6/debian/changelog
@@ -1,3 +1,18 @@
+cbmlink (0.9.6-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Set urgency to medium as this upload fixes an RC bug.
+  * debian/rules: 
+- Don't let build target depend on build-indep target as the build
+  daemons will call the build target without Build-Depends-Indep
+  satisfied. (Closes: #379724)
+- Drop DH_COMPAT=3 as compatibility levels before 4 are deprecated.
+  * debian/copyright: update address of the FSF.
+  * debian/compat: added and bump debhelper compatibility level to 4 and
+adjust Build-Depends on debhelper accordingly.
+
+ -- Arjan Oosting [EMAIL PROTECTED]  Fri, 22 Sep 2006 23:36:05 +0200
+
 cbmlink (0.9.6-1) unstable; urgency=low
 
   * Initial Release.
diff -u cbmlink-0.9.6/debian/copyright cbmlink-0.9.6/debian/copyright
--- cbmlink-0.9.6/debian/copyright
+++ cbmlink-0.9.6/debian/copyright
@@ -17,9 +17,9 @@
GNU General Public License for more details.
 
You should have received a copy of the GNU General Public License
-   along with this package; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.
+   along with this package; if not, write to the Free Software 
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+   MA 02110-1301, USA.
 
 On Debian GNU/Linux systems, the complete text of the GNU General
 Public License can be found in `/usr/share/common-licenses/GPL'.
only in patch2:
unchanged:
--- cbmlink-0.9.6.orig/debian/compat
+++ cbmlink-0.9.6/debian/compat
@@ -0,0 +1 @@
+4


signature.asc
Description: Dit berichtdeel is digitaal ondertekend