appimage

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
triplus
Posts: 9475
Joined: Mon Dec 12, 2011 4:45 pm

Re: appimage

Postby triplus » Thu Apr 12, 2018 10:32 pm

sgrogan wrote:
Thu Apr 12, 2018 10:16 pm
Thanks this worked for OSX 0.18_pre, it pruned the 0.17 backport (but I downloaded it before that happened :) )
That is strange as the way i understand it my PR build hasn't finished yet. And if it would it still wouldn't deploy. For macOS it should only deploy when PR is merged.
I don't know how it works. In the past on OSX the backports auto-magically appeared on the "stable" release assets. Maybe @bblacey can explain. It would be sweet if we could make that work with the appimage too.
I have a feeling somebody from the macOS team does that manually.
I haven't tested, do you know if offline doc's are included in the appimage?
No. Dependency would likely need to be set explicitly. Are you interested in creating/providing such Appimage?

P.S. As we only have "backport releases" on the legacy/stable PPA. I am guessing the regular release AppImage would be hard to upgrade? Thinking about it further. Does it make sense to have release and "backport release" available on GitHub as "backport release" is the relevant one?
User avatar
sgrogan
Posts: 5956
Joined: Wed Oct 22, 2014 5:02 pm

Re: appimage

Postby sgrogan » Thu Apr 12, 2018 11:09 pm

triplus wrote:
Thu Apr 12, 2018 10:32 pm
That is strange as the way i understand it my PR build hasn't finished yet. And if it would it still wouldn't deploy. For macOS it should only deploy when PR is merged.
Looking closer maybe because there were Travis fails. https://github.com/FreeCAD/FreeCAD/commits/master Once a merged commit passed all tests it was deployed.
triplus wrote:
Thu Apr 12, 2018 10:32 pm
I have a feeling somebody from the macOS team does that manually.
I don't think so. The fact that the backport was deployed to 0.18_pre suggests that it happens auto-magically.
triplus wrote:
Thu Apr 12, 2018 10:32 pm
No. Dependency would likely need to be set explicitly. Are you interested in creating/providing such Appimage?
No, the exact opposite. The offline docs are huge and don't change. The windows developer builds don't include them for this reason. I added a "doc" package to the releases page. I think this is cross platform, I haven't tested if this can work from user .FreeCAD/doc or the like.
triplus wrote:
Thu Apr 12, 2018 10:32 pm
P.S. As we only have "backport releases" on the legacy/stable PPA. I am guessing the regular release AppImage would be hard to upgrade? Thinking about it further. Does it make sense to have release and "backport release" available on GitHub as "backport release" is the relevant one?
Thanks to NormandC this part is easy. The legacy PPA builds from FreeCAD git releases/FreeCAD-0-16 branch ( and is easily changed in the recipe), stable PPA builds against FreeCAD git releases/FreeCAD-0-17, and daily builds against master.
The only complication is managing version.h

My understanding is that the daily appimage is built as a cron job with the daily PPA. Maybe something similar could be implemented for the stable PPA, but with a webhook or something so that ist's not built as a cron job when it doesn't change?
peterl94
Posts: 1000
Joined: Thu May 23, 2013 7:31 pm
Location: United States

Re: appimage

Postby peterl94 » Thu Apr 12, 2018 11:55 pm

Which release they are deployed to is specified by a travis variable "DEPLOY_RELEASE," which I set to 0.18_pre right after the 0.17 release. I think the script can't handle spaces in the release name, because setting DEPLOY_RELEASE to "FreeCAD 0.17 Roland" didn't seem to work the last time I tried.

I just remembered I have to update the ports cache release version too.
User avatar
sgrogan
Posts: 5956
Joined: Wed Oct 22, 2014 5:02 pm

Re: appimage

Postby sgrogan » Fri Apr 13, 2018 12:15 am

peterl94 wrote:
Thu Apr 12, 2018 11:55 pm
Which release they are deployed to is specified by a travis variable "DEPLOY_RELEASE," which I set to 0.18_pre right after the 0.17 release. I think the script can't handle spaces in the release name, because setting DEPLOY_RELEASE to "FreeCAD 0.17 Roland" didn't seem to work the last time I tried.

I just remembered I have to update the ports cache release version too.
Does it use the git tag or the name? Sorry if I messed this up.
peterl94
Posts: 1000
Joined: Thu May 23, 2013 7:31 pm
Location: United States

Re: appimage

Postby peterl94 » Fri Apr 13, 2018 12:23 am

Currently it uses the name, but it should be changed to use the tag so that it doesn't matter what the name is.
triplus
Posts: 9475
Joined: Mon Dec 12, 2011 4:45 pm

