Solus repository has version 5.14.7, I would like to upgrade to 5.16.6. However, I get the following error:
bash
lerna ERR! node-pre-gyp verb command install []
lerna ERR! node-pre-gyp info check checked for "/home/build/YPKG/root/insomnia/build/insomnia-5.16.6/packages/insomnia-libcurl/node_modules/insomnia-node-libcurl/lib/binding/node_libcurl.node" (not found)
lerna ERR! node-pre-gyp http GET https://github.com/getinsomnia/node-libcurl/releases/download/v1.2.17/node_libcurl-v1.2.17-node-v57-linux-x64.tar.gz
lerna ERR! node-pre-gyp http 404 https://github.com/getinsomnia/node-libcurl/releases/download/v1.2.17/node_libcurl-v1.2.17-node-v57-linux-x64.tar.gz
lerna ERR! node-pre-gyp ERR! Tried to download(404): https://github.com/getinsomnia/node-libcurl/releases/download/v1.2.17/node_libcurl-v1.2.17-node-v57-linux-x64.tar.gz
lerna ERR! node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v57 ABI, glibc) (falling back to source compile with node-gyp)
lerna ERR! node-pre-gyp http 404 status code downloading tarball https://github.com/getinsomnia/node-libcurl/releases/download/v1.2.17/node_libcurl-v1.2.17-node-v57-linux-x64.tar.gz
lerna ERR! node-pre-gyp verb command build [ 'rebuild' ]
lerna ERR! Could not run curl-config, please make sure libcurl dev package is installed.
lerna ERR! Output: curl was built with static libraries disabled
Is it possible to reverse libcurl static link? What is my best option?
_Note: I'm not a Solus developer. I want to update Insomnia because I use it in my daily work._
👋 Thanks for opening your first issue! If you're reporting a 🐞 bug, please make sure
you include steps to reproduce it. If you're requesting a feature 🎁, please provide real
use cases that would benefit. 👪
To help make this a smooth process, please be sure you have first read the
contributing guidelines.
Hmm, I'm not sure what Solus so pardon my ignorance, but could you run one of the pre-packaged builds?
https://github.com/getinsomnia/insomnia/releases/download/v5.16.6/insomnia-5.16.6-x86_64.AppImage
https://github.com/getinsomnia/insomnia/releases/download/v5.16.6/insomnia-5.16.6.tar.gz
https://github.com/getinsomnia/insomnia/releases/download/v5.16.6/insomnia_5.16.6_amd64.snap
Having said that, I do need do implement dynamically-linked build for development on Linux. The switch to a static build was a rather sudden decision so I have yet to get around to fixing it. I'll see if I can figure something out soon.
I'm using AppImage. Works well, thanks.
Solus uses the
eopkgpackage management system to deliver software to the end-user.
With the insomnia-5.16.6.tar.gz file, I can use solbuild to package the application in .eopkg format and distribute it in _Solus Software Center_
Dynamically-linked would be great.
As an example, I would use the following package.yml to generate the .eopkg file:
yml
name : insomnia
version : 5.16.6
release : 3
source :
- https://github.com/getinsomnia/insomnia/archive/v5.16.6.tar.gz : 2409aa6e340ba197953b9748c20fd09d66958659238f034bd50311b4ad01e45a
license : AGPL-3.0
component : programming.tools
summary : Insomnia is a cross-platform REST client
description: |
Insomnia is a cross-platform REST client
networking : yes
builddeps :
- pkgconfig(alsa)
- pkgconfig(gconf-2.0)
- pkgconfig(gtk+-2.0)
- pkgconfig(libcurl)
- pkgconfig(xscrnsaver)
- pkgconfig(xtst)
- cups-devel
- lerna
- nodejs
rundeps :
- nodejs
build : |
...
install : |
...
The tar on the releases page contains a built executable that may work better. Would that be sufficient? That way you shouldn't need nodejs as a dependency or a complicated build step.
Also note, the license should be MIT.
Thanks for the tip.
I'm not a Solus developer. But I suppose that building from source allows developers to optimize and apply possible fixes. (For example, in version 5.14.7, there was a patch to disable analytics by default)
Anyway, we can still use snap (Yes, it works well on Solus) or AppImage. But it would be nice to update the version available in _Solus Software Center_, currently 5.14.7
A build shouldn't be necessary for that feature since it only needs an environment variable to be set.
If you know the maintainer of the package, I would suggest using the prebuilt binary from the tar file to make things easier. This is what the AUR package does for the Arch Linux repository.
I'm curious to see what your build and install steps are in that file. Are you able to post those?
Sure!
yml
setup : |
%patch -p1 < $pkgfiles/0001-Disable-Analytics-by-default.patch
build : |
npm install electron-builder
export PATH=$PATH:$workdir/node_modules/.bin
npm run bootstrap
npm run app-build
cd packages/insomnia-app/build
electron-builder --linux dir --x64
install : |
install -Dm644 packages/insomnia-app/app/static/icon.png $installdir/usr/share/pixmaps/insomnia.png
install -Dm644 $pkgfiles/insomnia.desktop $installdir/usr/share/applications/insomnia.desktop
install -dm00644 $installdir/usr/share/insomnia
install -dm00644 $installdir/usr/bin
cp -R packages/insomnia-app/build/dist/linux-unpacked/* $installdir/usr/share/insomnia/
ln -s /usr/share/insomnia/insomnia $installdir/usr/bin/insomnia
Honestly, I'll follow your suggestion. I'll send a review of the package.yml with prebuilt binary from the tar file, hope they accept.
By the way, thank you for your attention.
Are you able to see the contents of 0001-Disable-Analytics-by-default.patch? I'd be curious to see what's in there.
I should also note that analytics were completely removed in the latest version so it should no longer be an issue for the package :smile:
No problem 😄Anything to help ensure that 2018 is the year of Linux on the desktop 👍
I should also note that analytics were completely removed in the latest version so it should no longer be an issue for the package smile
Yes, I read this in the changelog :)
I'm cleaning the package.yml and deleting this bunch of unnecessary stuff. I also changed the license.
Thanks again, you rock!
FYI
````
Date: Tue, 26 Dec 2017 19:31:43 +0100
Subject: [PATCH 1/1] Disable Analytics by default
packages/insomnia-app/app/models/settings.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/insomnia-app/app/models/settings.js b/packages/insomnia-app/app/models/settings.js
index b760008a..90f22892 100644
--- a/packages/insomnia-app/app/models/settings.js
+++ b/packages/insomnia-app/app/models/settings.js
@@ -55,7 +55,7 @@ export function init (): BaseSettings {
forceVerticalLayout: false,
autoHideMenuBar: false,
theme: 'default',
- disableAnalyticsTracking: false,
+ disableAnalyticsTracking: true,
pluginPath: '',
nunjucksPowerUserMode: false,
2.15.1
````
Ooo, that makes more sense now why there's a build step. When I mentioned the environment variable before I was confusing it with a different feature.
Using the prebuilt didn't work for this case. I think the correct thing is to wait for the dynamic link.
Current (Source code):
[Build] install successful
[Examine] Examining packages
[Stripped] /usr/share/insomnia/libffmpeg.so
[Stripped] /usr/share/insomnia/libnode.so
[Stripped] /usr/share/insomnia/insomnia
[Dependency] /usr/share/insomnia/insomnia adds dependency on libnssutil3.so from libnss
[Dependency] /usr/share/insomnia/insomnia adds dependency on libnspr4.so from libnspr
[Dependency] /usr/share/insomnia/insomnia adds dependency on libpango-1.0.so.0 from pango
... (many other dependencies)
[Package] Creating /home/build/work/insomnia-5.14.7-2-1-x86_64.eopkg ...
[Package] Building complete
INFO[22:59:53] Building succeeded
Prebuilt:
[Build] install successful
[Examine] Examining packages
File does not exist: /home/build/YPKG/root/insomnia/install/usr/bin/insomnia
[Stripped] /usr/share/insomnia/libffmpeg.so
[Stripped] /usr/share/insomnia/libnode.so
[Stripped] /usr/share/insomnia/insomnia
[Dependency] /usr/share/insomnia/insomnia adds dependency on libnssutil3.so from libnss
[Dependency] /usr/share/insomnia/insomnia adds dependency on libnspr4.so from libnspr
[Dependency] /usr/share/insomnia/insomnia adds dependency on libgio-2.0.so.0 from glib2
Fatal: Unknown symbol: libpangocairo-1.0.so.0
Fatal: Unknown symbol: libpango-1.0.so.0
[Dependency] /usr/share/insomnia/insomnia adds dependency on libglib-2.0.so.0 from glib2
[Dependency] /usr/share/insomnia/insomnia adds dependency on libgcc_s.so.1 from libgcc
Fatal: Unknown symbol: libcairo.so.2
[Dependency] /usr/share/insomnia/insomnia adds dependency on libexpat.so.1 from expat
Fatal: Unknown symbol: libXss.so.1
Fatal: Unknown symbol: libgtk-x11-2.0.so.0
[Dependency] /usr/share/insomnia/insomnia adds dependency on libstdc++.so.6 from libstdc++
Fatal: Unknown symbol: libXcomposite.so.1
[Dependency] /usr/share/insomnia/insomnia adds dependency on libgmodule-2.0.so.0 from glib2
Fatal: Unknown symbol: libasound.so.2
Fatal: Unknown symbol: libXtst.so.6
Fatal: Unknown symbol: libXdamage.so.1
Fatal: Unknown symbol: libgdk-x11-2.0.so.0
Fatal: Unknown symbol: libgconf-2.so.4
Fatal: Unknown symbol: libX11.so.6
[Dependency] /usr/share/insomnia/insomnia adds dependency on libc.so.6 from glibc
Fatal: Unknown symbol: libXi.so.6
Fatal: Unknown symbol: libfontconfig.so.1
Fatal: Unknown symbol: libXcursor.so.1
Fatal: Unknown symbol: libX11-xcb.so.1
Fatal: Unknown symbol: libxcb.so.1
[Dependency] /usr/share/insomnia/insomnia adds dependency on librt.so.1 from glibc
[Dependency] /usr/share/insomnia/insomnia adds dependency on libgobject-2.0.so.0 from glib2
[Dependency] /usr/share/insomnia/insomnia adds dependency on libpthread.so.0 from glibc
Fatal: Unknown symbol: libXrandr.so.2
Fatal: Unknown symbol: libfreetype.so.6
Fatal: Unknown symbol: libcups.so.2
[Dependency] /usr/share/insomnia/insomnia adds dependency on libnss3.so from libnss
[Dependency] /usr/share/insomnia/insomnia adds dependency on libsmime3.so from libnss
[Dependency] /usr/share/insomnia/insomnia adds dependency on libdbus-1.so.3 from dbus
Fatal: Unknown symbol: libgdk_pixbuf-2.0.so.0
Fatal: Unknown symbol: libXrender.so.1
Fatal: Unknown symbol: libatk-1.0.so.0
[Dependency] /usr/share/insomnia/insomnia adds dependency on ld-linux-x86-64.so.2 from glibc
[Dependency] /usr/share/insomnia/insomnia adds dependency on libm.so.6 from glibc
Fatal: Unknown symbol: libXfixes.so.3
[Dependency] /usr/share/insomnia/insomnia adds dependency on libdl.so.2 from glibc
Fatal: Unknown symbol: libXext.so.6
[Package] Creating /home/build/work/insomnia-5.16.6-3-1-x86_64.eopkg ...
[History] Constructing new history entry
[Package] Building complete
INFO[23:09:20] Building succeeded
Experiencing same issue running npm run bootstrap on Linux 4.16.13-2-ARCH
▶ npm version
{ insomnia: '1.0.0',
npm: '5.6.0',
ares: '1.10.1-DEV',
cldr: '32.0',
http_parser: '2.8.0',
icu: '60.1',
modules: '57',
napi: '3',
nghttp2: '1.32.0',
node: '8.11.3',
openssl: '1.0.2o',
tz: '2017c',
unicode: '10.0',
uv: '1.19.1',
v8: '6.2.414.54',
zlib: '1.2.11' }
For anyone waiting on this, can you try npm run bootstrap from the latest from the develop branch?
FYI, I put the static build of insomnia-node-libcurl behind an environment variable
I just got word from someone that this fix worked. Closing this one!
Thank You! It worked.
Most helpful comment
For anyone waiting on this, can you try
npm run bootstrapfrom the latest from thedevelopbranch?