@@ -64,6 +64,8 @@ protected File doApply(LinuxPackager packager) throws Exception {
6464 File executable = packager .getExecutable ();
6565 File javaFile = new File (appFolder , jreDirectoryName + "/bin/java" );
6666 File mimeXmlFile = packager .getMimeXmlFile ();
67+ File installationPath = packager .getLinuxConfig ().getInstallationPath ();
68+ File appPath = new File (installationPath , name );
6769
6870 // generates desktop file from velocity template
6971 File desktopFile = new File (assetsFolder , name + ".desktop" );
@@ -87,7 +89,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
8789
8890 Mapper appFolderMapper = new Mapper ();
8991 appFolderMapper .setType ("perm" );
90- appFolderMapper .setPrefix ("/opt/" + name );
92+ appFolderMapper .setPrefix (appPath . getAbsolutePath () );
9193 appFolderMapper .setFileMode ("644" );
9294
9395 Data appFolderData = new Data ();
@@ -102,12 +104,12 @@ protected File doApply(LinuxPackager packager) throws Exception {
102104
103105 Mapper executableMapper = new Mapper ();
104106 executableMapper .setType ("perm" );
105- executableMapper .setPrefix ("/opt/" + name );
107+ executableMapper .setPrefix (appPath . getAbsolutePath () );
106108 executableMapper .setFileMode ("755" );
107109
108110 Data executableData = new Data ();
109111 executableData .setType ("file" );
110- executableData .setSrc (new File ( appFolder . getAbsolutePath () + "/" + name ) );
112+ executableData .setSrc (executable );
111113 executableData .addMapper (executableMapper );
112114
113115 dataProducers .add (executableData );
@@ -150,7 +152,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
150152 Mapper javaBinaryMapper = new Mapper ();
151153 javaBinaryMapper .setType ("perm" );
152154 javaBinaryMapper .setFileMode ("755" );
153- javaBinaryMapper .setPrefix ("/opt/" + name + "/" + jreDirectoryName + "/bin" );
155+ javaBinaryMapper .setPrefix (appPath + "/" + jreDirectoryName + "/bin" );
154156
155157 Data javaBinaryData = new Data ();
156158 javaBinaryData .setType ("file" );
@@ -168,7 +170,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
168170 Mapper javaSpawnHelperMapper = new Mapper ();
169171 javaSpawnHelperMapper .setType ("perm" );
170172 javaSpawnHelperMapper .setFileMode ("755" );
171- javaSpawnHelperMapper .setPrefix ("/opt/" + name + "/" + jreDirectoryName + "/lib" );
173+ javaSpawnHelperMapper .setPrefix (appPath + "/" + jreDirectoryName + "/lib" );
172174
173175 Data javaSpawnHelperData = new Data ();
174176 javaSpawnHelperData .setType ("file" );
@@ -182,7 +184,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
182184
183185 // symbolic link in /usr/local/bin to app binary data producer
184186
185- DataProducer linkData = createLink ("/usr/local/bin/" + name , "/opt/" + name + "/" + name );
187+ DataProducer linkData = createLink ("/usr/local/bin/" + executable . getName (), appPath + "/" + executable . getName () );
186188
187189 dataProducers .add (linkData );
188190
0 commit comments