Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2015-11

Debian Packager released

12 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Anthony Walter

I've put up a release for Debian Packager, a tool which hopefully makes it easy for developers to create their own deb packages to deploy their applications. Usage should be self explanatory and help is provided. Debian Packager can build both 32 and 64 bit deb packages.

http://www.getlazarus.org/apps/makedeb/

To install a package: dpkg -i packagename.deb
To uninstall a package: dpkg -r packagename

Note: apt-file is no longer required to build your app dependency list.

Source code for the project is also available on github under the copyleft license.

http://github.com/sysrpl/lazarus.apps.makedeb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151106/5b3185cc/attachment.html>

Reply by email

JuuS
to Anthony Walter
Anthony Walter wrote 6 lines
I've put up a release for Debian Packager, a tool which hopefully makes it easy for developers to create their own deb packages to deploy their applications. Usage should be self explanatory and help is provided. Debian Packager can build both 32 and 64 bit deb packages. http://www.getlazarus.org/apps/makedeb/

Greetings,

Appears to be broken (I have NO idea why it would include an nvidia file, libqt4pas5 was installed on the machine I did the deb build on, the previous apt-file methods worked):

Preparing to unpack juursync_3.1.0-qt-amd64.deb ... Unpacking juursync (3.1.0-qt) ...
dpkg: dependency problems prevent configuration of juursync: juursync depends on libqt4pas5 (>= 2.5); however:
Package libqt4pas5 is not installed.
juursync depends on nvidia-346 (>= 346.96); however: Package nvidia-346 is not installed.

dpkg: error processing package juursync (--install): dependency problems - leaving unconfigured

Reply by email

Anthony Walter
to JuuS

JuuS, can run through the steps manually to confirm?

First run:

ldd path/to/app

Then with anything which links to /usr/lib do:

dpkg -S /usr/lib/path/libsomething.so.1

This will give you the packages on your system required to run your application. You can check the minimum version with:

dpkg -s packagename

And check the line starting with "Version: "
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151109/08ad9663/attachment.html>

Reply by email

Anthony Walter
to Anthony Walter

More information:

https://en.wikipedia.org/wiki/Ldd_(Unix)

ldd (List Dynamic Dependencies) is a *nix utility that prints the shared libraries required by each program or shared library specified on the command line.[1]

Here's and example using my program colormix:

user at home ~/ $ ldd colormix
linux-vdso.so.1 => (0x00007ffc1eef8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb3f9d43000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb3f997e000) ... snip a few lines
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fb3f7a7d000)
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007fb3f764e000)
... more lines follow

then pick a dependency which is under /usr/lib ...

user at home ~/ $ dpkg -S /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 libpangocairo-1.0-0:amd64: /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0

and finally check the package to verify the version ...

user at home ~/ $ dpkg -s libpangocairo-1.0-0
Package: libpangocairo-1.0-0
Status: install ok installed
Priority: optional
Section: libs
Version: 1.36.3-1ubuntu1.1

which then creates in the control file ...

Depends: libpangocairo-1.0-0 (>= 1.36.3)

I am quite confident that this is a valid approach to building a dependency list. If you want lower version numbers, try making the deb in an older OS (12.04) and see if the version numbers are lower there. I wouldn't know how to look up depends versions any other way, other than say googling each package and trying random lower version numbers.

With regards to linking to dependencies you feel are not needed, try copying just the application to another system without using the deb. See if you get an error when running the app due to missing libraries. i.e. Your other test computer doesn't have
"/usr/lib/nvidia-346/xorg/libglx.so.346.96" and the program fails because of this reason.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151109/f141b13b/attachment.html>

Reply by email

Anthony Walter
to Anthony Walter

A new version is available with a much better dependency resolver. If you want to discuss the details further and out of courtesy to the mailing list users, please use this location to provide feedback:

http://www.getlazarus.org/forums/viewtopic.php?f=21&t=122&p=348#p348 -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151109/85dcf09c/attachment.html>

Reply by email

Alexsander Rosa
to JuuS

I've tested it, congratulations, it works fine.
However I have a suggestion: an option to select the destination. It seems it always installs at /usr/local/bin.
I would like to install into /opt/company-name/app-name to add other files. What do you think?

2015-11-10 14:22 GMT-02:00 JuuS :

Show quoted text 14 lines
On 11/10/2015 05:32 AM, Anthony Walter wrote: > A new version is available with a much better dependency resolver. Beautiful, works great, VMs/machines, 32/64, qt/gtk2. Now, on to codebot.... Thanks for your work. -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Atenciosamente, Alexsander da Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151216/afbc5d2d/attachment.html>

Reply by email

Alexsander Rosa
to Alexsander Rosa

I've tried to compile it but got this compiling the Codebot package (fresh clone):
Compiling package codebot 1.0: Exit code 1, Errors: 2 codebot.pas(10,3) Error: Duplicate identifier "CODEBOT" codebot.pas(10,10) Fatal: Syntax error, ";" expected but "." found

2015-12-16 12:36 GMT-02:00 Alexsander Rosa :

Show quoted text 30 lines
I've tested it, congratulations, it works fine. However I have a suggestion: an option to select the destination. It seems it always installs at /usr/local/bin. I would like to install into /opt/company-name/app-name to add other files. What do you think? 2015-11-10 14:22 GMT-02:00 JuuS : > > > On 11/10/2015 05:32 AM, Anthony Walter wrote: > > A new version is available with a much better dependency resolver. > > Beautiful, works great, VMs/machines, 32/64, qt/gtk2. Now, on to > codebot.... Thanks for your work. > > -- > _______________________________________________ > Lazarus mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > -- Atenciosamente, Alexsander da Rosa
Atenciosamente, Alexsander da Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151216/166746b6/attachment-0001.html>

Reply by email

Alexsander Rosa
to Anthony Walter

Lazarus 1.4.4 with FPC 2.6.4 on Ubuntu 14.04.3 LTS 64 bits.

2015-12-16 18:57 GMT-02:00 Anthony Walter :

Show quoted text 9 lines
Can you give me information on your FPC version? -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Atenciosamente, Alexsander da Rosa -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151218/0f1fdb4c/attachment.html>

Reply by email

Anthony Walter
to Alexsander Rosa

Yeah, all my code requires FPC 3 or greater. You should have gotten an error message in codebot.inc when you try to use FPC 2.6.4.

{$if fpc_fullversion < 30000}
'This library requires the free pascal 3 or greater'
{$endif}

If you want to use more recent versions, the FPC and Lazarus bundles from my website http://www.getlazarus.org/setup are designed to use local FPC and Lazarus configuration files. In other words they will not interfere with your existing development environment. I'd encourage everyone to switch to FPC 3.0.0. You get proper generics, type helpers, dotted namespaces, and more.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20151218/9fa50e9c/attachment.html>

Reply by email