Re: appimage

Postby triplus » Fri Apr 13, 2018 12:31 am

@peterl94

I have seen you were active here:

https://github.com/FreeCAD/FreeCAD-ports-cache/pull/20
https://github.com/FreeCAD/FreeCAD-ports-cache/releases

You will know best if this PR is relevant:

https://github.com/FreeCAD/FreeCAD/pull/1404
sgrogan wrote:
Thu Apr 12, 2018 11:09 pm
Thanks to NormandC this part is easy. The legacy PPA builds from FreeCAD git releases/FreeCAD-0-16 branch ( and is easily changed in the recipe), stable PPA builds against FreeCAD git releases/FreeCAD-0-17, and daily builds against master.
I was thinking more in the direction the PPA only has backport release package. For example legacy PPA has FreeCAD 16.6712 on it. Once i will create recipe for FreeCAD 16 AppImage it will likely make sense to update the Appimage including all the fixes. But as for FreeCAD 16.6700 AppImage. One would have to build the package first on for example personal PPA and use the custom AppImage recipe. All that just to update the 16.6700 AppImage on GitHub releases page. Therefore "regular release" AppImages likely won't be updated if new AppImage related fixes are made available. Backport releases likely will get updated.
The only complication is managing version.h

My understanding is that the daily appimage is built as a cron job with the daily PPA. Maybe something similar could be implemented for the stable PPA, but with a webhook or something so that ist's not built as a cron job when it doesn't change?
This reads to me:

https://docs.travis-ci.com/user/deployment/launchpad/

Managing version.h might be possible to set up with Travis. As for creating "backport releases" AppImages with Travis. There likely would be a way to use the same approach as with the daily setup we use. Triggering the build manually when needed. But i wonder if it is worth the hassle? Such AppImages get updated rarely for now?
User avatar
sgrogan
Posts: 5956
Joined: Wed Oct 22, 2014 5:02 pm

Re: appimage

Postby sgrogan » Fri Apr 13, 2018 12:58 am

triplus wrote:
Fri Apr 13, 2018 12:31 am
I was thinking more in the direction the PPA only has backport release package.
I'm thinking, legacy is an unsupported dead end.
stable accepts backports
and daily is, well daily.
https://forum.freecadweb.org/viewtopic. ... 37#p227134
triplus wrote:
Fri Apr 13, 2018 12:31 am
Managing version.h might be possible to set up with Travis.
This is my dream :)
User avatar
sgrogan
Posts: 5956
Joined: Wed Oct 22, 2014 5:02 pm

Re: appimage

Postby sgrogan » Wed Apr 18, 2018 9:23 pm

triplus wrote:
Fri Apr 13, 2018 12:31 am
Backport releases likely will get updated.
OK, I think I've got thru the first rounds of backports. 0.17.13514 will be available on the daily PPA. Should we expect an automatic appimage on the 0.17 releases page?
It seems the backports are not deployed for OSX. (OSX is broken because of boost 1.67?)
Thanks in advance for any insight.
Last edited by sgrogan on Wed Apr 18, 2018 9:55 pm, edited 1 time in total.
User avatar
easyw-fc
Posts: 2886
Joined: Thu Jul 09, 2015 9:34 am

Re: appimage

Postby easyw-fc » Wed Apr 18, 2018 9:28 pm

sgrogan wrote:
Wed Apr 18, 2018 9:23 pm
OK, I think I've got thru the first rounds of backports. 0.17.13514 will be available on the daily PPA.
it should be 0.17.13515 now ;)
https://github.com/FreeCAD/FreeCAD/comm ... eeCAD-0-17
triplus
Posts: 9475
Joined: Mon Dec 12, 2011 4:45 pm

Re: appimage

Postby triplus » Wed Apr 18, 2018 10:06 pm

Hi @sgrogan.

Due to FreeCAD 0.17/0.18 AppImage being made available. Admittedly i didn't look into this much yet. As when i had free time in this past few days i more or less worked on the FreeCAD modules. The plan was to look into the AppImage recipe situation at the weekend. Will bump up the priority and expect more from my side tomorrow.
sgrogan wrote:
Wed Apr 18, 2018 9:23 pm
It seems the backports are not deployed for OSX. (OSX is broken because of boost 1.67?)
Yesterday i have seen this PR:

https://github.com/FreeCAD/FreeCAD/pull/1409

Therefore likely when merged it should be backported to 0.17? Note that currently PR likely doesn't address the issue on OSX.
Last edited by triplus on Wed Apr 18, 2018 10:15 pm, edited 1 time in total.