Skip to content

Instantly share code, notes, and snippets.

@lyshie
Last active July 17, 2018 07:00
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lyshie/330b84d8c2c1b4f397d85f5ec752b859 to your computer and use it in GitHub Desktop.
Save lyshie/330b84d8c2c1b4f397d85f5ec752b859 to your computer and use it in GitHub Desktop.
Convert GitBook from deb to rpm (tested on Fedora 26/27)

Convert deb to rpm

$ sudo alien -r --keep-version gitbook-editor-7.0.12-linux-x64.deb
$ rpmrebuild -pe gitbook-editor-7.0.12-1.x86_64.rpm

Delete unnecessary lines in rpm spec

Requires:      libnode.so()(64bit)
Requires:      libffmpeg.so()(64bit)
%dir %attr(0755, root, root) "/"
%dir %attr(0755, root, root) "/opt"
%dir %attr(0755, root, root) "/usr"
%dir %attr(0755, root, root) "/usr/bin"
%dir %attr(0755, root, root) "/usr/lib/.build-id"
%dir %attr(0755, root, root) "/usr/lib/.build-id/0c"
%dir %attr(0755, root, root) "/usr/lib/.build-id/b1"
%dir %attr(0755, root, root) "/usr/share"
%dir %attr(0755, root, root) "/usr/share/applications"

Check rpm file

$ rpmlint ~/rpmbuild/RPMS/gitbook-editor-7.0.12-1.x86_64.rpm

Install OpenSSL 1.0

OpenSSL 1.0 in Fedora x86_64 (23,24 and 25)

$ wget http://bt0.ninja/rpm/openssl-lib-compat-1.0.0i-1.fc25.x86_64.rpm
$ sudo dnf install openssl-lib-compat-1.0.0i-1.fc25.x86_64.rpm
@dennisotugo
Copy link

dennisotugo commented Jan 29, 2018

Thanks for putting this together. Its rpmlint not rpnmlint

@lyshie
Copy link
Author

lyshie commented Feb 1, 2018

Thanks! Fixed typo

@dmarrazzo
Copy link

I'm on Fedora 27.
When I try to launch it, I get this error:
The git manager process has crashed.

It's a shame that the procedure is so complex for non-deb distribution.

@lyshie
Copy link
Author

lyshie commented Feb 14, 2018

@dmarrazzo, do not forget to install OpenSSL 1.0

@signedav
Copy link

Thanks for the description. I still have some problems.
On rpmlint:

rpmlint /home/david/rpmbuild/RPMS/x86_64/gitbook-editor-7.0.12-1.x86_64.rpm
gitbook-editor.x86_64: W: non-standard-group Converted/editors
gitbook-editor.x86_64: E: no-changelogname-tag
gitbook-editor.x86_64: W: invalid-license see /usr/share/doc/gitbook-editor/copyright
gitbook-editor.x86_64: W: no-url-tag
gitbook-editor.x86_64: E: binary-or-shlib-defines-rpath /opt/gitbook-editor/editor ['$ORIGIN', '$ORIGIN/lib/']
gitbook-editor.x86_64: W: executable-stack /opt/gitbook-editor/editor
gitbook-editor.x86_64: E: missing-call-to-chdir-with-chroot /opt/gitbook-editor/editor
gitbook-editor.x86_64: W: no-documentation
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/LICENSE
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/LICENSES.chromium.html
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/blink_image_resources_200_percent.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/content_resources_200_percent.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/content_shell.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/editor
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/icon.png
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/icudtl.dat
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/libffmpeg.so
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/libnode.so
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/am.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ar.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/bg.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/bn.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ca.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/cs.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/da.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/de.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/el.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/en-GB.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/en-US.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/es-419.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/es.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/et.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/fa.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/fake-bidi.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/fi.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/fil.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/fr.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/gu.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/he.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/hi.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/hr.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/hu.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/id.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/it.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ja.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/kn.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ko.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/lt.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/lv.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ml.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/mr.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ms.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/nb.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/nl.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/pl.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/pt-BR.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/pt-PT.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ro.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ru.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/sk.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/sl.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/sr.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/sv.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/sw.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/ta.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/te.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/th.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/tr.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/uk.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/vi.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/zh-CN.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/locales/zh-TW.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/natives_blob.bin
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/resources
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/resources/app.asar
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/resources/default_app.asar
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/resources/electron.asar
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/snapshot_blob.bin
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/ui_resources_200_percent.pak
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/version
gitbook-editor.x86_64: E: dir-or-file-in-opt /opt/gitbook-editor/views_resources_200_percent.pak
gitbook-editor.x86_64: W: no-manual-page-for-binary gitbook-editor
1 packages and 0 specfiles checked; 78 errors, 6 warnings.

And when I try to install the rpn again. I still get the message:

Error: 
 Problem: conflicting requests
  - nothing provides libnode.so()(64bit) needed by gitbook-editor-7.0.12-1.x86_64

Though I removed this line on the rpmrebuild:

Requires:      libnode.so()(64bit)

Probably I'm missing something. But I cannot find it...

@lyshie
Copy link
Author

lyshie commented Mar 24, 2018

@signedav, ignore the messages from rpmlint and make sure to remove all requires libnode.so from RPM spec file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment