netbeans-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marco Rossi <ma...@markreds.it>
Subject Re: Updates don't be applied
Date Tue, 27 Aug 2019 14:25:31 GMT
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 <marco@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.mackey@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 <marco@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 <marco@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 <marco@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-unsubscribe@netbeans.apache.org
>>> For additional commands, e-mail: users-help@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-unsubscribe@netbeans.apache.org
>>> For additional commands, e-mail: users-help@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-unsubscribe@netbeans.apache.org
>> For additional commands, e-mail: users-help@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-unsubscribe@netbeans.apache.org
> For additional commands, e-mail: users-help@netbeans.apache.org
> 
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> 


Mime
View raw message