Le 12/08/2019 à 19:41, Nilesh Patra a écrit : > > > > Needed component are: async-foreach, gaze, get-stdin, js-base64, > sass-graph, sass-spec, scss-tokenizer, stdout-stream, true-case-path. > "in-publish" seems not used > > > I have included them, but on sbuild I get a few lintian errors which I > have no idea as to how to resolve. > > E: node-node-sass: embedded-library > usr/lib/x86_64-linux-gnu/nodejs/node-sass/vendor/linux-x64-64/binding.node: > libsass > E: node-node-sass: missing-dependency-on-libc needed by > usr/lib/x86_64-linux-gnu/nodejs/node-sass/vendor/linux-x64-64/binding.node > > Here's the complete error log: http://paste.debian.net/1095493/ > Could you suggest a workaround for it? Also Pirate Praveen suggested > removing sass-spec/spec. Should that be done? > Your advice would be much appreciated. > > Regards > Nilesh
You miss to remove debian/install and upstream provides a bad "files" field. You just have to add a "debian/nodejs/files" file to fix it: $ git rm debian/install $ mkdir debian/nodejs $ cat > debian/nodejs/files <<EOF binding.gyp bin package.json scripts src lib EOF Then your debian/rules must be patched to install using pkg-js-tools (else your components are not installed); By the way your debian/install was wrong (missing vendor dir at least): diff --git a/debian/control b/debian/control index e69460c..e7dde13 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,7 @@ Build-Depends: , node-gyp (>= 3.8.0) , libuv1 , libuv1-dev + , pkg-js-tools (>= 0.8.10) Standards-Version: 4.4.0 Homepage: https://github.com/sass/node-sass Vcs-Git: https://salsa.debian.org/js-team/node-node-sass.git diff --git a/debian/rules b/debian/rules index 8c6c81d..0b1a0d6 100755 --- a/debian/rules +++ b/debian/rules @@ -6,15 +6,15 @@ export NODE_PATH := ${CURDIR}:/usr/share:/usr/include %: - dh $@ + dh $@ --with nodejs override_dh_auto_build: rm -rf build vendor node scripts/build.js --force -override_dh_install: - dh_install - find debian/node-node-sass/usr/lib/nodejs/node-sass/src/libsass/win -name libsass.sln -delete - find debian/node-node-sass/usr/lib/nodejs/node-sass/src/libsass -name .gitignore -delete - find debian/node-node-sass/usr/lib/nodejs/node-sass/src/libsass -name .gitattributes -delete +override_dh_auto_install: + dh_auto_install --buildsystem=nodejs + find debian/node-node-sass/usr/lib/*/nodejs/node-sass/src/libsass/win -name libsass.sln -delete + find debian/node-node-sass/usr/lib/*/nodejs/node-sass/src/libsass -name .gitignore -delete + find debian/node-node-sass/usr/lib/*/nodejs/node-sass/src/libsass -name .gitattributes -delete #override_dh_auto_test: pkg-js-tools will test your package during build. This means that you have to copy dependencies in build dependencies (debian/control). You kept embedded component in binary dependencies, this makes package uninstallable (see attached diff) Then take a look at debian/rules. There is a "rm -rf build vendor" in the wrong place. Its place is in a debian/clean file. Lintian reports a lot of bad files installed by embedded libsass. This can be removed in debian/rules Then package builds. Next steps: - you should never embed a library that already exist in debian. I tried to add "--libsass=auto", but then compilation is bad: proved by test: /usr/bin/node: symbol lookup error: /.../node-node-sass/vendor/linux-x64-64/binding.node: undefined symbol: sass_make_boolean I need some JS-Team help for this Cheers, Xavier
diff --git a/debian/control b/debian/control index e69460c..bf98157 100644 --- a/debian/control +++ b/debian/control @@ -3,15 +3,25 @@ Section: javascript Priority: optional Maintainer: Debian Javascript Maintainers <pkg-javascript-de...@lists.alioth.debian.org> Uploaders: Nilesh <npatra...@gmail.com> +Testsuite: autopkgtest-pkg-nodejs Build-Depends: debhelper (>= 12) , nodejs (>= 6) + , node-chalk (>= 1.1.1) <!nocheck> , node-cross-spawn (>= 3.0.0) + , node-get-stdin (>= 4.0.1) + , node-glob (>= 7.0.3) <!nocheck> + , node-lodash (>= 4.17.11) <!nocheck> + , node-meow (>= 3.7.0) <!nocheck> , node-mkdirp (>= 0.5.1) , node-nan (>= 2.13.2) , node-gyp (>= 3.8.0) + , node-npmlog (>= 4.0.0) <!nocheck> + , node-request (>= 2.88.0) <!nocheck> + , libsass-dev , libuv1 , libuv1-dev + , pkg-js-tools (>= 0.8.10) Standards-Version: 4.4.0 Homepage: https://github.com/sass/node-sass Vcs-Git: https://salsa.debian.org/js-team/node-node-sass.git @@ -21,14 +31,12 @@ Package: node-node-sass Architecture: any Depends: ${misc:Depends} + , ${shlibs:Depends} , nodejs (>= 6) - , node-async-foreach (>= 0.1.3) , node-chalk (>= 1.1.1) , node-cross-spawn (>= 3.0.0) - , node-gaze (>= 1.0.0) , node-get-stdin (>= 4.0.1) , node-glob (>= 7.0.3) - , node-in-publish (>= 2.0.0) , node-lodash (>= 4.17.11) , node-meow (>= 3.7.0) , node-mkdirp (>= 0.5.1) @@ -36,9 +44,6 @@ Depends: , node-gyp (>= 3.8.0) , node-npmlog (>= 4.0.0) , node-request (>= 2.88.0) - , node-sass-graph (>= 2.2.4) - , node-stdout-stream (>= 1.4.0) - , node-true-case-path (>= 1.0.2) Description: Wrapper around libsass Node-sass is a library that provides binding for Node.js to LibSass. . diff --git a/debian/install b/debian/install deleted file mode 100644 index 543d728..0000000 --- a/debian/install +++ /dev/null @@ -1,6 +0,0 @@ -binding.gyp usr/lib/nodejs/node-sass/ -bin usr/lib/nodejs/node-sass/ -package.json usr/lib/nodejs/node-sass/ -scripts usr/lib/nodejs/node-sass/ -src usr/lib/nodejs/node-sass/ -lib usr/lib/nodejs/node-sass/ diff --git a/debian/rules b/debian/rules index 8c6c81d..1ca4b38 100755 --- a/debian/rules +++ b/debian/rules @@ -6,15 +6,19 @@ export NODE_PATH := ${CURDIR}:/usr/share:/usr/include %: - dh $@ + dh $@ --with nodejs override_dh_auto_build: - rm -rf build vendor + # Using shared libsass: + #node scripts/build.js --force --libsass_ext=auto + # Without (bad): node scripts/build.js --force override_dh_install: dh_install - find debian/node-node-sass/usr/lib/nodejs/node-sass/src/libsass/win -name libsass.sln -delete - find debian/node-node-sass/usr/lib/nodejs/node-sass/src/libsass -name .gitignore -delete - find debian/node-node-sass/usr/lib/nodejs/node-sass/src/libsass -name .gitattributes -delete -#override_dh_auto_test: + # Using shared libsass: + #rm -rf debian/node-node-sass/usr/lib/*/nodejs/node-sass/src/libsass + # Without: + for d in docs COPYING LICENSE '*.md' win/libsass.sln '.git*'; do \ + rm -rvf debian/node-node-sass/usr/lib/*/nodejs/node-sass/src/libsass/$$d; \ + done diff --git a/debian/tests/control b/debian/tests/control deleted file mode 100644 index ab36630..0000000 --- a/debian/tests/control +++ /dev/null @@ -1,2 +0,0 @@ -Tests: require -Depends: node-node-sass diff --git a/debian/tests/require b/debian/tests/require deleted file mode 100644 index 48f2459..0000000 --- a/debian/tests/require +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -set -e -node -e "require('node-sass');"
-- Pkg-javascript-devel mailing list Pkg-javascript-devel@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-javascript-devel