Re: How to rebuild a Debian package for a foreign architecture?

2018-01-29 Thread Vincent Lefevre
On 2018-01-26 09:47:58 +, Curt wrote:
> On 2018-01-25, Vincent Lefevre  wrote:
> > On 2018-01-25 14:53:14 +, Curt wrote:
> >> On 2018-01-25,   wrote:
> >> >
> >> > It seems that you are missing the '386 (or more precisely the '686)
> >> > executables. Perhaps you need the package dpkg-cross.
> >> >
> >> >> If I need binutils-i686-linux-gnu, shouldn't dpkg-buildpackage fail
> >> >> when checking the build dependencies?
> >> >
> >> > I'll leave that question to someone more knowledgeable.
> >> 
> >> I'm much less so, but I've heard people recommending pbuilder for
> >> this (chroot).
> >> 
> >>  pbuilder --create --architecture i386
> >>  pbuilder --build mypackage.dsc
> >
> > IMHO, this is overkill, at least in my case. And I don't like to
> > require root just to build a package.
> 
> Apparently you need root to satisfy the build *dependencies* (which
> means you need to be root to install a package--but we new that
> already).

When I want to build a package for the native architecture, I don't
need to be root. If there are missing build dependencies, then the
missing packages are listed, so that I can install them as root,
then I can retry the package build as a normal user. So, the only
things I do as root is to install packages. The build is entirely
done as a normal user.

> However 
> 
>  ...most packages do not need root privilege to build, or even
>  refused to build when they are built as root. pbuilder can create a user
>  which is only used inside pbuilder and use that user id when building,
>  and use the fakeroot command when root privilege is required.
> 
> https://pbuilder.alioth.debian.org/#nonrootchroot

Or perhaps I can try pbuilder-user-mode-linux.

The issue is that all this will require a major rewrite of my
scripts...

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



Re: How to rebuild a Debian package for a foreign architecture?

2018-01-26 Thread Curt
On 2018-01-25, Vincent Lefevre  wrote:
> On 2018-01-25 14:53:14 +, Curt wrote:
>> On 2018-01-25,   wrote:
>> >
>> > It seems that you are missing the '386 (or more precisely the '686)
>> > executables. Perhaps you need the package dpkg-cross.
>> >
>> >> If I need binutils-i686-linux-gnu, shouldn't dpkg-buildpackage fail
>> >> when checking the build dependencies?
>> >
>> > I'll leave that question to someone more knowledgeable.
>> 
>> I'm much less so, but I've heard people recommending pbuilder for
>> this (chroot).
>> 
>>  pbuilder --create --architecture i386
>>  pbuilder --build mypackage.dsc
>
> IMHO, this is overkill, at least in my case. And I don't like to
> require root just to build a package.
>

Apparently you need root to satisfy the build *dependencies* (which
means you need to be root to install a package--but we new that
already).

However 

 ...most packages do not need root privilege to build, or even
 refused to build when they are built as root. pbuilder can create a user
 which is only used inside pbuilder and use that user id when building,
 and use the fakeroot command when root privilege is required.

https://pbuilder.alioth.debian.org/#nonrootchroot

Anyhow, nothing is more convincing than success, and if your "lighter"
and less "mortal" method is successful, God bless and full speed ahead!



-- 
“True terror is to wake up one morning and discover that your high school class
is running the country.” – Kurt Vonnegut



Re: How to rebuild a Debian package for a foreign architecture?

2018-01-25 Thread Vincent Lefevre
On 2018-01-25 14:53:14 +, Curt wrote:
> On 2018-01-25,   wrote:
> >
> > It seems that you are missing the '386 (or more precisely the '686)
> > executables. Perhaps you need the package dpkg-cross.
> >
> >> If I need binutils-i686-linux-gnu, shouldn't dpkg-buildpackage fail
> >> when checking the build dependencies?
> >
> > I'll leave that question to someone more knowledgeable.
> 
> I'm much less so, but I've heard people recommending pbuilder for
> this (chroot).
> 
>  pbuilder --create --architecture i386
>  pbuilder --build mypackage.dsc

