Commit Graph

69 Commits

Author SHA1 Message Date
Janek Bevendorff
2e6c22d44d Prepare release-tool for Apple Silicon builds
Changes:

- Set correct target architecture when building on ARM64.
- Split signing and notarization into separate commands. This eases the
  workflow when notarization fails because changes to Apple's ToS have
  not yet been accepted on iTunes Connect.
- Sign all binaries and frameworks individually instead of using --deep.
  This is the correct way of signing apps and it avoids weird problems
  during signature verification.
- Fix signing of AppDirs, which was supposed to work, but never did.
2021-01-30 14:28:48 -05:00
Jonathan White
44f2d3a3c2
Remove old translation files before pull 2020-07-06 19:20:06 -04:00
Janek Bevendorff
c68f4872fa Embed version information in AppImage desktop file.
Fixes #4645
2020-06-10 15:02:13 +02:00
Jonathan White
b7104be689 Prevent overwriting of portable config on update
* Move portable configuration files into a config subfolder from the executable. This prevents overwriting the stored config when the application is updated in-place.
* Use .portable file to signal a portable app
* Fix #4751
2020-06-04 10:03:40 -04:00
Janek Bevendorff
d189f9132e
Merge branch 'master' into develop 2020-04-09 18:27:40 +02:00
Jonathan White
a362c08613 Use SHA256 Digest for Code Signing on Windows 2020-04-09 18:15:27 +02:00
Janek Bevendorff
e9754efbbe Fix macOS 10.15.4 codesigning crash.
The recent macOS security patch renders our codesigning
"fix" of setting the sandbox entitlement to false twice
unusable. This patch adds a full provisioning profile
and adjusts the signing procedure to not include
entitlements for Qt frameworks.

The patch also changes the app and bundle ID, so granted
accessibility privileges have to be granted again after
installing the update.

