mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-20 23:36:21 +08:00
Merge branch 'debian-autoupdate'
This commit is contained in:
commit
85f6403451
|
@ -9,7 +9,7 @@ os = require 'os'
|
|||
# headers.
|
||||
#
|
||||
# Some useful grunt options are:
|
||||
# --instal-dir
|
||||
# --install-dir
|
||||
# --build-dir
|
||||
#
|
||||
# To keep the various directories straight, here are what the various
|
||||
|
|
|
@ -8,4 +8,4 @@ Architecture: <%= arch %>
|
|||
Installed-Size: <%= installedSize %>
|
||||
Maintainer: <%= maintainer %>
|
||||
Description: <%= description %>
|
||||
Nylas is an email OS
|
||||
Nylas N1 is an extensible, open source mail client built on the modern web.
|
||||
|
|
161
build/resources/linux/debian/postinst
Executable file
161
build/resources/linux/debian/postinst
Executable file
|
@ -0,0 +1,161 @@
|
|||
#!/bin/sh
|
||||
# postinst script for Nylas
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
UBUNTU_CODENAMES="lucid maverick natty oneiric precise quantal raring saucy trusty utopic vivid"
|
||||
DEBIAN_CODENAMES="squeeze wheezy jessie sid"
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
gtk-update-icon-cache /usr/share/icons/hicolor > /dev/null 2>&1
|
||||
|
||||
DISTRO=`lsb_release -s -i`
|
||||
|
||||
if [ "$DISTRO" = "Ubuntu" ]; then
|
||||
DISTS=$UBUNTU_CODENAMES
|
||||
DISTRO="ubuntu"
|
||||
elif [ "$DISTRO" = "Debian" ]; then
|
||||
DISTS=$DEBIAN_CODENAMES
|
||||
DISTRO="debian"
|
||||
else
|
||||
echo "You are not running Debian or Ubuntu. Not adding Nylas repository."
|
||||
DISTRO=""
|
||||
fi
|
||||
|
||||
if [ -n "$DISTRO" ]; then
|
||||
# Add the Nylas repository.
|
||||
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license.
|
||||
|
||||
# Install the repository signing key
|
||||
install_key() {
|
||||
APT_KEY="`which apt-key 2> /dev/null`"
|
||||
if [ -x "$APT_KEY" ]; then
|
||||
"$APT_KEY" add - >/dev/null 2>&1 <<KEYDATA
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
mQSuBFX0SVwRDACLnMu8V6T6fyp5n5x/ZpOUuI1AEWkPfRUzF/lVdo2P7llJw1xG
|
||||
iovmCwI8KdvRmjtrDG7BxnwHgZfEdYOWx80SunTLQL/MBx3pfqN74WzCFjuI6GRU
|
||||
xbyM7PbwsHkefMtcHNfX74SLMdxq3gGgWlds2UOBuWlB2arz8x7WhnvwcWwtYeuo
|
||||
+P/suo69vWRsP4vm/8XPi07NU9s0Kny/bpB2CF8lMlwg/C2NiFyzMW236WH6obJ9
|
||||
ACkcrPpxfgjPuhppTQuMUp0wB++nIZdzzAGQpiqGgPq7vCSnXrSR/pFZYWWPdq5C
|
||||
64cmHLO1LaO18+41ogL1zAkPadf+T6i6APq3M6jWsOmEME1bnjoQjhvR2xt7st1R
|
||||
IyRWK7Yj/9EeMtTbsTOHwR2qcQknRlNgiCny3hRiNP8Dy3AlaZqiwfYAgX5/cfUr
|
||||
wtbJzv1tFfIBFXOzFBl2zsHLkCm/FGoeWxZDe1S3YzgSsJlNxSJRmrUPRHTItDIb
|
||||
/03MvSm6gp2J9t8BALaFZEOHCYNqoxXHGIsfwjnrnQqRG59jlx+dgk+JALZnC/92
|
||||
zkt2i5BRxF3HkyAqA1L+M8daomESQvEjHMtGSQrGK6B/VzYQYVigyn91c41E2ijh
|
||||
0cvzDj2m0jgmI1CwsC3B9FR3IPAZwip9PC65yU8Z95VnmcPEbOLJ4CLPPXV/8x+I
|
||||
vEyqp9ePRVyfz1x2dlBWCq+sIjVqiMPMNT49+mfAdOBwikt+F9z+F+3ao1XfX2z3
|
||||
isXpAlgr2eNty9EuPx3uYocs6vTlAvrzgqbdVgkPlr4hATdVteMU3Y+I9zlJTIFt
|
||||
SqGLROF4mu+j9Pr3HG0j0eCPbj/5b+Wsmw9mNjE7o8y3Og66O8kn4o/FnJ7gT21d
|
||||
fljg+Js4p9i3qsPxaLfHSJc7g5URBBYDQ/P/QOcIc5P/hnGC/dOpFC3+o47FTc2e
|
||||
8/OUw5UNuPJ3oDZW8rPNlWT4EehP+1QuXhd4I59Xbm3OCAFDMPrX/uWNB8s2kFkn
|
||||
6CuzqOWOmNimukKqy6gnrRvMzHV1afQDDL77qOA79hEDW715gkZ4QPO5yjNdKUAL
|
||||
/3RkuNaCxmYa7Ny+nU6xQvbQM/Kp/RpNTNgy31LyvpRQY4mskEmIJcuxc6CXmpPI
|
||||
psdbHTMzK0qByfRFtkAVD4p+AuWuEc+SMWx5lHy62TObPpGtgkjPCy4u0K2ntx7w
|
||||
vaM9x33q+aLC/GKRADQSbtKVbBO5ei/OnQv0Bo4QkBHNVz92P5jlhLiwh3VDWkc+
|
||||
vvFeXI2UxvDpQ4AVrM0QWmyIWRjLjWrP5aoIo9Q3druTgsWIE+hsWWKUda2ajhh+
|
||||
6Jg2HYSzvMxB3W1sMl+ezrksKSr9ziFUGOObxnPBVM7AI2qa0zqkLF6WyUGY4SEZ
|
||||
GFL7jsahos27wLcz5bVMM12Y7k2YIlmzxK9TY2sfn4Z43uvwB9/rUbOGdRm5G24I
|
||||
XGicrvcnB0oFtvlmgRkPt3prEWEwRIIGWrU1K8OL52dSovUoD5rkmBCeQ7WITQbT
|
||||
tmyBiNmoD16Eo1p77NDSgNjvJS1BjLuo7co4mIqZmsK0xJuWNh4WaJ9AFaxAqeep
|
||||
DLQeTnlsYXMgVGVhbSA8c3VwcG9ydEBueWxhcy5jb20+iHcEExEIAB8FAlX0SVwC
|
||||
GwMFCwkIBwMFFQoJCAsDFgIDAh4BAheAAAoJEDj8bpZ9Cs9KTNkA/jsks9Q89PaS
|
||||
dZVWAsu8QAqbMQQkrk4QFr0Aha5P0vRfAP43CgplwMIQkdDxf02Etuj8JYdzRGdm
|
||||
MKFYFOTibEgbfw==
|
||||
=3EXM
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
KEYDATA
|
||||
fi
|
||||
}
|
||||
|
||||
DISTRIB_CODENAME=`lsb_release -s -c`
|
||||
|
||||
for DIST in $DISTS; do
|
||||
REPO=$DIST
|
||||
if [ "$DIST" = "$DISTRIB_CODENAME" ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
REPOCONFIG="deb [arch=i386,amd64] http://apt.nylas.com/$DISTRO $REPO main"
|
||||
|
||||
APT_GET="`which apt-get 2> /dev/null`"
|
||||
APT_CONFIG="`which apt-config 2> /dev/null`"
|
||||
|
||||
# Parse apt configuration and return requested variable value.
|
||||
apt_config_val() {
|
||||
APTVAR="$1"
|
||||
if [ -x "$APT_CONFIG" ]; then
|
||||
"$APT_CONFIG" dump | sed -e "/^$APTVAR /"'!d' -e "s/^$APTVAR \"\(.*\)\".*/\1/"
|
||||
fi
|
||||
}
|
||||
|
||||
# Set variables for the locations of the apt sources lists.
|
||||
find_apt_sources() {
|
||||
APTDIR=$(apt_config_val Dir)
|
||||
APTETC=$(apt_config_val 'Dir::Etc')
|
||||
APT_SOURCES="$APTDIR$APTETC$(apt_config_val 'Dir::Etc::sourcelist')"
|
||||
APT_SOURCESDIR="$APTDIR$APTETC$(apt_config_val 'Dir::Etc::sourceparts')"
|
||||
}
|
||||
|
||||
# Add the Nylas repository to the apt sources.
|
||||
# Returns:
|
||||
# 0 - no update necessary
|
||||
# 1 - sources were updated
|
||||
# 2 - error
|
||||
update_sources_lists() {
|
||||
if [ ! "$REPOCONFIG" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
find_apt_sources
|
||||
|
||||
if [ -d "$APT_SOURCESDIR" ]; then
|
||||
# Nothing to do if it's already there.
|
||||
SOURCELIST=$(grep -H "$REPOCONFIG" "$APT_SOURCESDIR/nylas.list" \
|
||||
2>/dev/null | cut -d ':' -f 1)
|
||||
if [ -n "$SOURCELIST" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
printf "$REPOCONFIG\n" > "$APT_SOURCESDIR/nylas.list"
|
||||
if [ $? -eq 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
return 2
|
||||
}
|
||||
|
||||
install_key
|
||||
update_sources_lists
|
||||
|
||||
fi
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument '$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
set -e
|
||||
|
||||
exit 0
|
58
build/resources/linux/debian/postrm
Executable file
58
build/resources/linux/debian/postrm
Executable file
|
@ -0,0 +1,58 @@
|
|||
#!/bin/sh
|
||||
# Remove the Nylas repository.
|
||||
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license.
|
||||
|
||||
set -e
|
||||
action="$1"
|
||||
|
||||
# Only do complete clean-up on purge.
|
||||
if [ "$action" != "purge" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
APT_GET="`which apt-get 2> /dev/null`"
|
||||
APT_CONFIG="`which apt-config 2> /dev/null`"
|
||||
|
||||
# Parse apt configuration and return requested variable value.
|
||||
apt_config_val() {
|
||||
APTVAR="$1"
|
||||
if [ -x "$APT_CONFIG" ]; then
|
||||
"$APT_CONFIG" dump | sed -e "/^$APTVAR /"'!d' -e "s/^$APTVAR \"\(.*\)\".*/\1/"
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall_key() {
|
||||
APT_KEY="`which apt-key 2> /dev/null`"
|
||||
if [ -x "$APT_KEY" ]; then
|
||||
# don't fail if the key wasn't found
|
||||
"$APT_KEY" rm 7D0ACF4A >/dev/null 2>&1 || true
|
||||
fi
|
||||
}
|
||||
|
||||
# Set variables for the locations of the apt sources lists.
|
||||
find_apt_sources() {
|
||||
APTDIR=$(apt_config_val Dir)
|
||||
APTETC=$(apt_config_val 'Dir::Etc')
|
||||
APT_SOURCES="$APTDIR$APTETC$(apt_config_val 'Dir::Etc::sourcelist')"
|
||||
APT_SOURCESDIR="$APTDIR$APTETC$(apt_config_val 'Dir::Etc::sourceparts')"
|
||||
}
|
||||
|
||||
# Remove a repository from the apt sources.
|
||||
# Returns:
|
||||
# 0 - successfully removed, or not configured
|
||||
# 1 - failed to remove
|
||||
clean_sources_lists() {
|
||||
find_apt_sources
|
||||
|
||||
if [ -d "$APT_SOURCESDIR" ]; then
|
||||
rm -f "$APT_SOURCESDIR/nylas.list"
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
uninstall_key
|
||||
clean_sources_lists
|
||||
|
||||
exit 0
|
|
@ -33,7 +33,7 @@ module.exports = (grunt) ->
|
|||
|
||||
{name, version, description} = grunt.file.readJSON('package.json')
|
||||
section = 'devel'
|
||||
maintainer = 'Nylas <edgehill@nylas.com>'
|
||||
maintainer = 'Nylas Team <support@nylas.com>'
|
||||
installDir = '/usr'
|
||||
iconName = 'nylas'
|
||||
getInstalledSize buildDir, (error, installedSize) ->
|
||||
|
@ -41,9 +41,11 @@ module.exports = (grunt) ->
|
|||
controlFilePath = fillTemplate(path.join('build', 'resources', 'linux', 'debian', 'control'), data)
|
||||
desktopFilePath = fillTemplate(path.join('build', 'resources', 'linux', 'nylas.desktop'), data)
|
||||
icon = path.join('build', 'resources', 'nylas.png')
|
||||
postinstFilePath = path.join('build', 'resources', 'linux', 'debian', 'postinst')
|
||||
postrmFilePath = path.join('build', 'resources', 'linux', 'debian', 'postrm')
|
||||
|
||||
cmd = path.join('script', 'mkdeb')
|
||||
args = [version, arch, controlFilePath, desktopFilePath, icon, buildDir]
|
||||
args = [version, arch, controlFilePath, desktopFilePath, icon, postinstFilePath, postrmFilePath, buildDir]
|
||||
spawn {cmd, args}, (error) ->
|
||||
if error?
|
||||
done(error)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"name": "nylas",
|
||||
"productName": "Nylas",
|
||||
"productName": "Nylas N1",
|
||||
"version": "0.3.13",
|
||||
"description": "An email OS",
|
||||
"description": "An extensible, open-source mail client built on the modern web.",
|
||||
"main": "./src/browser/main.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash
|
||||
# mkdeb version control-file-path deb-file-path
|
||||
# mkdeb version arch control-file-path desktop-file-path icon-file-path sources-file-path deb-file-path
|
||||
|
||||
set -e
|
||||
|
||||
|
@ -12,7 +12,9 @@ ARCH="$2"
|
|||
CONTROL_FILE="$3"
|
||||
DESKTOP_FILE="$4"
|
||||
ICON_FILE="$5"
|
||||
DEB_PATH="$6"
|
||||
POSTINST_FILE="$6"
|
||||
POSTRM_FILE="$7"
|
||||
DEB_PATH="$8"
|
||||
FILE_MODE=755
|
||||
|
||||
TARGET_ROOT="`mktemp -d`"
|
||||
|
@ -25,6 +27,9 @@ env INSTALL_PREFIX="$TARGET/usr" script/grunt install
|
|||
mkdir -m $FILE_MODE -p "$TARGET/DEBIAN"
|
||||
cp "$CONTROL_FILE" "$TARGET/DEBIAN/control"
|
||||
|
||||
cp "$POSTINST_FILE" "$TARGET/DEBIAN/postinst"
|
||||
cp "$POSTRM_FILE" "$TARGET/DEBIAN/postrm"
|
||||
|
||||
mkdir -m $FILE_MODE -p "$TARGET/usr/share/applications"
|
||||
cp "$DESKTOP_FILE" "$TARGET/usr/share/applications"
|
||||
|
||||
|
|
Loading…
Reference in a new issue