[Pkg-pascal-devel] Using FPC backports to build src package

David Bannon dbannon at internode.on.net
Thu Oct 6 12:35:26 BST 2022

On 6/10/22 21:49, Paul Gevers wrote:
> Why would you need fpc/lazarus at all to create a *source* package. I 
> assume you are only talking about testing yourself?
Yes, an issue that worried me too !  I run a script that builds the SRC 
package, then builds the binaries from that SRC package and then runs an 
aggressive lintian. Only then do I consider upload to mentors. But its 
the first step, the debuild -S, that fails the dependencies test. I 
considered it surprising but ....

> Right, but just for testing, right? Or does your package really needs 
> these newer versions to build (and would this make backporting easier)?

No, sadly, I need a later version of Lazarus than 2.0.10 because, just 
before release of Bullseye, someone decided to drop the old 
libappindicator and replace it with libayanata to provide the Systems 
Tray. And Lazarus 2.0.10 has a hard wired dependence on libappindicator. 
I patched Lazarus itself back then but obviously it was too late to make 
Bullseye. So, Gnome tomboy-ng users have an arcane process to follow....

> Can you show the output, because I don't follow why? I guess it 
> depends on the tools you use to build, because apt by default will 
> only install packages from backports if explicitly instructed. I'm not 
> sure if *all* build tools tell apt that properly.

I did have trouble installing the backported Lazarus from the command 
line so I installed FPC/Lazarus from Synaptic because I can tick all the 
boxes. With both broken down to so many individual units, too hard from 
he command line. Anyway, I end up running debuild -S in my script.

debuild -S


dpkg-checkbuilddeps: error: Unmet build dependencies: fpc (>= 3.2.2) 
lazarus (>= 2.2.2)
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; 
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -S failed

dbannon at debbulljune:~/JT$  dpkg --get-selections | grep lazarus
lazarus-2.2                    install
lazarus-doc-2.2                    install
lazarus-ide                    install
lazarus-ide-2.2                    install
lazarus-ide-gtk2-2.2                install
lazarus-src-2.2                    install

And on testing, it all works fine, note there is no meta package, 
"lazarus" above, its there in Testing, I guess it would clash with the 
"lazarus" in Bullseye.

>> So, finally, my question - should I just use a Testing install to 
>> build my source package ?
> Or an *unstable* chroot, or lxc, or whatever you use. Yes, if you try 
> building you should build in the environment you are targeting. That 
> doesn't mean your system needs to run that, only your build 
> environment. There are a lot of solutions to achieve that.

Thanks, thats good. I am more comfortable with a complete VM than the 
chroot approach, I use VMs for a range of things so its my go-to 
approach. And, yes, just tried it, all works except, of course, a few 
more Lintian false alarms, sigh...

Thanks Paul, just need to know that building in Testing is not going to 
set off any alarms. As I like to co-ordinate my (many) Linux, Windows 
and MacOS releases at the same time, its good to confront as many of the 
issues as I can, early !


More information about the Pkg-pascal-devel mailing list