IMHO, this is overkill, at least in my case. And I don't like to
require root just to build a package.

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



Re: How to rebuild a Debian package for a foreign architecture?

2018-01-25 Thread Vincent Lefevre
On 2018-01-25 15:30:02 +0100, to...@tuxteam.de wrote:
> On Thu, Jan 25, 2018 at 02:56:17PM +0100, Vincent Lefevre wrote:
> > To rebuild a Debian package, one can use:
> > 
> >   debuild -i -us -uc -b
> > 
> > But how to rebuild a Debian package for a foreign architecture?
> > In my case for i386 from an amd64 machine. I've tried
> > 
> >   debuild -i -us -uc -b -a i386
> > 
> > but the build fails at some point:
> > 
> > [...]
> > dh_strip -a
> > dh_strip: Compatibility levels before 9 are deprecated (level 7 in use)
> > dh_strip: Compatibility levels before 9 are deprecated (level 7 in use)
> > dh_strip: Compatibility levels before 9 are deprecated (level 7 in use)
> > Can't exec "i686-linux-gnu-strip": No such file or directory at 
> > /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 358.
> > [...]
> 
> It seems that you are missing the '386 (or more precisely the '686)
> executables. Perhaps you need the package dpkg-cross.

Installing dpkg-cross just installs: cross-config dpkg-cross
libconfig-auto-perl libdebian-dpkgcross-perl. This is not
sufficient.

-- 
Vincent Lefèvre  - Web: 
100% accessible validated (X)HTML - Blog: 
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)



Re: How to rebuild a Debian package for a foreign architecture?

2018-01-25 Thread Curt
On 2018-01-25,   wrote:
>
> It seems that you are missing the '386 (or more precisely the '686)
> executables. Perhaps you need the package dpkg-cross.
>
>> If I need binutils-i686-linux-gnu, shouldn't dpkg-buildpackage fail
>> when checking the build dependencies?
>
> I'll leave that question to someone more knowledgeable.

I'm much less so, but I've heard people recommending pbuilder for this (chroot).

 pbuilder --create --architecture i386
 pbuilder --build mypackage.dsc

etc...

> Cheers
> - -- tomás
>
>


-- 
“True terror is to wake up one morning and discover that your high school class
is running the country.” – Kurt Vonnegut



Re: How to rebuild a Debian package for a foreign architecture?

2018-01-25 Thread tomas
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Thu, Jan 25, 2018 at 02:56:17PM +0100, Vincent Lefevre wrote:
> To rebuild a Debian package, one can use:
> 
>   debuild -i -us -uc -b
> 
> But how to rebuild a Debian package for a foreign architecture?
> In my case for i386 from an amd64 machine. I've tried
> 
>   debuild -i -us -uc -b -a i386
> 
> but the build fails at some point:
> 
> [...]
> dh_strip -a
> dh_strip: Compatibility levels before 9 are deprecated (level 7 in use)
> dh_strip: Compatibility levels before 9 are deprecated (level 7 in use)
> dh_strip: Compatibility levels before 9 are deprecated (level 7 in use)
> Can't exec "i686-linux-gnu-strip": No such file or directory at 
> /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 358.
> [...]

It seems that you are missing the '386 (or more precisely the '686)
executables. Perhaps you need the package dpkg-cross.

> If I need binutils-i686-linux-gnu, shouldn't dpkg-buildpackage fail
> when checking the build dependencies?

I'll leave that question to someone more knowledgeable.

Cheers
- -- tomás
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlpp6eoACgkQBcgs9XrR2kbzfwCfWeMl36zg2mSBoDSuj4s/yam6
/TkAniKmKJKviZoyjwvE5wEDwYXS+Ree
=Z/As
-END PGP SIGNATURE-