Fix more path issues for deb linux installer

This commit is contained in:
Ben Gotow
2017-08-11 00:16:11 -07:00
parent ba32b73876
commit 68d654f677
5 changed files with 53 additions and 53 deletions

View File

@@ -3,11 +3,11 @@
* NOTE: Due to path issues, this script must be run outside of grunt
* directly from a powershell command.
*/
const path = require('path')
const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller
const path = require('path');
const {createWindowsInstaller} = require('electron-winstaller');
const appDir = path.join(__dirname, "..");
const version = require(path.join(appDir, 'package.json')).version;
const {version} = require(path.join(appDir, 'package.json'));
const config = {
usePackageJson: false,

View File

@@ -2,8 +2,8 @@
Name=<%= productName %>
Comment=<%= description %>
GenericName=<%= productName %>
Exec=/usr/bin/nylas-mail %U
Icon=nylas-mail
Exec=/usr/bin/merani %U
Icon=merani
Type=Application
StartupNotify=true
StartupWMClass=<%= productName %>

View File

@@ -0,0 +1,40 @@
Name: <%= name %>
Version: <%= version %>
Release: 0.1%{?dist}
Summary: <%= description %>
License: GPLv3
URL: https://github.com/Foundry376/Merani
AutoReqProv: no # Avoid libchromiumcontent.so missing dependency
requires: libgnome-keyring
%description
<%= description %>
%install
mkdir -p %{buildroot}/usr/share/merani
cp -r <%= contentsDir %>/* %{buildroot}/usr/share/merani
mkdir -p %{buildroot}/usr/bin/
ln -s ../share/merani/merani %{buildroot}/usr/bin/merani
chmod 755 %{buildroot}/usr/bin/merani
mkdir -p %{buildroot}/usr/share/applications/
mv merani.desktop %{buildroot}/usr/share/applications/
for s in 16 32 64 128 256 512; do
mkdir -p %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps
cp -p <%= linuxAssetsDir %>/icons/${s}.png %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps/merani.png
done
%files
/usr/bin/merani
/usr/share/merani
/usr/share/applications/merani.desktop
/usr/share/icons/hicolor/16x16/apps/merani.png
/usr/share/icons/hicolor/32x32/apps/merani.png
/usr/share/icons/hicolor/64x64/apps/merani.png
/usr/share/icons/hicolor/128x128/apps/merani.png
/usr/share/icons/hicolor/256x256/apps/merani.png
/usr/share/icons/hicolor/512x512/apps/merani.png

View File

@@ -1,40 +0,0 @@
Name: <%= name %>
Version: <%= version %>
Release: 0.1%{?dist}
Summary: <%= description %>
License: GPLv3
URL: https://github.com/nylas/nylas-mail
AutoReqProv: no # Avoid libchromiumcontent.so missing dependency
requires: libgnome-keyring
%description
<%= description %>
%install
mkdir -p %{buildroot}/usr/share/nylas-mail
cp -r <%= contentsDir %>/* %{buildroot}/usr/share/nylas-mail
mkdir -p %{buildroot}/usr/bin/
ln -s ../share/nylas-mail/nylas %{buildroot}/usr/bin/nylas-mail
chmod 755 %{buildroot}/usr/bin/nylas-mail
mkdir -p %{buildroot}/usr/share/applications/
mv nylas-mail.desktop %{buildroot}/usr/share/applications/
for s in 16 32 64 128 256 512; do
mkdir -p %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps
cp -p <%= linuxAssetsDir %>/icons/${s}.png %{buildroot}/usr/share/icons/hicolor/${s}x${s}/apps/nylas-mail.png
done
%files
/usr/bin/nylas-mail
/usr/share/nylas-mail
/usr/share/applications/nylas-mail.desktop
/usr/share/icons/hicolor/16x16/apps/nylas-mail.png
/usr/share/icons/hicolor/32x32/apps/nylas-mail.png
/usr/share/icons/hicolor/64x64/apps/nylas-mail.png
/usr/share/icons/hicolor/128x128/apps/nylas-mail.png
/usr/share/icons/hicolor/256x256/apps/nylas-mail.png
/usr/share/icons/hicolor/512x512/apps/nylas-mail.png

View File

@@ -49,17 +49,17 @@ module.exports = (grunt) => {
version: grunt.config('appJSON').version,
description: grunt.config('appJSON').description,
productName: grunt.config('appJSON').productName,
linuxShareDir: '/usr/local/share/nylas',
linuxShareDir: '/usr/local/share/merani',
linuxAssetsDir: linuxAssetsDir,
contentsDir: contentsDir,
}
// This populates nylas.spec
const specInFilePath = path.join(linuxAssetsDir, 'redhat', 'nylas.spec.in')
// This populates merani.spec
const specInFilePath = path.join(linuxAssetsDir, 'redhat', 'merani.spec.in')
writeFromTemplate(specInFilePath, templateData)
// This populates nylas.desktop
const desktopInFilePath = path.join(linuxAssetsDir, 'nylas-mail.desktop.in')
// This populates merani.desktop
const desktopInFilePath = path.join(linuxAssetsDir, 'merani.desktop.in')
writeFromTemplate(desktopInFilePath, templateData)
const cmd = path.join(grunt.config('appDir'), 'script', 'mkrpm')
@@ -92,14 +92,14 @@ module.exports = (grunt) => {
name: grunt.config('appJSON').name,
description: grunt.config('appJSON').description,
productName: grunt.config('appJSON').productName,
linuxShareDir: '/usr/share/nylas-mail',
linuxShareDir: '/usr/share/merani',
arch: arch,
section: 'devel',
maintainer: 'Nylas Team <support@nylas.com>',
installedSize: installedSize,
}
writeFromTemplate(path.join(linuxAssetsDir, 'debian', 'control.in'), data)
writeFromTemplate(path.join(linuxAssetsDir, 'nylas-mail.desktop.in'), data)
writeFromTemplate(path.join(linuxAssetsDir, 'merani.desktop.in'), data)
const icon = path.join(grunt.config('appDir'), 'build', 'resources', 'nylas.png')
const cmd = path.join(grunt.config('appDir'), 'script', 'mkdeb');
@@ -108,7 +108,7 @@ module.exports = (grunt) => {
if (spawnError) {
return done(spawnError);
}
grunt.log.ok(`Created ${outputDir}/nylas-${version}-${arch}.deb`);
grunt.log.ok(`Created ${outputDir}/merani-${version}-${arch}.deb`);
return done()
});
});