[Pkg-javascript-devel] help to port nodejs to Debian riscv
Jérémy Lal
kapouer at melix.org
Thu Mar 10 10:45:00 GMT 2022
On Thu, Mar 10, 2022 at 11:26 AM Bo YU <tsu.yubo at gmail.com> wrote:
> Hi
>
> On Thu, Mar 10, 2022 at 4:45 PM Jérémy Lal <kapouer at melix.org> wrote:
>
>>
>>
>> On Thu, Mar 10, 2022 at 9:20 AM vimer <tsu.yubo at gmail.com> wrote:
>>
>>> Hi,
>>> On Thu, Mar 10, 2022 at 09:00:10AM +0100, Jérémy Lal wrote:
>>> > On Thu, Mar 10, 2022 at 8:56 AM Yadd <[1]yadd at debian.org> wrote:
>>> >
>>> > On 10/03/2022 08:19, vimer wrote:
>>> > > Hi,
>>> > > According to [2]https://github.com/nodejs/build/issues/2876, The
>>> > nodejs
>>> > > upstream seems have supported riscv64. I want to help port it to
>>> > Debian
>>> > > riscv
>>> > > if possible.
>>> > >
>>> > > But I want to know workflow about porting.
>>> > >
>>> > > The nodejs released in Debian Bulleye sid is 12.22.9~dfsg-1, But
>>> > nodejs
>>> > > upstream version upon 16 or 17 can support riscv64. So, the
>>> > question is:
>>> > >
>>> > > Need I gpb import nodejs-16 or 17 in current
>>> > > [3]https://salsa.debian.org/js-team/nodejs.git
>>> > > or gpb import nodejs latest version from upstream?
>>> > Hi,
>>> > don't do that, updating nodejs requires a lot of job and node-16
>>> > requires a newer libicu.
>>> >
>>> > Indeed,
>>> > You will want to use nodejs 16 from the master-16.x branch.
>>> > (it is a gbp layout with master-16.x / upstream-16.x/pristine-tar
>>> > branches)
>>> > From that point, i suggest you setup a riscv64 vm and try to
>>> > git-buildpackage node 16 in it.
>>> > You will probably need to use the "build profiles" documented
>>> > in debian/README.source.
>>> > Also later today i'll push latest 16.x upstream release in that
>>> branch.
>>> > Feel free to ask more questions.
>>> > Jérémy
>>> Ok, will do. Thanks all,
>>> BR,
>>> vimer
>>>
>>
>> node 16.14.0 is available on master-16.x branch.
>> Doing a local build right now.
>> The documentation generator prints some errors, nothing to be alarmed of.
>> This is the command i'm using for the build:
>> sbuild -d experimental '--extra-repository=deb
>> http://deb.debian.org/debian experimental main'
>> --build-dep-resolver=aspcud
>>
> I use sbuild to build it in riscv64 vm, but get error:
> sudo sbuild --arch=riscv64 -d sid-riscv64-sbuild
> ```The following information may help to resolve the situation:
>
> The following packages have unmet dependencies:
> sbuild-build-depends-main-dummy : Depends: libicu-dev (>= 70.1~) but
> 67.1-7 is to be installed
> Depends: node-acorn (>= 6.2.1~) but it
> is not going to be installed
> Depends: pkg-js-tools (>= 0.8.2~) but
> it is not going to be installed
> Depends: node-js-yaml (>=
> 4.1.0+dfsg+~4.0.5-6) but it is not going to be installed
> Depends: node-marked (>= 4~) but it is
> not going to be installed
> Depends: node-highlight.js but it is
> not going to be installed
> E: Unable to correct problems, you have held broken packages.
> apt-get failed.
> E: Package installation failed
> ```
> This may be a common error on Debian riscv arch. I am thinking that I have
> to build from a package without node-*dependencies?
> Below is my operations step how to build(please point to me wrong as I am
> newbie to gbp also):
> 1. git clone
> git clone git at salsa.debian.org:js-team/nodejs.git
> 2. checkout 16.14
> git checkout -b main origin/master-16.x
> git checkout -b upstream origin/upstream-16.x // not need -b
> git checkout -b pristine-tar origin/pristine-tar // not need -b also
> git checkout main
> 3. gbp buildpackage --git-pbuilder --git-submodules
> --git-upstream-branch='upstream/16.14' --git-debian-branch=main
> --git-no-pristine-tar --git-upstream-tree=tag --git-ignore-new -sa // the
> step to generate *.orig.tar.gz file. But I do not have the base directory
> /var/cache/pbuilder/base.cow and it fail at last(*.orig.tzr.gz has been
> generated)
>
You can do it a bit simpler because of the debian/gbp.conf file, so no need
to rename any branch at all.
git checkout master-16.x
gbp buildpackage --git-pbuilder --git-ignore-new -sa
> 4. execute ` sudo sbuild --arch=riscv64 -d sid-riscv64-sbuild ` and got
> above errors.
>
Just as I am editing the email, Suddenly IT occurred to me, maybe the
> distribution sid should be experimental, right?
>
yes, as i wrote above, those flags will need to be set (i don't know if gbp
pass them along to pbuilder correctly, but that's the idea):
-d experimental '--extra-repository=deb http://deb.debian.org/debian
experimental main' --build-dep-resolver=aspcud
Also you really will want to use the DEB_BUILD_PROFILES="nodoc nocheck
nobuiltin"
Jérémy
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20220310/14075073/attachment.htm>
More information about the Pkg-javascript-devel
mailing list