Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
When you say "write a proper source package ", are you referring to the actual ".deb" package ? or something else ? Bottom line : What is actually needed ? I mean, in concrete terms ? Something I can actually type on a command line ? On 2020-07-04 21:23, Andrey Rahmatullin wrote: On Sat, Jul 04, 2020 at 08:39:36PM +0100, Joan Moreau wrote: (1) As a "software provider", what files are expected (besides the sources, the Makefile and the binary) ? ( please kindly refer to : https://github.com/grosjo/tomboy-reborn ) The sources and the build system to build them. Binaries should never be shipped in the sources. (2) As a "package maintainer" , the error below keeps poping up, so most probably I am missing something I have no idea what does debmake do when you already have some files in debian/. The doc you are reading certainly doesn't expect that. How to concretely create the ".deb" package (which tool does create the deb format, what does it contains really )besides the theory not describing the actual content) ), so I can pack it directly ? You don't need to "pack the deb directly", you already have your deb from checkinstall. On the other hand, if you want a proper package acceptable in Debian, you shouldn't "pack the deb directly" but write a proper source package.
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Hello, Concretely: (1) As a "software provider", what files are expected (besides the sources, the Makefile and the binary) ? ( please kindly refer to : https://github.com/grosjo/tomboy-reborn ) (2) As a "package maintainer" , the error below keeps poping up, so most probably I am missing something How to concretely create the ".deb" package (which tool does create the deb format, what does it contains really )besides the theory not describing the actual content) ), so I can pack it directly ? Thank you very much On 2020-07-04 18:16, Andrey Rahmatullin wrote: On Sat, Jul 04, 2020 at 06:06:05PM +0100, Joan Moreau wrote: Input file sare visibles on https://github.com/grosjo/tomboy-reborn/tree/master/packages You are supposed to include thesoftware source in the package, not this. So debian/ should be in the root of the repo. This is the exact ouptut I get (from debuild -d) I: check_all_licenses completed for 32 files. I: bunch_all_licenses I: format_all_licenses I: make debian/* template files I: found "debian/changelog" I: debmake -x "0" ... I: skipping :: debian/control (file exists) I: creating => debian/copyright I: substituting => /usr/share/debmake/extra0/rules I: skipping :: debian/rules (file exists) I: substituting => /usr/share/debmake/extra0/changelog I: skipping :: debian/changelog (file exists) You aren't supposed to run debmake with debian/ already existing.
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On Sat, Jul 04, 2020 at 09:35:15PM +0100, Joan Moreau wrote: > When you say "write a proper source package ", are you referring to the > actual ".deb" package ? or something else ? I'm referring to a Debian source package. I've already linked you to https://wiki.debian.org/Packaging/SourcePackage. All the docs about Debian packaging describe creating a source package and then building it to get a .deb which is a binary package. > Bottom line : What is actually needed ? I mean, in concrete terms ? A Debian source package. To get it you need an orig tarball with upstream sources and a debian/ directory. > Something I can actually type on a command line ? No. -- WBR, wRAR signature.asc Description: PGP signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Input file sare visibles on https://github.com/grosjo/tomboy-reborn/tree/master/packages This is the exact ouptut I get (from debuild -d) I: check_all_licenses completed for 32 files. I: bunch_all_licenses I: format_all_licenses I: make debian/* template files I: found "debian/changelog" I: debmake -x "0" ... I: skipping :: debian/control (file exists) I: creating => debian/copyright I: substituting => /usr/share/debmake/extra0/rules I: skipping :: debian/rules (file exists) I: substituting => /usr/share/debmake/extra0/changelog I: skipping :: debian/changelog (file exists) I: run "debmake -x1" to get more template files I: $ wrap-and-sort dpkg-buildpackage -d -us -uc -ui dpkg-buildpackage: info: source package tomboy-reborn dpkg-buildpackage: info: source version 1.0.0-1 dpkg-buildpackage: info: source distribution stable dpkg-buildpackage: info: source changed by Joan Moreau dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean dh clean dh: Please specify the compatibility level in debian/compat make: *** [debian/rules:18: clean] Error 255 dpkg-buildpackage: error: fakeroot debian/rules clean subprocess returned exit status 2 debuild: fatal error at line 1182: dpkg-buildpackage -d -us -uc -ui failed Thank you so much On 2020-07-04 17:57, Joan Moreau wrote: Is there a web page stating the steps to go through, without all this complexity ? similar to the Arch : https://wiki.archlinux.org/index.php/AUR_submission_guidelines On 2020-07-04 17:43, Andrey Rahmatullin wrote: On Sat, Jul 04, 2020 at 05:38:05PM +0100, Joan Moreau wrote: Let's imagine I found it (using lazbuild most probably), then where should I put that command ? override_dh_auto_build, assuming you use dh(1) How to specifiy the options needed ? As usual in the command arguments. where to put lazarus is required ? Build-Depends. Following https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#step-upstream, I am getting the error "Please specify the compatibilitle level in debian/compat' (meaning what should I write where ?) debmake would create that file for you, so I'm not sure what exactly did you do.
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Is there a web page stating the steps to go through, without all this complexity ? similar to the Arch : https://wiki.archlinux.org/index.php/AUR_submission_guidelines On 2020-07-04 17:43, Andrey Rahmatullin wrote: On Sat, Jul 04, 2020 at 05:38:05PM +0100, Joan Moreau wrote: Let's imagine I found it (using lazbuild most probably), then where should I put that command ? override_dh_auto_build, assuming you use dh(1) How to specifiy the options needed ? As usual in the command arguments. where to put lazarus is required ? Build-Depends. Following https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#step-upstream, I am getting the error "Please specify the compatibilitle level in debian/compat' (meaning what should I write where ?) debmake would create that file for you, so I'm not sure what exactly did you do.
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Let's imagine I found it (using lazbuild most probably), then where should I put that command ? How to specifiy the options needed ? where to put lazarus is required ? Following https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#step-upstream, I am getting the error "Please specify the compatibilitle level in debian/compat' (meaning what should I write where ?) On 2020-07-04 17:07, Andrey Rahmatullin wrote: On Sat, Jul 04, 2020 at 04:57:37PM +0100, Joan Moreau wrote: Hi Boyuan, Thank you so much for your feedback. The program is to be compiled with Lazarus (https://packages.debian.org/buster/lazarus-ide ), this is pretty straighforward for anyone willing to compile from source. SHould I put "lazarus" somewhere ? where ? You need to find out how to build the project without launching the IDE. There are suggestions regarding that in another email.
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On Sat, Jul 04, 2020 at 08:39:36PM +0100, Joan Moreau wrote: > (1) As a "software provider", what files are expected (besides the > sources, the Makefile and the binary) ? ( please kindly refer to : > https://github.com/grosjo/tomboy-reborn ) The sources and the build system to build them. Binaries should never be shipped in the sources. > (2) As a "package maintainer" , the error below keeps poping up, so most > probably I am missing something I have no idea what does debmake do when you already have some files in debian/. The doc you are reading certainly doesn't expect that. > How to concretely create the ".deb" package (which tool does create the > deb format, what does it contains really )besides the theory not > describing the actual content) ), so I can pack it directly ? You don't need to "pack the deb directly", you already have your deb from checkinstall. On the other hand, if you want a proper package acceptable in Debian, you shouldn't "pack the deb directly" but write a proper source package. -- WBR, wRAR signature.asc Description: PGP signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Hi Boyuan, Thank you so much for your feedback. The program is to be compiled with Lazarus (https://packages.debian.org/buster/lazarus-ide ), this is pretty straighforward for anyone willing to compile from source. SHould I put "lazarus" somewhere ? where ? Thank you On 2020-07-04 16:28, Boyuan Yang wrote: Hi Joan, 在 2020-07-04星期六的 13:23 +0100,Joan Moreau写道: Hi Evangelos Found also this page https://coderwall.com/p/urkybq/how-to-create-debian-package-from-source It contains 3 files - the binary (to go into /usr/bin) - the icon - the .desktop file The sources are here : https://github.com/grosjo/tomboy-reborn How to know the files needed, and is there "tar" or similar software to create the ".deb" file form a files tree ? Disclaimer -- I'm providing you with some information that you might be missing instead of trying to push this packaging process forward. It looks like you are in lack of 2 large pieces of knowledge that is critical to do a proper packaging: (1) How to act properly as a software upstream, by providing a functioning build system that can automatically convert source code into binaries as well as providing handy instructions to install built binaries into the system. This kind of buildsystem is often achieved through a build automation software and you may find a list at https://en.wikipedia.org/wiki/List_of_build_automation_software . (2) How to act properly as a downstream (Debian) packager on top of upstream build system. These 2 parts are separated but both essential when trying to create a good software package. The fact that you are using a non-mainstream programming language (Pascal) further complicates the situation. From the very beginning (part (1)), you need a proper building system in your upstream project, https://github.com/grosjo/tomboy-reborn . Works in part (1) has nothing to do with Debian or any specific Linux distributions. In your case, I do not see any build system in your source code repository. There is a built binary file but there's no script or instructions describing how the built binary was generated. I have absolutely no idea how you were building the Pascal source code into binaries. My best guess is that you are using the building function embedded in Lazarus IDE -- which is completely unacceptable since a working build system should be fully automated and require no graphical IDE tool to function well. It could be a handwritten Makefile, CMake- based solutions, Meson-based solutions or something else. Since you are using Pascal, I do not know what proper buildsystem should I recommend. (If you are using a mainstream programming language like C, C++, C# or even Python or Java, the buildsystem solution is largely known: Makefile, CMake, Meson, python-setuptools, Maven, Gradle, etc.) However, there are several existing Pascal-written software in Debian and other Linux distributions. It might be easier for you to see what other Pascal projects are using and do in a similar way. There is also a Debian Pascal Team [1 [1]] and you may get some help from team members. Remember that in part (1) you are acting as an upstream software developer; if necessary, you may refer to Debian's guide to upstream software developers at [2 [2]]. [1] https://qa.debian.org/developer.php?email=pkg-pascal-devel%40lists.alioth.debian.org [2] https://wiki.debian.org/UpstreamGuide For the latter part (part (2)), you will finally act as a downstream software packager. we can discuss it later after you have a functioning buildsystem. It won't be difficult as long as your build system is sane. In any case, using prebuilt binaries from upstream is unacceptable: Debian dislikes this and holds a view that any binaries should be generated (automatically) from source code at _build_ time. I hope those information could be useful to you. Links: -- [1] https://qa.debian.org/developer.php?email=pkg-pascal-devel%40lists.alioth.debian.org [2] https://wiki.debian.org/UpstreamGuide
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On Sat, Jul 04, 2020 at 06:06:05PM +0100, Joan Moreau wrote: > Input file sare visibles on > https://github.com/grosjo/tomboy-reborn/tree/master/packages You are supposed to include thesoftware source in the package, not this. So debian/ should be in the root of the repo. > This is the exact ouptut I get (from debuild -d) > > I: check_all_licenses completed for 32 files. > I: bunch_all_licenses > I: format_all_licenses > I: make debian/* template files > I: found "debian/changelog" > I: debmake -x "0" ... > I: skipping :: debian/control (file exists) > I: creating => debian/copyright > I: substituting => /usr/share/debmake/extra0/rules > I: skipping :: debian/rules (file exists) > I: substituting => /usr/share/debmake/extra0/changelog > I: skipping :: debian/changelog (file exists) You aren't supposed to run debmake with debian/ already existing. -- WBR, wRAR signature.asc Description: PGP signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On Sat, Jul 04, 2020 at 05:57:51PM +0100, Joan Moreau wrote: > Is there a web page stating the steps to go through, without all this > complexity ? > > similar to the Arch : > https://wiki.archlinux.org/index.php/AUR_submission_guidelines https://mentors.debian.net/intro-maintainers is similar to that page. -- WBR, wRAR signature.asc Description: PGP signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On Sat, Jul 04, 2020 at 05:38:05PM +0100, Joan Moreau wrote: > Let's imagine I found it (using lazbuild most probably), then where > should I put that command ? override_dh_auto_build, assuming you use dh(1) > How to specifiy the options needed ? As usual in the command arguments. > where to put lazarus is required ? Build-Depends. > Following > https://www.debian.org/doc/manuals/debmake-doc/ch04.en.html#step-upstream, > I am getting the error "Please specify the compatibilitle level in > debian/compat' (meaning what should I write where ?) debmake would create that file for you, so I'm not sure what exactly did you do. -- WBR, wRAR signature.asc Description: PGP signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Hi Evangelos Found also this page https://coderwall.com/p/urkybq/how-to-create-debian-package-from-source But I am not getting anywhere. My tentative package is however extremely simple It contains 3 files - the binary (to go into /usr/bin) - the icon - the .desktop file The sources are here : https://github.com/grosjo/tomboy-reborn How to know the files needed, and is there "tar" or similar software to create the ".deb" file form a files tree ? Thank you so much JM On 2020-07-01 22:31, Evangelos Ribeiro Tzaras wrote: Hi, I originally got started with [1 [1]], however you should probably consult the new version [2 [2]]. This should hopefully help you figure things out. [1] https://www.debian.org/doc/manuals/maint-guide/index.html [2] https://www.debian.org/doc/devel-manuals#debmake-doc On 7/1/20 9:20 PM, Joan Moreau wrote: Hi I am really sorry to bother you, but I am a bit lost. I created a .deb file (see https://github.com/grosjo/tomboy-reborn/tree/master/packages ) so I should now create a deb-src package, right ? The wiki page you mentioned does not really explain how to do so. Is there a simple, step-by-step, process described somewhere ? THank you so much On 2020-07-01 18:46, Andrey Rahmatullin wrote: On Wed, Jul 01, 2020 at 05:35:21PM +0100, Joan Moreau wrote: This is not a "source package" as the source is in Pascal (using Lazarus compiler package). Should I include the Pascal source also ? You need to create a Debian source package that can be built to produce a Debian binary package. It doesn't really matter what language is used or what should be contained in the binary package. The workflow is the same. https://wiki.debian.org/Packaging/SourcePackage --- Evangelos Ribeiro Tzaras Links: -- [1] https://www.debian.org/doc/manuals/maint-guide/index.html [2] https://www.debian.org/doc/devel-manuals#debmake-doc
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On Sat, Jul 04, 2020 at 04:57:37PM +0100, Joan Moreau wrote: > Hi Boyuan, > > Thank you so much for your feedback. > > The program is to be compiled with Lazarus > (https://packages.debian.org/buster/lazarus-ide ), this is pretty > straighforward for anyone willing to compile from source. > > SHould I put "lazarus" somewhere ? where ? You need to find out how to build the project without launching the IDE. There are suggestions regarding that in another email. -- WBR, wRAR signature.asc Description: PGP signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
On 2020-07-04 at 11:28, Boyuan Yang wrote: > In your case, I do not see any build system in your source code > repository. There is a built binary file but there's no script or > instructions describing how the built binary was generated. I have > absolutely no idea how you were building the Pascal source code into > binaries. My best guess is that you are using the building function > embedded in Lazarus IDE -- which is completely unacceptable since a > working build system should be fully automated and require no > graphical IDE tool to function well. For what it's worth, there appears to exist a tool called 'lazbuild', which is apparently supposed to be able to compile a program from the command line if passed the appropriate Lazarus project file. I find two different versions of it in Debian, both in the lcl-utils-2.0 package. Also, https://forum.lazarus.freepascal.org/index.php?topic=37272.0 involves people talking about how to build a Lazarus project from the command line; they appear to have gotten it working without the use of lazbuild in at least one case, but whether that's worth the effort I don't know. If that's viable, there may not be any need to add a separate build system, although there would still be a need to add appropriate how-to-build documentation and (of course) the necessary debian/rules glue to get it to be run at package-build time. -- The Wanderer The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. -- George Bernard Shaw signature.asc Description: OpenPGP digital signature
Bug#964087: RFS: TomboyReborn/1.0-1 - Drop in replacement of deprecated Gnome Tomboy
Hi Joan, 在 2020-07-04星期六的 13:23 +0100,Joan Moreau写道: > Hi Evangelos > > Found also this page > https://coderwall.com/p/urkybq/how-to-create-debian-package-from-source > > It contains 3 files > - the binary (to go into /usr/bin) > - the icon > - the .desktop file > > > The sources are here : https://github.com/grosjo/tomboy-reborn > > How to know the files needed, and is there "tar" or similar software > to create the ".deb" file form a files tree ? Disclaimer -- I'm providing you with some information that you might be missing instead of trying to push this packaging process forward. It looks like you are in lack of 2 large pieces of knowledge that is critical to do a proper packaging: (1) How to act properly as a software upstream, by providing a functioning build system that can automatically convert source code into binaries as well as providing handy instructions to install built binaries into the system. This kind of buildsystem is often achieved through a build automation software and you may find a list at https://en.wikipedia.org/wiki/List_of_build_automation_software . (2) How to act properly as a downstream (Debian) packager on top of upstream build system. These 2 parts are separated but both essential when trying to create a good software package. The fact that you are using a non-mainstream programming language (Pascal) further complicates the situation. From the very beginning (part (1)), you need a proper building system in your upstream project, https://github.com/grosjo/tomboy-reborn . Works in part (1) has nothing to do with Debian or any specific Linux distributions. In your case, I do not see any build system in your source code repository. There is a built binary file but there's no script or instructions describing how the built binary was generated. I have absolutely no idea how you were building the Pascal source code into binaries. My best guess is that you are using the building function embedded in Lazarus IDE -- which is completely unacceptable since a working build system should be fully automated and require no graphical IDE tool to function well. It could be a handwritten Makefile, CMake- based solutions, Meson-based solutions or something else. Since you are using Pascal, I do not know what proper buildsystem should I recommend. (If you are using a mainstream programming language like C, C++, C# or even Python or Java, the buildsystem solution is largely known: Makefile, CMake, Meson, python-setuptools, Maven, Gradle, etc.) However, there are several existing Pascal-written software in Debian and other Linux distributions. It might be easier for you to see what other Pascal projects are using and do in a similar way. There is also a Debian Pascal Team [1] and you may get some help from team members. Remember that in part (1) you are acting as an upstream software developer; if necessary, you may refer to Debian's guide to upstream software developers at [2]. [1] https://qa.debian.org/developer.php?email=pkg-pascal-devel%40lists.alioth.debian.org [2] https://wiki.debian.org/UpstreamGuide For the latter part (part (2)), you will finally act as a downstream software packager. we can discuss it later after you have a functioning buildsystem. It won't be difficult as long as your build system is sane. In any case, using prebuilt binaries from upstream is unacceptable: Debian dislikes this and holds a view that any binaries should be generated (automatically) from source code at _build_ time. I hope those information could be useful to you. -- Thanks, Boyuan Yang signature.asc Description: This is a digitally signed message part