[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How do I compile for different architectures?



I'm maintaining a package in non-free, which means that it will probably
never be compiled automatically (lowest priority).

So I need to do that myself. And I can find the available compile hosts
on http://db.debian.org/machines.cgi.

I usually builds my package using 'dpkg-buildpackage -rfakeroot' and
that works well. But now I need to do at least the compile on a
different machine. I would still like to include all architecture
specific deb-files in the changes-file I got for my source and i386
build.

And I do not want to sign the package on another machine for obvious
reasons. :-)

So, could anyone give me a more detailed scheme of how to do this?

I assume I have to copy the source directory to the compile machine
and run 'debian/rules binary'. Then I must fetch the deb-files
and somehow make a new changes-file for this architecture, using the
available .dsc, .tar.gz and .diff.gz files.

Or is it enough that the changes-file for i386 build have those files?

According to the New Maintainers' Guide 'dpkg-buildpackage' will do
these things for me:

    * clean the source tree (debian/rules clean), using fakeroot
    * build the source package (dpkg-source -b)
    * build the program (debian/rules build)
    * build the binary package (debian/rules binary), using fakeroot
    * sign the source .dsc file, using gnupg
    * create and sign the upload .changes file, using dpkg-genchanges and gnupg

Am I supposed to do the last two steps myself?
I just feel there must be some standard way of doing this. :-)



Reply to: