[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: