Skip to content

Commit 5de05f4

Browse files
committed
U fix install mime.xml
1 parent ad81d81 commit 5de05f4

File tree

2 files changed

+37
-4
lines changed

2 files changed

+37
-4
lines changed

src/main/java/io/github/fvarrui/javapackager/packagers/GenerateDeb.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
6363
String jreDirectoryName = packager.getJreDirectoryName();
6464
File executable = packager.getExecutable();
6565
File javaFile = new File(appFolder, jreDirectoryName + "/bin/java");
66+
File mimeXmlFile = packager.getMimeXmlFile();
6667

6768
// generates desktop file from velocity template
6869
File desktopFile = new File(assetsFolder, name + ".desktop");
@@ -124,6 +125,24 @@ protected File doApply(LinuxPackager packager) throws Exception {
124125

125126
dataProducers.add(desktopFileData);
126127

128+
129+
// mime.xml file data producer
130+
131+
if (mimeXmlFile != null) {
132+
133+
Mapper mimeXmlFileMapper = new Mapper();
134+
desktopFileMapper.setType("perm");
135+
desktopFileMapper.setPrefix("/usr/share/mime/packages");
136+
137+
Data mimeXmlFileData = new Data();
138+
desktopFileData.setType("file");
139+
desktopFileData.setSrc(mimeXmlFile);
140+
desktopFileData.addMapper(mimeXmlFileMapper);
141+
142+
dataProducers.add(mimeXmlFileData);
143+
144+
}
145+
127146
// java binary file data producer
128147

129148
if (bundleJre) {
@@ -141,18 +160,22 @@ protected File doApply(LinuxPackager packager) throws Exception {
141160
dataProducers.add(javaBinaryData);
142161

143162
// set correct permissions on jre/lib/jspawnhelper
144-
Mapper javaSpawnHelperMapper = new Mapper();
145-
javaSpawnHelperMapper.setType("perm");
146-
javaSpawnHelperMapper.setFileMode("755");
147-
javaSpawnHelperMapper.setPrefix("/opt/" + name + "/" + jreDirectoryName + "/lib");
148163

149164
File jSpawnHelperFile = new File(appFolder, jreDirectoryName + "/lib/jspawnhelper");
165+
150166
if (jSpawnHelperFile.exists()) {
167+
168+
Mapper javaSpawnHelperMapper = new Mapper();
169+
javaSpawnHelperMapper.setType("perm");
170+
javaSpawnHelperMapper.setFileMode("755");
171+
javaSpawnHelperMapper.setPrefix("/opt/" + name + "/" + jreDirectoryName + "/lib");
172+
151173
Data javaSpawnHelperData = new Data();
152174
javaSpawnHelperData.setType("file");
153175
javaSpawnHelperData.setSrc(jSpawnHelperFile);
154176
javaSpawnHelperData.addMapper(javaSpawnHelperMapper);
155177
dataProducers.add(javaSpawnHelperData);
178+
156179
}
157180

158181
}

src/main/java/io/github/fvarrui/javapackager/packagers/GenerateRpm.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
4343
File assetsFolder = packager.getAssetsFolder();
4444
String jreDirectoryName = packager.getJreDirectoryName();
4545
Architecture arch = Architecture.valueOf(packager.getArch().getRpm());
46+
File mimeXmlFile = packager.getMimeXmlFile();
4647

4748
// generates desktop file from velocity template
4849
File desktopFile = new File(assetsFolder, name + ".desktop");
@@ -52,6 +53,7 @@ protected File doApply(LinuxPackager packager) throws Exception {
5253
// copies desktop file to app
5354
FileUtils.copyFileToFolder(desktopFile, appFolder);
5455

56+
// creates RPM builder
5557
Builder builder = new Builder();
5658
builder.setType(RpmType.BINARY);
5759
builder.setPlatform(arch, Os.LINUX);
@@ -72,11 +74,19 @@ protected File doApply(LinuxPackager packager) throws Exception {
7274
// link to desktop file
7375
builder.addLink("/usr/share/applications/" + desktopFile.getName(), "/opt/" + name + "/" + desktopFile.getName());
7476

77+
// copy and link to mime.xml file
78+
if (mimeXmlFile != null) {
79+
FileUtils.copyFileToFolder(mimeXmlFile, appFolder);
80+
builder.addLink("/usr/share/mime/packages/" + mimeXmlFile.getName(), "/opt/" + name + "/" + mimeXmlFile.getName());
81+
}
82+
7583
// link to binary
7684
builder.addLink("/usr/local/bin/" + executable.getName(), "/opt/" + name + "/" + executable.getName());
7785

86+
// build RPM file
7887
builder.build(outputDirectory);
7988

89+
// renames genewrated RPM file if created
8090
String suffix = "-1." + arch.name().toLowerCase() + ".rpm";
8191
File originalRpm = new File(outputDirectory, name + "-" + version + suffix);
8292
File rpm = null;

0 commit comments

Comments
 (0)