… then I’ll also have to resend … :) Hi Adam,
I somehow share your dislike of packages, because there is no uninstall… especially when it comes to Samsung printer drivers (however, other are not better)… :) I also like the dmg version of apps much more. You’re right, 75% sounds much for now… is this already a scripting build? My last scripting build was much larger than 30M if I remember correctly. And if you start to add libraries, the ratio also will get better… :) Sounds good… let’s start this way and see if maybe some other nice idea wrt to installing language-specific help files comes up somewhere down the road. Regards, Bernhard On 18.11.2014, at 20:25, Adam Wolf <[email protected]> wrote: > Whoops, accidentally sent to only Bernhard. Resending to list. (Btw > Bernhard, I added a line at the end...) > > Hi Bernhard, > > Thanks for the reply. I'm definitely not going to stop the Jenkins stuff--I > just have no interest in maintaining a .pkg, because I think it is a worse > user experience. > > When I think of packages, I think of things that can't clean up after > themselves, or crap released by companies that don't know what they're doing > Samsung printer drivers. I definitely trust them much less than something I > install with a DMG. > > I agree that not everyone agrees with me--but this is my reasoning for not > wanting to make a pkg. I don't think users like them, and I definitely don't > like them, so I don't really want to spent hours a week making them better. :) > > I made a bunch of pkgs when I was a full time Linux/Mac sysadmin--you're > right, they're no harder to create. > > Right now the KiCad DMG is 30 megs. I'm willing to concede and include all > of the help files inside, but please note that over 75% of the package size > will be help files. It certainly does matter on the Jenkins server, but I > can throw money at that problem. > > So, here's my proposal. I include all the help inside the bundle, tripling > the size of the packages. > > I set up a DMG with two drag targets. The first is Kicad/ which contains > Kicad.app and the rest of the .apps, and the drag target is /Applications. > The second is kicad/ and the drag target is ~/Library/Application Support/. > Inside of kicad/ is libraries, templates, and some config files (I think). > If the second target doesn't work, we may have to have three directories that > you drag to ~/Library/Application Support/kicad/. I think we can make that > clear with a background image on the dmg. > > How does that sound? > > Adam Wolf > > Cofounder and Engineer, > > W&L > > > On Tue, Nov 18, 2014 at 1:12 PM, Adam Wolf <[email protected]> > wrote: > Hi Bernhard, > > Thanks for the reply. I'm definitely not going to stop the Jenkins stuff--I > just have no interest in maintaining a .pkg, because I think it is a worse > user experience. > > When I think of packages, I think of things that can't clean up after > themselves, or crap released by companies that don't know what they're doing > Samsung printer drivers. I definitely trust them much less than something I > install with a DMG. > > I agree that not everyone agrees with me--but this is my reasoning for not > wanting to make a pkg. I don't think users like them, and I definitely don't > like them, so I don't really want to spent hours a week making them better. :) > > I made a bunch of pkgs when I was a full time Linux/Mac sysadmin--you're > right, they're no harder to create. > > Right now the KiCad DMG is 30 megs. I'm willing to concede and include all > of the help files inside, but please note that over 75% of the package size > will be help files. It certainly does matter on the Jenkins server, but I > can throw money at that problem. > > So, here's my proposal. I include all the help inside the bundle, tripling > the size of the packages. > > I set up a DMG with two drag targets. The first is Kicad/ which contains > Kicad.app and the rest of the .apps, and the drag target is /Applications. > The second is kicad/ and the drag target is ~/Library/Application Support/. > Inside of kicad/ is libraries, templates, and some config files (I think). > > How does that sound? > > Adam Wolf > > > On Tue, Nov 18, 2014, 12:45 PM Bernhard Stegmaier <[email protected]> > wrote: > Oh boy, much to read… :) > Be prepared, this will be a long reply. > > First, come on, Adam. You did an awesome job setting up the Jenkins and being > willing to provide automated builds. Please don’t throw that away. It’s just > a technical discussion… > > === Is OSX so different than Linux? === > No, it isn’t. On Linux you have: > (1) Binary folder => /usr/bin > (2) Machine data (for all users) => /usr/share > (3) User data => /home/<user> > (4) User specific configs => /home/<user>/.config/... > On OSX you have the same with different names: > (1) /Applications > (2) /Library/Application Support > (3) /Users/<user> > (4) /Users/<user>/Library/Application Support/… > The only difference is that for (1) in Linux all the app mess is in one > folder, whereas in OSX you have much cleaner for each application its own > folder and OSX hides everything below it. > For Linux, the rules where to put what are made by Debian et.al. and I guess > no one would be happy if you create a /usr/help folder for KiCad help files. > In Linux things would go to (2), just probably like thy could on OSX. > In OSX you additionally can hide mandatory things a user shouldn’t fiddle > around with by putting it into the bundle in (1). > For me, help files are such things… I don’t see any benefit of having them > separate. > > === Where should go what? === > I think that is easy: > (a) Everything that mandatory ships with KiCad and is not intended to be > changed by users => (1) > (b) Everything else common for all users of the machine => (2) > (c) User specific stuff => (3)/(4) > That’s exactly how search paths are configured at the moment (at least > everything that I found and changed and still exists - as I learned pcbnew > doesn’t use search paths at all), just the other way round (c) => (b) => (a). > Normally, in a multi-user environment (a)/(b) will only be writeable by > administrators… > About libraries you could start another discussion… is this user or machine > data? > Well, in a company maybe it’s machine data which users can use but mustn’t > change… you will however find as many reasons that it is user specific data. > > === Why I don’t like the help folder parallel to KiCad applications? === > Well, it’s ugly and it imposes a installation structure that I must not break. > Think of that: > You create a start menu folder “KiCad" in Windows with all the nice icons for > the binaries in it and the help folder directly in there (no link or > something linke that, but physically located in the start menu folder). > I am a naive user and I … > * hate this, because the folder is ugly, I want to have a clean start menu, > and I delete it ... > * drag the KiCad icon to the desktop because I use it every minute… > => help doesn’t work any longer… uh, what bad thing did I do? Where is the > support forum? > Or: > Look at your iOS or Android tablet. > You see many nice icons for apps in there… I don’t want to see folders for > program data in there. > > === Do we need an installer? === > If you want ultimate flexibility and best user experience, yes. > In Linux its nice that almost every distribution has its installer (= package > manager), so there is fortunately nothing to do on KiCad side. > For OSX as well as Windows this is not true. > If you want maximum flexibility you would have to create the usual installer > with some nice check-boxes for maybe each language, libraries, 3d-models, > templates, etc. and the installer would take care of putting everything into > the right spot. > Do we need it now? I guess no. > First, help is IMHO mandatory for a professional package. > I just checked and all pdf’s together are ~10MB. 10 languages? Overall 100MB. > I don’t care… do you? > If you want to “simulate” an installer by drag&drop from a dmg, then probably > yes, you would have to provide one drag&drop path for every option. And I > fully agree with you… too many drag&drop paths will confuse more than it > helps. > > === So, my proposal for now === > Keep things simple and be happy with the first automated and official OSX > binaries. > Put all existing help files into the bundle, so normal OSX user can’t break > anything doing whatever is allowed on OSX with the main kicad.app bundle > (move around, copy, etc.). > Create a dmg with two drag&drop options… one for application, one for > libraries. > > If things really start getting too big, someone may start thinking of how to > create an installer. > I quickly googled a bit and creating an installer with pkgutil doesn’t seem > to be so hard, all the tools needed seem to be provided by Apple. I guess it > will be about the same effort than correctly packaging KiCad for Debian or > any other Linux distribution... > > > Regards, > Bernhard > > > On 18.11.2014, at 17:44, Adam Wolf <[email protected]> wrote: > >> Can we do everything that a normal user needs in two locations, or do we >> need three? >> >> For instance, the applications end up in /Applications or >> /Applications/kicad. The help files and libraries and modules and templates >> and KiCad config files end up in *a* Library/Application\ Support/kicad. >> Should they, by default, for normal users, go to /Library, or ~/Library? >> >> If they all go into one location, I should be able to create a single kicad >> directory with all of those support files that people drag into a symlink to >> the appropriate Application Support. Does this create merging difficulties? >> Do we need to have a help and library and module and template directory >> that people drag into the symlink one-by-one? Do we need to have people >> drag help and library and module and template into /Library/Application >> Support/kicad, and configs into ~/Library/Application\ Support/kicad? >> >> I personally think that dragging two things in a dmg is about the limit >> before the dmg gets silly. >> >> Bernhard? Garth? >> >> Adam Wolf >> >> On Tue, Nov 18, 2014 at 10:32 AM, Adam Wolf <[email protected]> >> wrote: >> Garth, >> >> Sure. I still don't like it, but I don't have any more time to discuss this. >> >> If this ends up mutating into a package installer, I will step back and let >> someone else handle Mac builds. I have absolutely no interest in that. >> >> The help path doesn't look at /Library/Application Support. >> >> Adam Wolf >> Cofounder and Engineer >> W&L >> >> On Tue, Nov 18, 2014 at 10:19 AM, Garth Corral <[email protected]> wrote: >> Comments inline >> >> > On Nov 18, 2014, at 5:15 AM, Adam Wolf <[email protected]> >> > wrote: >> > >> > Well, folks, I guess I can put them inside of kicad.app, but I'm not >> > really sold on it. >> > >> > 0) To reiterate, I'm suggesting including the help in the dmg, but not >> > inside the kicad.app. The installation process would remain like it is >> > today. >> > >> > 1) You already cannot move kicad.app around without moving >> > bitmap2component.app, cvpcb.app, eeschema.app, gerbview.app, >> > pcb_calculator.app, pcbnew.app, and pl_editor.app or they stop working, so >> > I do not think that "you can't just move kicad.app anymore" is valid. >> > Also, help doesn't work today, and I didn't even see a bug filed for that, >> > so it might be important to distinguish "the help shortcut in the menu bar >> > wouldn't work" with "kicad doesn't work." >> > >> Those things at the same level as kicad.app are (or at least should be) >> symlinks. They’re meant as a convenience for folks that want to run them >> without launching kicad.app, but they’re not needed. The actual application >> bundles are inside the kicad.app bundle. If you move kicad.app yes, those >> symlinks stop pointing to the right thing but kicad.app and all associated >> sub-applications will continue to work just fine. You’d just have to create >> new symlinks (or aliases which don’t care if the main bundle is moved). >> >> Bernhard and I discussed some various alternatives to symlinks, but >> ultimately symlinks were the simplest. I was in favor of not including them >> at all as they just add confusion, but others rightly pointed out that there >> are those who still prefer to invoke them separately. For those that don’t, >> though, simply dragging kicad.app into /Applications (without the >> sub-application symlinks) works just fine. >> >> > 2) I don't think it is uncommon to put help files outside of a >> > bundle--then users can delete it easily if they want. I do not want to >> > say "If you want to save space, go inside the bundle and delete the PDFs." >> > >> It’s not uncommon to put things outside the bundle, but you’re proposing >> making a relative path from inside the bundle to outside the bundle, and >> thus imposing an installation structure on people. It is far less common to >> drag a directory full of support files into the /Applications directory than >> to simply drag a bundle in there. That’s what most people expect, and >> that’s the intent; /Applications wasn’t meant as a place for application >> support files, there’s already a place for that, /Library/Application >> Support. If you do wan’t them inside the bundle, that’s accounted for in >> the SharedSupport directory as Bernhard suggested. >> >> https://developer.apple.com/library/ios/documentation/CoreFoundation/Conceptual/CFBundles/AboutBundles/AboutBundles.html >> >> >> > 3) While it might make sense to put one set of PDFs inside the bundle, I >> > want to have a supplementary dmg of "all the help files for all the >> > languages". If I put the help outside of the bundle, I can expect a >> > typical Mac user to change the contents of the help/ directory next to >> > kicad.app, but I do not want to write instructions explaining how to put >> > the help files inside of the bundle. >> > >> As I said, if you’d prefer them not to be there then I suggest a location >> that is already for this purpose, such as /Library/Application >> Support/kicad. Please don’t put them in the /Applications directory >> outside the bundle. >> >> >> > 4) This is a search path, not "the only place to put them". I can >> > certainly add a search path inside the bundle and outside the bundle for >> > anyone else who wants to store their help inside the bundle, but at this >> > point, I think there's a lot of value to keeping help outside the bundle. >> > >> Don’t a lot of the other search paths already look in /Library/Application >> Support? >> >> >> > Adam Wolf >> > Cofounder and Engineer >> > W&L >> >> >> Garth >> >> > >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

