Forum > General

Automating Install

(1/2) > >>

Grahame Grieve:
Here's a fragment of my install instructions for linux development:

clone the following repos to ~\work:
 - https://github.com/dezlov/PascalTZ
 - https://github.com/grahamegrieve/delphi-markdown
 - https://github.com/mriscoc/extrasyn
 - https://github.com/grahamegrieve/HtmlViewer
 - https://github.com/grahamegrieve/lazarus-ide-tester
 - https://github.com/Xor-el/QRCodeGenLib4Pascal
 - https://github.com/grahamegrieve/fhirserver
 
Run Lazarus
 open the package work/PascalTZ/package/pascaltz.lpk. Compile and install it
 open the package work/extrasyn/extrahighlighters.lpk. Compile it
 open the package work/extrasyn/extrahighlighters_dsgn.lpk. Install it
 open the package work/lazarus-ide-tester/package/idetester.dpk. Compile it
 open the package work/lazarus-ide-tester/ide/idetester_dsgn.lpk. Install it
 open the package work/HtmlViwer/package/FrameViewer09.lpk. Compile and install it
 open the package work/delphi-markdown/packages/markdownengine.lpk. Compile it
 open the package ork/QRCodeGenLib4Pascal/QRCodeGenLib/src/Packages/FPC/QRCodeGenLib4PascalPackage.lpk - compile it
 
Obviously I can automate the git cloning part. But can I automate the whole loading and installing packages? Do I just lazbuild them? or is there more to it?

dbannon:
Grahame, maybe it depends on what you want to do once its all built ?  If you then plan on opening the IDE and doing development work, yes, I suspect you may have to do it manually.

But if you are building this rig to just compile an existing package, that is, all  the development is already done, you don't need to install the various packages into the IDE just to use them when building.  For example, I build my app using LCL and an external package, KControls. I have a bash script that installs FPC and Lazarus and then it downloads KControls, compiles it and then, remembering where it compiled KControls, goes off and builds my app.

Davo

devEric69:
AFAIK, basically, with a script, the idea is to download (using wget, for example) and drop everything on your machine. Then:
• run `lazbuild --add-package ./.../xxx.lpk`, for each downloaded package, i.e. ask to only register the Lazarus package files (*.lpk). But, this cmd-line does not build.
• finish with a\several final cmd-line(s) in order to do build(s): `lazbuild --build-ide="-gl -godwarfsets ...\..." build-mode="my debugging IDE"`, or\and `lazbuild --build-ide="-O2 -g- -Xs ...\..." build-mode="my normal IDE". That\those final statement(s) are used in order to rebuild a\some profile(s) of the IDE-itself, including the static source packages *.lpk above inside each re-compilation of a named IDE profile with its good compiling switche(s).

(It may not be the best method.)

ps: like I did, you can learn a lot by reading @dbannon tomboy-ng's computerized build *.sh scripts.

Grahame Grieve:
Thanks. That gets me going, though I don't know bash at all. It'd be lovely if there was a command line mode for fpcupdeluxe...

Gustavo 'Gus' Carreno:
Hey Grahame,


--- Quote from: Grahame Grieve on October 03, 2021, 01:47:08 am ---Thanks. That gets me going, though I don't know bash at all. It'd be lovely if there was a command line mode for fpcupdeluxe...

--- End quote ---

There is. It's called fpcup and it's what fpcupdeluxe uses in the background.

Mind you that using fpcup is not the same as using fpcupdeluxe.

In that same repository there is also fpclazup to deal with Lazarus things.

Again, please be advised that fpcupdeluxe uses both these command line utils, but then adds a ton of features on top of them.

Hope this can help you in any way!!

Cheers,
Gus

Navigation

[0] Message Index

[#] Next page

Go to full version