mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-05-07 13:07:47 +02:00
Support for signing rpm packages
This commit is contained in:
committed by
René Pfeuffer
parent
41decf270b
commit
a0405271fb
@@ -23,6 +23,28 @@
|
||||
*/
|
||||
import org.gradle.util.VersionNumber
|
||||
|
||||
// nebula.ospackage uses redline to build the rpm package.
|
||||
// The problem is that redline does not support 4096 bit rsa keys,
|
||||
// but we use such a key for rpm signatures.
|
||||
// - https://github.com/nebula-plugins/gradle-ospackage-plugin/issues/270
|
||||
// - https://github.com/craigwblake/redline/issues/62
|
||||
// For now we override the nebula dependency to redline with out own version
|
||||
// of redline, which supports only 4096 bit keys:
|
||||
// - https://github.com/craigwblake/redline/compare/master...scm-manager:big-rsa-header
|
||||
// This is far from ideal, but it works for our purposes.
|
||||
buildscript {
|
||||
configurations.all {
|
||||
resolutionStrategy {
|
||||
force "org.redline-rpm:redline:1.2.9-rsa4096"
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
maven {
|
||||
url 'https://packages.scm-manager.org/repository/public/'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'nebula.ospackage' version '8.4.1'
|
||||
id 'org.scm-manager.packaging'
|
||||
@@ -54,7 +76,7 @@ task rpm(type: Rpm) {
|
||||
url 'https://scm-manager.org'
|
||||
|
||||
requires 'procps'
|
||||
// recommends (weak dependency) is not supported,
|
||||
// recommends (weak dependency) is not supported,
|
||||
// so we define a hard dependencies for java and mercurial
|
||||
requires 'java-11-openjdk-headless'
|
||||
requires 'mercurial'
|
||||
@@ -62,6 +84,18 @@ task rpm(type: Rpm) {
|
||||
preInstall file('src/main/scripts/before-installation.sh')
|
||||
postInstall file('src/main/scripts/after-installation.sh')
|
||||
|
||||
if (project.hasProperty("gpg.scm.keyring")) {
|
||||
signingKeyRingFile file(project.property("gpg.scm.keyring"))
|
||||
}
|
||||
|
||||
if (project.hasProperty("gpg.scm.key")) {
|
||||
signingKeyId project.property("gpg.scm.key")
|
||||
}
|
||||
|
||||
if (project.hasProperty("gpg.scm.passphrase")) {
|
||||
signingKeyPassphrase project.property("gpg.scm.passphrase")
|
||||
}
|
||||
|
||||
VersionNumber version = VersionNumber.parse(project.version)
|
||||
|
||||
from('src/main/bin') {
|
||||
|
||||
Reference in New Issue
Block a user