On Fri, 2008-07-25 at 15:07 -0300, Herbert P Fortes Neto wrote:
> It is not a cross-compiling. Building packages for
> i386 only.

When not using emdebuild, you need to set the DEB_BUILD_OPTIONS that
emdebuild would set - nodocs in this case.

I assume you're using dpkg-buildpackage for the native build so the
command, to be compliant with Emdebian Policy, would be:

DEB_BUILD_OPTIONS="nodocs" dpkg-buildpackage 
(with your usual dpkg command line options).

Sorry, that should be mentioned somewhere - feel free to add details to
the Wiki.

Another useful build option is "nocheck":

DEB_BUILD_OPTIONS="nodocs nocheck" dpkg-buildpackage

You don't need to use emdebuild (and you shouldn't have to) but it might
be worth trying emdebuild in case of queries with dpkg-buildpackage -
asking emdebuild to build for i386 on i386 will just result in a normal
build with the emdebuild wrapper.

> I am not sure if i understood the email "Native builds
> and other uses of emdebian-tools" sent to the emdebian list.
> Anyway i am reporting here the buggy patch.

It's as much a bug in the documentation for native builds (which itself
is very sparse).

To help explain that email to the debian-embedded list:
1. File bugs just like this - with one tweak, if the issue relates to a
specific package you are building with emdebian-tools (or Emdebian
patches), please mention the source package name in the title of the bug
report.

2. Keep this bug as a general bug for native build issues, particularly
relating to things that should be documented or supported more visibly.
I'll tag and add details to the bug logs to indicate which Debian bugs
are blocking the solution and keep you informed of updates.

3. I'll merge bugs if need be - just keep filing as you come across
stuff, I'll only forget otherwise.

If you have any suggestions for documentation, please add them here.

> Lines 83, and 107 of debian/rules. On line 83 i believe
> the ifeq/else/endif must be reverted.The error on line 107
> was difficult to see. "ifeq"

That is a common misconception related to how debian/rules uses
findstring - http://wiki.debian.org/EmdebianGuide

ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
        $(MAKE) check
endif

ifeq tests the value before the comma (null) against the return value
from findstring. In this case it means that if findstring *fails* to
find 'nocheck' in the DEB_BUILD_OPTIONS environment variable, the
conditional resolves as true. A kind of double-negative.

Therefore:

ifeq (,$(findstring nodocs,$(DEB_BUILD_OPTIONS)))
        install foo.1 debian/foo/usr/share/man/man1/
        ...
endif

If nodocs is *not* set, the man page is installed (and the Emdebian
lintian check will fail).

That could be added to the docs too.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


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

Reply via email to