fabiocolacio / Marker

🖊 A gtk3 markdown editor
GNU General Public License v3.0
832 stars 75 forks source link

Created PPA, updated README #330

Closed archisman-panigrahi closed 3 years ago

archisman-panigrahi commented 3 years ago

I created a PPA after slightly modifying the debian/control created by @olivierb2. I moved pandoc from build-dependency to runtime dependency and also changed section: unknown --> gnome (the debian package would not build in Launchpad if section was set to unknown).

I have checked that the package installs successfully in Xubuntu 20.04 and Linux Mint 20, and I can open Marker.

Use the following commands to install in Ubuntu and its derivatives.

sudo add-apt-repository ppa:apandada1/marker
sudo apt update
sudo apt install marker

In addition to amd64, the PPA hosts packages for supported architectures of ARM and PowerPC. This pull request closes #288.

I also added the link to the Official Arch Linux Package in the README.

olivierb2 commented 3 years ago

Hi @apandada1,

I just had a quick review of your changes and section makes sense of course. But I'm not sure regarding the Depends, maybe I missed something, but are you sure that your package requires *-dev dependencies to be installed for the binary. I think they are required only the build Marker, isn't ?

archisman-panigrahi commented 3 years ago

I don't exactly know which are the runtime dependencies. meson says these are all Run-time dependency, so I kept them.

Found pkg-config: /usr/bin/pkg-config (0.29.1)
Run-time dependency gtk+-3.0 found: YES 3.24.20
Run-time dependency glib-2.0 found: YES 2.64.3
Run-time dependency gtksourceview-3.0 found: YES 3.24.11
Run-time dependency webkit2gtk-4.0 found: YES 2.28.4
Run-time dependency gtkspell3-3.0 found: YES 3.0.10
Dependency webkit2gtk-4.0 found: YES 2.28.4 (cached)
Program post-install.sh found: YES (/bin/sh /media/archisman/56f6638c-9299-4426-a55e-3504ccc23227/home/archisman/Documents/GitHub/Marker/post-install.sh)
Build targets in project: 9

Should I rather keep libgtkspell3-3-0 instead of libgtkspell3-3-dev in the depends (and similar packages without -dev for the other dependencies)? I have not yet checked whether that works.

olivierb2 commented 3 years ago

This is exact, do you want me to check what dependencies are required into a clean (X)ubuntu environment ?

archisman-panigrahi commented 3 years ago

If you have a clean environment, please check the runtime dependencies.

nobeh commented 3 years ago

I can confirm that the PPA by @apandada1 worked for me on Ubuntu 20.04 (Focal).

alexmyczko commented 3 years ago

why not make it an offical debian package? https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=974951

mentors.debian.net might be helpful

archisman-panigrahi commented 3 years ago

@alexmyczko I don't know how to submit to Debian. This is certainly a good idea. Edit: Looks like I will have to upload to mentors.debian.net and then put the information on the bug report link.

First we need to determine the exact runtime dependencies. If anyone can check it in a clean environment it would be very helpful.

alexmyczko commented 3 years ago

If you can provide a .dsc of your source package, I can check with sbuild about the build-depends and depends.

olivierb2 commented 3 years ago

I'm not Debian certified, but I'm pretty sure that build will not pass due to following reasons:

olivierb2 commented 3 years ago

I just rebuild with only Depends: ${shlibs:Depends}, ${misc:Depends}, and the package is working perfectly without the change request.

Debian automatically add libgtkspell3-3-0, libgtksourceview-3.0-1 and libwebkit2gtk-4.0-37 so you don't have to add into your control file.

Edit : this will avoid to install abour 300Mb of useless packages only required to build the package.

archisman-panigrahi commented 3 years ago

I have rebuilt the package in the same PPA.

  1. I removed -dev dependencies. Check the updated changes which I force pushed. I checked that it does not pull -dev dependencies in KDE Neon 18.04. In case you were using the PPA, updating followed by running sudo apt autoremove will free up some space.
  2. Package embedded extra scidown submodule (need a separate package for that)

This is the biggest issue. We can certainly make a debian package for scidown, but I don't know how to make meson/Marker find it during building/runtime. Also, scidown depends on charter which further depends on tinyexpr. Can't we combine all of them in the .deb package and mention that in the LICENSE file? How does Arch manage it?

  1. The lintian output is
    
    $ lintian marker_2020.04.04.2-1~ubuntu18.04.1_amd64.deb 

