Finally, after a few days of attempts, I found the solution. It was a bit less 
trickier than it was appearing: no sandboxes nor permissions but ownership of 
my application bundle directory.

According to this post 
https://superuser.com/questions/20420/what-is-the-difference-between-the-default-groups-on-mac-os-x
 
<https://superuser.com/questions/20420/what-is-the-difference-between-the-default-groups-on-mac-os-x>
 I’ve changed the group to ‘admin’ (it was ’staff’) and now upgrade works 
properly. If I’m not wrong, Netbeans IDE and platform based application saves 
and keeps module updates and other metadata files inside its directory 
installation (on macOS it is usually /Applications/NetBeans/NetBeans 
8.2.app/Contents/Resources/NetBeans/) and only ‘admin’ members can write on 
/Applications directory.

At last I added the following ant commands on my build.xml script:

        <!-- adjusts permissions and ownership -->
        <chgrp file="${dist.dir}/${app.title}.app/**" type="both" 
maxparallel="300" group="admin" verbose="yes" />
        <chmod file="${dist.dir}/${app.title}.app/**" type="both" 
maxparallel="300" perm="775" verbose="yes" />
        <chmod type="file" perm="664" verbose="yes">
            <fileset dir="${dist.dir}/${app.title}.app">
                <include name="**/*.plist" />
            </fileset>
        </chmod>

With the correct permissions and ownership of all files and subdirectory my 
application is able to update itself, even when System Integrity Protection is 
enabled.

I shared here my little experience with the Mailing List members hoping someone 
else can find these information useful.

Cheers,

Marco

> Il giorno 1 ago 2019, alle ore 11:59, Marco Rossi <ma...@markreds.it> ha 
> scritto:
> 
> Yes, also the working directory exists.
> 
> As Emilian has mentioned I think it is something related to macOS sandbox or 
> security access. This issue has appear after I bundled the OpenJDK inside the 
> application bundle (before I used Oracle JRE installed onto the system).
> 
> I’ve found this interesting article with some useful information I was 
> ignoring before: http://www.balthisar.com/blog/bundle_the_jre/
> 
>> Il giorno 1 ago 2019, alle ore 10:34, Chris Mackey <cj.mac...@gmail.com> ha 
>> scritto:
>> 
>> Perhaps a stupid question, but I see you've verified that the
>> executable location exists, but have you done the same for the working
>> directory you're telling ProcessBuilder to use? That is,
>> "/Applications/ISNet Cube.app/Contents/Resources/isnet/isnet/modules".
>> 
>> On Wed, 31 Jul 2019 at 21:49, Marco Rossi <ma...@markreds.it> wrote:
>>> 
>>> 
>>> Can you open an arbitrary command window and just try to run the command 
>>> "/Applications/ISNet 
>>> Cube.app/Contents/PlugIns/jdk8u212-b04-jre/Contents/Home/bin/unpack200"?
>>> 
>>> It should output some usage help…
>>> 
>>> 
>>> Yes Joseph, I can see the usage help message:
>>> mark@MacBookPro:~$ /Applications/ISNet\ 
>>> Cube.app/Contents/PlugIns/jdk8u212-b04-jre/Contents/Home/bin/unpack200
>>> Usage:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar
>>> (For more information, run unpack200 --help .)
>>> 
>>> Assuming the paths do exist and the file is executable, are you sure
>>> you are not running in some new fancy macOS sandbox that is
>>> disallowing you to execute external binaries?
>>> 
>>> 
>>> Mmmmm, I’m suspecting something similar as Emilian suggested. Damn! :-/
>>> I’ll take a closer look.
>>> 
>>> Thank you guys.
>>> 
>>> Marco
>>> 
>>> 
>>> -----Original Message-----
>>> From: Marco Rossi <ma...@markreds.it>
>>> Sent: Wednesday, July 31, 2019 3:24 PM
>>> To: List NetBeans Mailing <users@netbeans.apache.org>
>>> Subject: Re: Updates don't be applied
>>> 
>>> Hi to all,
>>> after further investigations I found the following error occurs:
>>> 
>>> java.io.IOException: error=2, No such file or directory
>>> at java.lang.UNIXProcess.forkAndExec(Native Method)
>>> at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
>>> at java.lang.ProcessImpl.start(ProcessImpl.java:134)
>>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
>>> Caused: java.io.IOException: Cannot run program "/Applications/ISNet 
>>> Cube.app/Contents/PlugIns/jdk8u212-b04-jre/Contents/Home/bin/unpack200" (in 
>>> directory "/Applications/ISNet 
>>> Cube.app/Contents/Resources/isnet/isnet/modules"): error=2, No such file or 
>>> directory
>>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
>>> [catch] at 
>>> org.netbeans.updater.ModuleUpdater.unpack200(ModuleUpdater.java:592)
>>> at org.netbeans.updater.ModuleUpdater.unpack(ModuleUpdater.java:490)
>>> at org.netbeans.updater.ModuleUpdater.run(ModuleUpdater.java:142)
>>> 
>>> I’ve verified that there is the executable unpack200 in 
>>> ../Contents/Home/bin with the right permissions. Maybe is it something 
>>> related to OpenJDK instead of NetBeans?
>>> 
>>> Il giorno 30 lug 2019, alle ore 09:04, Marco Rossi <ma...@markreds.it> ha 
>>> scritto:
>>> 
>>> Hi everybody,
>>> 
>>> I built my RCP application over platform version 8.2 and create a macOS 
>>> bundle with JVM 1.8.0_212 OpenJDK 64-Bit Server VM 25.212-b04 that run on 
>>> my 10.14.6 system.
>>> 
>>> Now I discovered that my application is unable to apply updates from my 
>>> custom update center: it download it and asks to restart as usual; updates 
>>> are then (apparently) installed and then application starts itself again, 
>>> but it proposes the same updates!
>>> 
>>> Where are they installed the updates of an RCP application? I’ve already 
>>> tried to remove the cache folder in my ~/Library/Application Support/ and 
>>> also already checked permission of my /Applications/AppName.app.
>>> 
>>> Can someone give me a hand to understand what’s wrong?
>>> 
>>> Thank you.
>>> 
>>> Marco Rossi
>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
>>> For additional commands, e-mail: users-h...@netbeans.apache.org
>>> 
>>> For further information about the NetBeans mailing lists, visit:
>>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
>>> For additional commands, e-mail: users-h...@netbeans.apache.org
>>> 
>>> For further information about the NetBeans mailing lists, visit:
>>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
>> For additional commands, e-mail: users-h...@netbeans.apache.org
>> 
>> For further information about the NetBeans mailing lists, visit:
>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
> For additional commands, e-mail: users-h...@netbeans.apache.org
> 
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> 

Reply via email to