Fixes #4398
Fixes #4515
2020-04-09 16:22:42 +02:00
Janek Bevendorff
b6ff613189 Exit with error code if AppImage creation fails midair 2020-01-21 00:18:41 +01:00
Jonathan White
edea88b535 Use SHA256 Digest for Code Signing on Windows 2020-01-09 14:20:46 +01:00
Jonathan White
0454f4ea4c Correct finding snapcraft.yaml in release-tool 2019-11-11 11:44:12 -05:00
Janek Bevendorff
7659bbb711
Fix release-tool on macOS and add notarization. (#3827) 2019-11-10 00:08:20 +01:00
Thomas McWork
9683b7b7a1 Convert CHANGELOG to Markdown Format (#3512) 2019-09-08 13:30:51 +02:00
TheAssassin
0c2d1bcc50 Embed version information in AppImage 2019-06-18 08:24:30 -04:00
Jonathan White
8bc94874a1 Enhance release-tool handling of app signing
* Introduce .gitrev file to tarball generation
* Correct labeling of builds based on supplied parameters to CMake
* Convert supplied key file path to absolute when building under MSYS
* Support OVERRIDE_VERSION to build properly version numbered snapshots
* Do not build tests for any build
2019-04-10 16:12:33 -04:00
Jonathan White
e909d1b594
Correct invalid conditional check in release-tool 2019-03-19 22:25:36 -04:00
Jonathan White
ce5cf3573a
Update release-tool
* Use signtool instead of osslsigncode
* Sign exe and dll files when building
* Check full tag name
* Check that snapcraft is in release build mode
2019-03-19 18:56:17 -04:00
Jonathan White
8e596165ab Add MacOS entitlements to fix TouchID integration
* Fix #2676
2019-02-05 16:09:17 -05:00
Jonathan White
b56ef2b758
Fix typo in release-tool 2019-01-30 16:25:45 -05:00
Jonathan White
21d1e981ca
Cleanup CMakeFiles prior to release
* Remove Git revision finding code in favor of a simple command call: git rev-parse --short=7 HEAD
* Added GIT_HEAD_OVERRIDE to explicitly define the hash for the current commit in case git is not available 
* Made WIX default over NSIS in release tool 
* Rename version.h to git-info.h
2019-01-30 15:03:03 -05:00
Janek Bevendorff
a4c6529d60 Migrate to linuxdeploy for building AppImages
AppImage recipes are the legacy method for building AppImages, whereas
linuxdeploy is meant to replace them. It takes care of finding and
deploying all needed libraries and Qt plugins automagically, but it's
still under heavy development, so some manual work using appimagetool
and a few fixes are required to make it work for KeePassXC.

This patch moves building of AppImages directly into the release-tool,
both as a separate module (release-tool appimage) as well as a flag
(--appimage) for the build module. The release and CI Dockerfiles were
updated accordingly to support the new build process. The release
Dockerfile also received a Qt update to version 5.10.1.

In theory, it is now possible to use release-tool appsign for embedding
PGP signatures into AppImages, but it fails in practice due to ELF
header size limitations.
2018-09-29 13:12:09 +02:00
Jonathan White
ca27fb06d5
Merge branch 'master'
Conflicts:
	INSTALL.md
	release-tool
	src/browser/BrowserOptionDialog.cpp
	src/browser/BrowserService.cpp
	src/browser/BrowserService.h
	src/browser/NativeMessagingBase.h
	src/browser/NativeMessagingHost.h
	src/core/Uuid.cpp
	src/gui/DatabaseTabWidget.cpp
	src/gui/DatabaseWidget.cpp
	src/gui/EditWidget.cpp
	src/gui/MainWindow.cpp
	src/gui/MainWindow.ui
	src/proxy/NativeMessagingHost.h
	src/sshagent/ASN1Key.cpp
2018-08-24 09:42:38 -04:00
Janek Bevendorff
a19895850c
Fix --snapcraft flag 2018-08-23 19:14:52 +02:00
Jonathan White
ded0aab586
Fix typos in release tool 2018-07-10 21:43:01 -04:00
Jonathan White
4b51b39a83 Add exe signing support to release-tool
* Add automatic portable zip building
* Cleanup build variables
* Align command line parameters between modes
2018-07-09 14:06:19 -04:00
Jonathan White
a025bcd7db
Build snaps using custom Docker image
* Added --snapcraft option to release-tool build command
2018-07-08 11:42:34 -04:00
Jonathan White
dbc7593328
Build snaps using custom Docker image
* Added --snapcraft option to release-tool build command
2018-05-16 22:40:36 -04:00
Janek Bevendorff
395afe59eb Update release-tool to use generic /usr/local/opt/qt path on macOS 2018-02-27 20:11:03 +01:00
Janek Bevendorff
8dad78194f Fix libgcrypt and libgpg-errror paths in AppImage, resolves #1522 2018-02-25 12:16:41 +01:00
Janek Bevendorff
32a4078240 Add .version file when generating source tarball 2018-02-23 00:59:45 +01:00
Jonathan White
69283e83d8
Correct zxcvbn build on windows & snap build 2018-02-21 21:59:42 -05:00
Janek Bevendorff
9f5b5bb424 Fix macOS build 2018-02-21 22:30:37 +01:00
Janek Bevendorff
924d472de5 Add support for pre-releases 2018-02-18 10:20:34 +01:00
Jonathan White
3e2443a861 Add support for nightly builds to release tool 2018-01-30 21:21:23 +01:00
Janek Bevendorff
c824b0694e Only update source files and pull in translations, don't push anything 2018-01-21 15:54:47 +01:00
Janek Bevendorff
c2ead0e265 Fix macOS building and code signing, resolves #1344 2018-01-13 23:49:24 +01:00
Janek Bevendorff
a4cf32dce0 Bundle qtbase translations with macOS and AppImage releases 2017-12-23 17:47:46 +01:00
Sebastian Marsching
470ddb4704
Merge branch 'develop' into issue-1148-msi-package 2017-12-22 12:14:59 +01:00
Janek Bevendorff
b457c8c1fa Replace signtool with osslsigncode 2017-12-15 09:51:55 +01:00
Janek Bevendorff
f257145ee0 Separate code and GPG signing and add support for macOS codesign 2017-12-15 09:51:55 +01:00
Sebastian Marsching
ab31619745 Build MSI package when making a release. 2017-12-09 15:02:57 +01:00
AsavarTzeth
4853014a61 Fix id and appdata validation failures (#1131)
According to the AppStream specification org.keepassxc is not a valid
id. The product name is missing. This results in failures if one tries
to validate the file and makes it unusable where validation is enforced.

Additionally it seems specification don't allow the `<icon>` tag with
component type desktop-application. I am not sure this tag is strictly
necessary. In any case validation tests require this to be removed.

Fixing both of these issues ensure the AppStream appdata is compliant
and works anywhere passing validations is a requirement.

Also provide some other fixes and improvements to the appdata.

Minor validation failures:

- Fix missing captions for screenshots (`appstreamcli`)
- Fix descriptions cannot start with `<ul>` tag (`appstream-util`)

Other enhancements:

- Add more URL types, but could not add donation type because "&" is not
  allowed in the `<url>` tag and using "%26" causes
  `appstreamcli validate` to fail.
- Add `<developer_name>`, which in cases such as KeePassXC is a team name.
2017-11-08 17:51:37 +01:00
Jonathan White
85f652290b Add signtool function (Windows Only) to release-tool script 2017-10-20 18:12:10 -04:00
Janek Bevendorff
d3208bddb0 Enhance lupdate-qt5 check 2017-10-19 21:24:31 +02:00
Janek Bevendorff
eb977b8021 Check AppStream info file before merging releases 2017-10-19 21:24:31 +02:00
Janek Bevendorff
6d433fecef Set KEEPASSXC_DIST_TYPE when building AppImages and Snaps 2017-10-19 15:52:46 +02:00
Aidan Hobson Sayers
84508e91da Disable apparmor to use fuse
Necessary for an Ubuntu 16.04, Docker 17.09.0-ce host
See https://github.com/moby/moby/issues/9448#issuecomment-289950103
2017-10-07 23:37:39 +01:00
Janek Bevendorff
549eaefdb8
Fix release tool build checks 2017-06-26 16:41:04 +02:00
Jonathan White
458c76d3b7 Update release tool and snapcraft.yaml (#610)
* Release tool checks snapcraft file for version and added removable-media plug

* Added 'check' command to release tool. Code cleanup.
2017-06-06 10:35:15 -04:00
Janek Bevendorff
0a85279bcb
Enable Yubikey in release-tool by default 2017-02-26 00:08:48 +01:00
Janek Bevendorff
0c47c2016d
Only use relative path in DIGEST file 2017-02-18 14:32:40 +01:00