create a PPA including the new Part Design Workbench?

Discussion about the development of the Assembly workbench.
Fat-Zer
Posts: 171
Joined: Thu Oct 30, 2014 10:38 pm

Re: Test Request: Part Design Workflow

Postby Fat-Zer » Fri Mar 11, 2016 8:55 am

kcleung wrote:Should we discuss the intention of merging the assembly branch into FreeCAD after 0.16 with the core developers NOW?
IMHO it's not the time yet... I'm not an adherent of idea to merge in whatever state it is, so I'd like to propose to do it on next "test request"...
jmaustpc
Posts: 10525
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: create a PPA including the new Part Design Workbench?

Postby jmaustpc » Fri Mar 11, 2016 10:43 am

NormandC wrote:If you're willing to try, I'm willing to help. But this should be discussed in another topic as to not interfere with the main topic here.

Jim or other mods: would it be possible for you to split the posts where we talk about a possible "assembly-next" PPA into a separate topic in the Install/Compile forum?
Hi Norm, as you request. :)

However I decided to leave it in this Assembly forum since its talking about what is a FreeCAD development branch, almost a fork, for which the primary purpose it to make progress on the long over due Assembly WB, even though it is only the PartDesign portion of Assembly branch.
jmaustpc
Posts: 10525
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: create a PPA including the new Part Design Workbench?

Postby jmaustpc » Fri Mar 11, 2016 12:34 pm

About the topic its self, I think a PPA would be a bad idea, at least at this time. I am not sure how much help users will be who can not learn how to compile, I think we are likely to just get flooded with bug reports, likely poor quality ones, that more relate to where development has not yet happened rather than real bugs.

Also having a PPA that will quickly become obsolete and meaningless once the branch reaches master sounds likely to confuse users to me, they likely will end up with more than on FreeCAD, one of which is obsolete. So you would need some way of automatically deleting the PartDesign New FreeCAD from someone's system once it has been merged.

Others may disagree, but I just see this as another way to make the less knowledgeable even more confused ...compiling FreeCAD on Kubuntu is not difficult, a lot of us learnt how to compile due to a desire to compile FreeCAD. We should rather encourage those capable to learn how to compile mostly by having clear up to date instructions in the wiki. Obviously I am generalising but really, how much help can someone be who will not learn how to do something as easy as compiling FreeCAD on a Ubuntu variant? Once you get to near release quality code that would likely change because you want all the use (but that code would by then be in master) and reports you can get but in the earlier development stages there might become too much time spent on the less experienced users that ends up sidetracking those trying to do the development.

But anyway if you guys are to do this, don't forget to reconfigure the PPA so that using your new PPA would no effect the other FreeCAD Daily or stable PPA. You should also consider how the system will associate which FreeCAD with fcstd.

I doubt you will be able to resolve all the dependency issues including c++11 to get it to work for 12.04, which will not "end of life" until a year and a bit from now.

So in summary I think that at best it will be a lot of work for very little benefit, but don't let my negativity stop you guys, if you are prepared to do the work. :)
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: create a PPA including the new Part Design Workbench?

Postby NormandC » Sat Mar 12, 2016 6:30 am

Thanks Jim!
jmaustpc wrote: Also having a PPA that will quickly become obsolete and meaningless once the branch reaches master sounds likely to confuse users to me, they likely will end up with more than on FreeCAD, one of which is obsolete. So you would need some way of automatically deleting the PartDesign New FreeCAD from someone's system once it has been merged.
Well for starters we're talking about kcleung setting his own PPA, not the official FreeCAD PPA. As for automatically deleting that package or not, in the end it comes down to the own end user's system maintenance, if a user can't be bothered to learn how to install and remove programs...

And for it being merged into master, I do not believe it will be in a timely manner. Just look at how long it's taking to ship out 0.16! ;)
kcleung wrote:I don't mind setting up a daily PPA on my launchpad account. How can I adapt the regular Daily PPA so that it pull from our branch instead of the master branch?
sgrogan already gave a hint about that.
viewtopic.php?f=20&t=14645#p117158

Basically you set up a daily build PPA in 4 steps:
  1. First you import the Git branch in Launchpad.
    https://code.launchpad.net/+code-imports/+new
    More info: https://help.launchpad.net/Code/Imports
    And according to the AskUbuntu link, the Git repo URL should be

    Code: Select all

    https://github.com/blobfish/FreeCAD_sf_master.git,branch=rebaseMaster
     
  2. Second you create a packaging branch. That branch contains the "debian" folder that will build the package. Here you need to use bazaar, Launchpad's own distributed version control software - no, they do not use Git! But most commands are the same, you only need replace "git" with "bzr".
    I suggest you get a local copy of one of the freecad-maintainers' packaging branches here https://code.launchpad.net/freecad
    If you use Ubuntu 14.04, then pick https://code.launchpad.net/~freecad-mai ... ing.trusty
    You will need to make changes to it, for example the Assembly workbench is disabled by default, so you'll need to add a CMake flag in debian/rules. The proper debian packaging policy states that any changes you do to the debian files, you need to document in debian/changelog. See viewtopic.php?f=4&t=13871&start=10#p113941

    The debian/control file sets the names of the packages to be built (freecad has three) and the build dependencies. The one for the daily builds PPA should be up to date.

    Once you have made your changes in your local branch, you need to push it to a new branch on your Launchpad account.
     
  3. To register the proper "FreeCAD info" in the About FreeCAD dialog, a versioning branch needs to be created. Here's the one for the Daily Builds: https://code.launchpad.net/~freecad-mai ... ioning.git
    But this is for the master branch, you cannot use it for another branch. I believe you'll have info on how to do that in this forum topic, sorry but it has 11 pages and I'm too lazy ATM to look for the specific reply. viewtopic.php?t=11298
     
  4. Finally you create a packaging recipe. In the page of your packaging branch, there will be a "Create packaging recipe" link. Here's the one that builds the daily builds trusty package: https://code.launchpad.net/~freecad-mai ... usty-daily
What's left after that is to request a build, and if it works you can set the recipe to build daily.

By the way, installing such a package would prevent using any other freecad package, like the daily builds one. It may be a good idea to build this package in such a way as to cohabit with the regular freecad package, but this will require some thought.

I haven't covered everything, not by a long shot! I highly recommend you read the Launchpad to get you started and post if you have follow up questions.
https://help.launchpad.net/FrontPage
jmaustpc
Posts: 10525
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: create a PPA including the new Part Design Workbench?

Postby jmaustpc » Sat Mar 12, 2016 11:59 am

NormandC wrote:By the way, installing such a package would prevent using any other freecad package, like the daily builds one. It may be a good idea to build this package in such a way as to cohabit with the regular freecad package, but this will require some thought.
Yes, I agree that would be critical, that is my only serious concern about this proposal, in that it would be better to not have this new PPA at all rather than have it remove the official FreeCAD from a users system.