← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Handle STEP export properly on MacOS when launched from standalone pcbnew.

 

I would even commit to adding a comment saying "Adam says this is
temporary and should be removed during the V6 development efforts", so
folks can more easily shame me if it ends up staying around for longer
than expected :)

Adam
On Fri, Jun 15, 2018 at 11:34 AM Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>
> I'm not opposed to this patch if it's merely a short tern solution to a
> larger problem.  I would rather macos support STEP export for v5.
> Hopefully a cleaner long term solution can be found as part of the v6
> development as the patch adds some rather ugly #ifdef/#endif code.
>
> Cheers,
>
> Wayne
>
> On 06/15/2018 10:13 AM, Seth Hillbrand wrote:
> > Hi Adam/Bernhard-
> >
> > Thanks for the excellent background and what looks like a good plan
> > during v6.  If I understand correctly, the thought is that this patch is
> > temporary for v5 and will be addressed with the rest of the paths during v6.
> >
> > If that is correct, does anyone have objections to this patch for MacOS?
> >
> > -S
> >
> > Am Fr., 15. Juni 2018 um 05:04 Uhr schrieb Adam Wolf
> > <adamwolf@xxxxxxxxxxxxxxxxxxxx <mailto:adamwolf@xxxxxxxxxxxxxxxxxxxx>>:
> >
> >     Thanks Bernhard for the clear responses.
> >
> >     1) The only current issue with signing is that the standalone
> >     launchers both live inside and outside the bundle.  With all the
> >     work I've done on packaging since V4, we can now give kicad.app a
> >     valid signature, but there's no way to sign the subbundles that
> >     allows them to be both external and internal to KiCad.app.
> >
> >     2) I have a few ideas for how to make it work for V6, but my primary
> >     one is the same as yours.  If kicad.app opened .pro files, but also
> >     .schs and .kicad_pcbs and other files, and used filenames or
> >     something in order to pick which mode to open up in, the signing
> >     problem goes away. As soon as V5 is out, I'm planning on opening a
> >     discussion on it here.
> >
> >     3) Thanks so much for your help on KiCad!
> >
> >     Regarding this patch, I think there are a few options.  We can do
> >     nothing, fix-up validation so you can only export STEP from either
> >     standalone or kicad.app.  We could make make some logical functions
> >     like isStandaloneExecutable and GetPathToKiCad or something like
> >     that.  We could add more comments, maybe even aiming people at this
> >     discussion?  We could rewrite it in a different way.  We could fix
> >     it in packaging--we could copy kicad2step to multiple directories,
> >     and make it work that way.  I can also leave the patch in the
> >     packaging scripts, but that leaves this broken for anyone who
> >     doesn't use them.
> >
> >     Some of these I like, others I don't, but no matter which one we
> >     choose, as soon as V5 is out the door, I'm taking it out.  I don't
> >     want it to be egregiously bad, since it'll probably live in the
> >     stable release for a while, but at the same point, I'm not married
> >     to any of the ideas.
> >
> >     Thanks everyone for the discussion.  Discussions like this help
> >     elucidate parts of the code that few people touch, and that helps
> >     make KiCad even better. We are really close to the best Kicad
> >     release yet!
> >
> >     Adam Wolf
> >
> >     On Fri, Jun 15, 2018 at 3:20 AM Bernhard Stegmaier
> >     <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>> wrote:
> >     >
> >     > And, for the path stuff…
> >     >
> >     > I think it needs a complete cleanup.
> >     > There are paths spread all over the code (directly or indirect by
> >     putting some path fragments together)… for plugins, templates,
> >     user-folders, help files, etc.
> >     > Worse, all those places are also full of platform #ifdef’s which
> >     doesn’t make it more easy…
> >     >
> >     > I think it shouldn’t be allowed to have paths anywhere in the code.
> >     > Instead, everything should be in some central configuration class
> >     where they can be configured in a consistent way for all platforms.
> >     > I guess there shouldn’t be that much paths involved, otherwise no
> >     user will understand where to put things anyway (sometimes I feel
> >     that exactly this is happening at the moment).
> >     >
> >     > I did cleanup some things for macOS when I did the packaging stuff
> >     long ago (only use things like GetOSXKicadDataDir() from common.cpp
> >     where appropriate).
> >     > But, I didn’t understand kicad and its intended (folder)
> >     structures (especially for Linux/Windows) enough at that point in
> >     time, so I gave up…
> >     >
> >     >
> >     > Regards,
> >     > Bernhard
> >     >
> >     > > On 15. Jun 2018, at 06:58, Adam Wolf
> >     <adamwolf@xxxxxxxxxxxxxxxxxxxx
> >     <mailto:adamwolf@xxxxxxxxxxxxxxxxxxxx>> wrote:
> >     > >
> >     > > The symlinked subbundles date back to the original KiCad mac
> >     packaging
> >     > > work, before V4 came out.  There is a pretty massive amount of
> >     code in
> >     > > our CMake and KiCad already that support how this works.  I think
> >     > > Bernhard was the main driver of this work, but I am not sure.
> >     > > Specifically, the relative paths are already in KiCad source at
> >     least
> >     > > 2 other time.  I am not sure why kicad2step got added the way it
> >     did.
> >     > > I was not involved.
> >     > >
> >     > > Removing all of the symlinked subbundles is actually part of my V6
> >     > > work, because KiCad.app is not signable until it doesn't have these,
> >     > > but that's not a small undertaking.
> >     > >
> >     > > Maybe Bernhard can weigh in more?
> >     > >
> >     > > Adam Wolf
> >     > > On Thu, Jun 14, 2018 at 10:27 PM Seth Hillbrand
> >     > > <seth.hillbrand@xxxxxxxxx <mailto:seth.hillbrand@xxxxxxxxx>> wrote:
> >     > >>
> >     > >>
> >     > >> Hi Adam-
> >     > >>
> >     > >> Is there a reason why the kicad2step is installed in the KiCad
> >     base application rather than the pcbnew application?  I didn't look
> >     into this in depth but I wonder if we can avoid code dealing with a
> >     specific packaging scenario?
> >     > >>
> >     > >> Alternatively, we might put a variable in CMAKE defining where
> >     these applications are installed and reference that in the code.
> >     Hard-coding the relative paths feels like asking for trouble.
> >     > >>
> >     > >> Thoughts?
> >     > >> -S
> >     > >>
> >     > >>
> >     > >> Am Do., 14. Juni 2018 um 05:41 Uhr schrieb Adam Wolf
> >     <adamwolf@xxxxxxxxxxxxxxxxxxxx <mailto:adamwolf@xxxxxxxxxxxxxxxxxxxx>>:
> >     > >>>
> >     > >>> Yeah, this is actually all over the source code.  I'm starting
> >     to collect a list of them for V6... but I shall say no more until
> >     I'm ready with V5 :)
> >     > >>>
> >     > >>> On Thu, Jun 14, 2018, 3:32 AM Nick Østergaard
> >     <oe.nick@xxxxxxxxx <mailto:oe.nick@xxxxxxxxx>> wrote:
> >     > >>>>
> >     > >>>> Ok.
> >     > >>>>
> >     > >>>> 2018-06-14 9:37 GMT+02:00 Bernhard Stegmaier
> >     <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>>:
> >     > >>>>>
> >     > >>>>> I didn’t test this patch, but… something like a install
> >     prefix path is not valid for a bundle.
> >     > >>>>> A bundle is a self-contained entity and has no fixed
> >     location. You can put it wherever you want.
> >     > >>>>> So, everything has to be relative to main binary or bundle
> >     location.
> >     > >>>>>
> >     > >>>>>
> >     > >>>>> Regards,
> >     > >>>>> Bernhard
> >     > >>>>>
> >     > >>>>>
> >     > >>>>> On 14. Jun 2018, at 08:51, Nick Østergaard
> >     <oe.nick@xxxxxxxxx <mailto:oe.nick@xxxxxxxxx>> wrote:
> >     > >>>>>
> >     > >>>>> It seems a bit strange to be that relative paths like that
> >     has to be used, can't some cmake install prefix path be used wheni
> >     is a bundle? Is this also how it is done for other parts of kicad?
> >     > >>>>>
> >     > >>>>> 2018-06-13 4:39 GMT+02:00 Adam Wolf
> >     <adamwolf@xxxxxxxxxxxxxxxxxxxx <mailto:adamwolf@xxxxxxxxxxxxxxxxxxxx>>:
> >     > >>>>>>
> >     > >>>>>> Hi folks!
> >     > >>>>>>
> >     > >>>>>> This patch is meant to fix a crash Seth found when
> >     exporting STEP from
> >     > >>>>>> standalone pcbnew on macOS.
> >     > >>>>>>
> >     > >>>>>> Thanks!  My apologies for having this so late in the
> >     cycle.  this is
> >     > >>>>>> going to be an amazing release for everyone, especially
> >     macOS users!
> >     > >>>>>>
> >     > >>>>>> Adam Wolf
> >     > >>>>>>
> >     > >>>>>> _______________________________________________
> >     > >>>>>> Mailing list: https://launchpad.net/~kicad-developers
> >     > >>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >     > >>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
> >     > >>>>>> More help   : https://help.launchpad.net/ListHelp
> >     > >>>>>>
> >     > >>>>>
> >     > >>>>> _______________________________________________
> >     > >>>>> Mailing list: https://launchpad.net/~kicad-developers
> >     > >>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >     > >>>>> Unsubscribe : https://launchpad.net/~kicad-developers
> >     > >>>>> More help   : https://help.launchpad.net/ListHelp
> >     > >>>>>
> >     > >>>>>
> >     > >>>>
> >     > >>> _______________________________________________
> >     > >>> Mailing list: https://launchpad.net/~kicad-developers
> >     > >>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >     > >>> Unsubscribe : https://launchpad.net/~kicad-developers
> >     > >>> More help   : https://help.launchpad.net/ListHelp
> >     > >
> >     > > _______________________________________________
> >     > > Mailing list: https://launchpad.net/~kicad-developers
> >     > > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> >     > > Unsubscribe : https://launchpad.net/~kicad-developers
> >     > > More help   : https://help.launchpad.net/ListHelp
> >     >
> >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help   : https://help.launchpad.net/ListHelp
> >
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References