E: marker: library-not-linked-against-libc usr/lib/Marker.extensions/libscroll-extension.so E: marker: helper-templates-in-copyright E: marker: copyright-contains-dh_make-todo-boilerplate W: marker: description-synopsis-starts-with-article W: marker: duplicate-font-file usr/share/com.github.fabiocolacio.marker/scripts/mathjax/fonts/HTML-CSS/STIX-Web/otf/STIXMathJax_Alphabets-Bold.otf also in fonts-mathjax W: marker: duplicate-font-file usr/share/com.github.fabiocolacio.marker/scripts/mathjax/fonts/HTML-CSS/STIX-Web/otf/STIXMathJax_Alphabets-BoldItalic.otf also in fonts-mathjax W: marker: duplicate-font-file usr/share/com.github.fabiocolacio.marker/scripts/mathjax/fonts/HTML-CSS/STIX-Web/otf/STIXMathJax_Alphabets-Italic.otf also in fonts-mathjax W: marker: duplicate-font-file ... use --no-tag-display-limit to see all (or pipe to a file/program) W: marker: binary-without-manpage usr/bin/marker W: marker: script-not-executable usr/share/com.github.fabiocolacio.marker/icons/hicolor/generate.sh W: marker: executable-not-elf-or-script usr/share/com.github.fabiocolacio.marker/scripts/mathjax/extensions/a11y/invalid_keypress.ogg



I don't know about the first one (`library-not-linked-against-libc`), but the rest of them probably won't be hard to fix.

4. We need a bigger and better "long description" in `debian/control`
alexmyczko commented 3 years ago

still waiting for a .dsc link...

archisman-panigrahi commented 3 years ago

@alexmyczko Sorry I missed it. All packages are available in the PPA at https://launchpad.net/~apandada1/+archive/ubuntu/marker/+packages This is the link for a .dsc. https://launchpad.net/~apandada1/+archive/ubuntu/marker/+sourcefiles/marker/2020.04.04.2-1~ubuntu18.04.1/marker_2020.04.04.2-1~ubuntu18.04.1.dsc

alexmyczko commented 3 years ago

Note: I'm in no way interested stealing/maintaining/whatever your package, my intent is purely helping you getting this into Debian (once there, Ubuntu gets a copy for free): so here's my changes (1st round only): http://sid.ethz.ch/debian/marker/ and also on https://mentors.debian.net/package/marker/ (including a colored lintian report with links right with hints how to fix the stuff), hope that helps... sbuild test passed, but you'll not want to duplicate fonts, i can see a long way for packaging this officially. there's also an irc channel called #debian-mentors

archisman-panigrahi commented 3 years ago

Thanks for trying to help. Unfortunately, I cannot access the link http://phd-sid.ethz.ch/debian/marker/ (Firefox tries to load it indefinitely) About the lintian errors in https://mentors.debian.net/package/marker/

@alexmyczko Suppose some changes are made in future. How will the package in mentors.debian.net would be updated? Can anyone (me, for example) submit a new version? I am asking this because I don't know whether the same person (you in this case) needs to upload all future revisions.

alexmyczko commented 3 years ago

Thanks for trying to help.

Welcome!

Unfortunately, I cannot access the link http://sid.ethz.ch/debian/marker/ (Firefox tries to load it indefinitely)

Firefox broke the internet (in soviet russia, it broke our internet). No idea, what says ping phd-sid.ethz.ch ? and traceroute sid.ethz.ch ? Other browser? Mind you it's http only (not https)

About the lintian errors in https://mentors.debian.net/package/marker/

  • Any idea how to fix the library-not-linked-against-libc error? Is that a serious issue (a lot of packages in Debian has this error)? The package seems to work well in my computer.

it means the library is not linked against libc :)

  • Can anyone suggest a good longer description?

I'm sure that's the easiest to fix, and anyone using it could.

  • @devs Can you fix the duplicate fonts? Maybe with symlinks?

And Depends

@alexmyczko Suppose some changes are made in future. How will the package in mentors.debian.net would be updated? Can anyone (me, for example) submit a new version? I am asking this because I don't know whether the same person (you in this case) needs to upload all future revisions.

Anyone can upload there, so no, I'm not a blocker.

archisman-panigrahi commented 3 years ago

And Depends

Not very sure what you meant, I have removed all -dev from dependencies in the debian/control file

archisman-panigrahi commented 3 years ago

Firefox broke the internet (in soviet russia, it broke our internet). No idea, what says ping phd-sid.ethz.ch ? and traceroute phd-sid.ethz.ch ? Other browser? Mind you it's http only (not https)

I installed Chromium and it works!!

alexmyczko commented 3 years ago

If you remove fonts and symlink them you have to have fonts installed by some other package: example (stacer uses the non-free ubuntu fonts, thus I have replaced it with a free font) https://packages.debian.org/sid/stacer