Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » umk static version
Re: umk static version [message #53404 is a reply to message #53402] Wed, 01 April 2020 16:54 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 14266
Registered: November 2005
Ultimate Member
amrein wrote on Wed, 01 April 2020 16:20
mirek wrote on Wed, 01 April 2020 10:26
Quote:

amrein wrote on Wed, 01 April 2020 10:05

I would like to change these defaults here. My current idea, maybe wrong, is that U++ will scan folders from the one where binary is up to root and tries to find ".config" (or .upp, not quite decided yet). Only if it does not find one, it would use ~/.upp/umk or ~/.config/umk.

Alternatively (or additionally), I can imagine that umk can easily run without configuration files...


It's better to use default config folder on Windows, Linux or Mac and have the opportunity to define your own config folder for package sandboxing.


Not sure about Linux/Mac, but after 15 years of trying various things, current approach used in Windows is far the best. That is: everything is stored in the same folder you get after unpacking the archive.

Using default config folder (like ~/.config) has various disadvantages compared to this simplistic approach. E.g. you cannot have two isolated U++ variants at the same time. If you delete U++ folder, you still have remnants in ~/.config. Etc...

So yes, my personal preference for improvement here is to sandbox it.

Now the suggested mechanism is not quite elegant. It is just the first approach that came to my mind to solve the problem in a way to keep things sanboxed while allowing normal ~/.config too (developed application would be normally produced to upp/out, so would pick upp/.config as well; when installed elsewhere, these would default to standard ~/.config).


Let says we do just this. So we will have two user cases:

1. Source package

* We extract and compile theide and umk
* We create our own projects in the same directory (in $HOME/upp-1234/MyApps for example)
* theide uses the current $HOME/upp-1234/uppsrc and $HOME/upp-1234/config/upp/theide directories when it starts from $HOME/upp-1234/
* theide uses spellers from $HOME/upp-1234/config/theide/speller/
* We can checkout upp svn sources there (in $HOME/upp-1234/svn) or elsewhere using theide (if needed)
* theide and umk use $HOME/upp-1234/build.out as shared cache directory

2. Binary package (in /usr or /opt)

* theide and umk are in a read only directory ($bindir)
* We create our own projects somewhere else, in $HOME/upp-src/MyApps for example
* theide checkout upp svn sources in $HOME/upp-src/svn/ and uses it configs from $USER/.config/upp/theide directories
* theide uses spellers from $USER/.config/upp/theide/speller/
* theide and umk use something like $HOME/upp-src/build.out as cache directory (or /var/tmp/upp/build.out/ or /tmp/upp/build.out/)

Is that correct?


Basically yes, with very minor differences: I do not plan to add "-1234" to the package name and spellers will be in $HOME/upp. output will to ~/upp/.cache

Definitely binary package is completely different kind of beast, however I think the proposed solution adapts itself to it quite easily.

Not that things also work nicely if you move theide to e.g. ~/bin - it will start using 'regular' ~/.config and ~/.cache out of box...

BTW, I already have all this working, now trying to put together "demo" release for further discussion.

Mirek
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Support for plug-in architecture
Next Topic: How to determine if U++ is being utilized...
Goto Forum:
  


Current Time: Sat Jul 19 04:30:26 CEST 2025

Total time taken to generate the page: 0.03893 seconds