summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas 'Segaja' Schleifer2021-07-11 19:34:52 +0200
committerAndreas 'Segaja' Schleifer2021-07-11 19:34:52 +0200
commit24a4fe8403215890f5ef3ab64f40bda1d6500505 (patch)
treed82200cd6140440f271e15b959d3d708dfbdfb59
parente8dae4b4f1f1f78bdd7f831f049aaeb34ff4fa21 (diff)
downloadaur-24a4fe8403215890f5ef3ab64f40bda1d6500505.tar.gz
split patches; add default configs; add schleuder user; add systemd files
-rw-r--r--.SRCINFO13
-rw-r--r--PKGBUILD27
-rw-r--r--dirnmngr_standard_resolver.patch (renamed from rspec.patch)42
-rw-r--r--log_gpg_warnings.patch30
-rw-r--r--schleuder.install2
-rw-r--r--sysuser_schleuder.conf1
-rw-r--r--tmpfile_schleuder.conf3
7 files changed, 66 insertions, 52 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 78c47da3a67a..967fdf0980af 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,8 @@
pkgbase = schleuder
pkgdesc = An encrypting mailing list manager with remailing-capabilities
pkgver = 4.0.1
- pkgrel = 3
+ pkgrel = 4
url = https://schleuder.org
- install = schleuder.install
arch = any
license = GPL3
checkdepends = procps-ng
@@ -30,8 +29,14 @@ pkgbase = schleuder
depends = ruby-thor
options = !emptydirs
source = schleuder-4.0.1.tar.gz::https://0xacab.org/schleuder/schleuder/-/archive/schleuder-4.0.1/schleuder-schleuder-4.0.1.tar.gz
- source = rspec.patch
+ source = sysuser_schleuder.conf
+ source = tmpfile_schleuder.conf
+ source = log_gpg_warnings.patch
+ source = dirnmngr_standard_resolver.patch
sha512sums = 7ead37e7be9bc88dd304ecc2045eee0b72bc8eebd529bbec801347ff77b8da6bad7ed4817346add6162070ab1cf43c102e8f41f48d814a548f54c5fd16e56b54
- sha512sums = 94229306500915fa99aac3085175306e202ad28f1decf6d5902419635c64fa2ed368bd88b5833822cfe7445683034583f838eb1d060cd024a62f92a34729c6f7
+ sha512sums = 91e37c2b35512ce0633d7c720ba3f16c2c077771308a7fe9d009d382b9ca4c57dba230f0ed4e7d2eab11f785cbf288b85bb1e5e32e03b0beee97a338019348d3
+ sha512sums = 5a355d32c12ef4598d2ce7b8812666d9ba415d1b1e935a5da5ddb528883acb5ec1d73cf3f1ca2df4b222126495356a55ce649943818e606876734fcf7ba8d8d7
+ sha512sums = a99571e9f1bb979eff3648b22b53f8deb8eac767502f30b6aa2d81525aeea4619c0d148b4509b3f020ca8a1c8d08994c08963c1fff09ea8ab885b6c05c1c7ec3
+ sha512sums = 3d68960a157bd8c5cafcf142713a65336ac683acebadfb4f060fdf2898b9adf3d691d1dd524f53d358c0513a5bb890bd347e5fc486b22ae09a04c9c33d17b3a7
pkgname = schleuder
diff --git a/PKGBUILD b/PKGBUILD
index f4ce81c9f1c2..2ec6edb34149 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,24 +4,34 @@
pkgname='schleuder'
pkgver=4.0.1
-pkgrel=3
+pkgrel=4
pkgdesc='An encrypting mailing list manager with remailing-capabilities'
arch=(any)
url='https://schleuder.org'
license=('GPL3')
-install="${pkgname}.install"
options=(!emptydirs)
depends=('inetutils' 'ruby' 'ruby-activerecord' 'ruby-bcrypt' 'ruby-bigdecimal' 'ruby-charlock_holmes' 'ruby-gpgme' 'ruby-mail' 'ruby-mail-gpg' 'ruby-rake' 'ruby-sinatra' 'ruby-sinatra-contrib' 'ruby-sqlite3' 'ruby-thin' 'ruby-thor')
checkdepends=('procps-ng' 'ruby-bundler' 'ruby-database_cleaner' 'ruby-factory_bot' 'ruby-hirb' 'ruby-rack-test' 'ruby-rspec')
source=("${pkgname}-${pkgver}.tar.gz::https://0xacab.org/schleuder/schleuder/-/archive/schleuder-${pkgver}/schleuder-schleuder-${pkgver}.tar.gz"
- "rspec.patch")
+ "sysuser_schleuder.conf"
+ "tmpfile_schleuder.conf"
+ # these patches are planned to be included in the next major release in schleuder
+ # this patch is based on https://0xacab.org/schleuder/schleuder/-/merge_requests/377 (without CHANGELOG.md changes)
+ "log_gpg_warnings.patch"
+ # this patch is based on https://salsa.debian.org/ruby-team/schleuder/-/raw/master/debian/patches/0008-dirmngr-no-tor-standard-resolver.patch
+ "dirnmngr_standard_resolver.patch"
+)
sha512sums=('7ead37e7be9bc88dd304ecc2045eee0b72bc8eebd529bbec801347ff77b8da6bad7ed4817346add6162070ab1cf43c102e8f41f48d814a548f54c5fd16e56b54'
- '94229306500915fa99aac3085175306e202ad28f1decf6d5902419635c64fa2ed368bd88b5833822cfe7445683034583f838eb1d060cd024a62f92a34729c6f7')
+ '91e37c2b35512ce0633d7c720ba3f16c2c077771308a7fe9d009d382b9ca4c57dba230f0ed4e7d2eab11f785cbf288b85bb1e5e32e03b0beee97a338019348d3'
+ '5a355d32c12ef4598d2ce7b8812666d9ba415d1b1e935a5da5ddb528883acb5ec1d73cf3f1ca2df4b222126495356a55ce649943818e606876734fcf7ba8d8d7'
+ 'a99571e9f1bb979eff3648b22b53f8deb8eac767502f30b6aa2d81525aeea4619c0d148b4509b3f020ca8a1c8d08994c08963c1fff09ea8ab885b6c05c1c7ec3'
+ '3d68960a157bd8c5cafcf142713a65336ac683acebadfb4f060fdf2898b9adf3d691d1dd524f53d358c0513a5bb890bd347e5fc486b22ae09a04c9c33d17b3a7')
prepare() {
cd "${pkgname}-${pkgname}-${pkgver}"
- patch --verbose --strip=1 --input=../rspec.patch
+ patch --verbose --strip=1 --input=../log_gpg_warnings.patch
+ patch --verbose --strip=1 --input=../dirnmngr_standard_resolver.patch
# we built based on a tar archive, not a git repo
sed --in-place 's/git ls-files/find/' "${pkgname}.gemspec"
@@ -37,6 +47,9 @@ prepare() {
# ignore debugger
sed --in-place '/byebug/d' "${pkgname}.gemspec" spec/spec_helper.rb
+
+ # fix path in upstream files
+ sed --in-place --regexp-extended 's|/usr/local|/usr|g' etc/schleuder-api-daemon.service etc/schleuder.yml
}
build() {
@@ -65,8 +78,12 @@ package() {
gem install --ignore-dependencies --no-user-install --no-document --install-dir "${pkgdir}${_gemdir}" --bindir "${pkgdir}/usr/bin" "${pkgname}-${pkgver}.gem"
+ install -Dm 640 etc/schleuder.yml etc/list-defaults.yml --target-directory "${pkgdir}/etc/schleuder"
+ install -Dm 644 etc/schleuder-api-daemon.service etc/schleuder-weekly-key-maintenance.service etc/schleuder-weekly-key-maintenance.timer --target-directory "${pkgdir}/usr/lib/systemd/system"
install -Dm 644 CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md MISSION_STATEMENT.md README.md --target-directory "${pkgdir}/usr/share/doc/${pkgname}"
install -Dm 644 man/*.8 --target-directory "${pkgdir}/usr/share/man/man8"
+ install -Dm 644 ../sysuser_schleuder.conf "${pkgdir}/usr/lib/sysusers.d/schleuder.conf"
+ install -Dm 644 ../tmpfile_schleuder.conf "${pkgdir}/usr/lib/tmpfiles.d/schleuder.conf"
rm "${pkgdir}/${_gemdir}/cache/${pkgname}-${pkgver}.gem"
}
diff --git a/rspec.patch b/dirnmngr_standard_resolver.patch
index 91c150d123ab..c1861cd71ed2 100644
--- a/rspec.patch
+++ b/dirnmngr_standard_resolver.patch
@@ -1,33 +1,3 @@
-diff --git a/lib/schleuder/gpgme/ctx.rb b/lib/schleuder/gpgme/ctx.rb
-index 295f4de..0011112 100644
---- a/lib/schleuder/gpgme/ctx.rb
-+++ b/lib/schleuder/gpgme/ctx.rb
-@@ -211,7 +211,7 @@ module GPGME
- errors = []
- output = []
- base_cmd = gpg_engine.file_name
-- base_args = '--no-greeting --no-permission-warning --quiet --armor --trust-model always --no-tty --command-fd 0 --status-fd 1'
-+ base_args = '--no-greeting --quiet --armor --trust-model always --no-tty --command-fd 0 --status-fd 1'
- cmd = [base_cmd, base_args, args].flatten.join(' ')
- Open3.popen3(cmd) do |stdin, stdout, stderr, thread|
- if block_given?
-@@ -224,6 +224,16 @@ module GPGME
- exitcode = thread.value.exitstatus
- end
-
-+ # Don't treat warnings as errors but log them.
-+ errors = errors.map do |line|
-+ if line.match?(/gpg: WARNING: (unsafe permissions on homedir|using insecure memory)/i)
-+ Schleuder.logger.warn(line)
-+ nil
-+ else
-+ line
-+ end
-+ end.compact
-+
- [errors, output, exitcode]
- rescue Errno::ENOENT
- raise 'Need gpg in $PATH or in $GPGBIN'
diff --git a/spec/schleuder/integration/cli_spec.rb b/spec/schleuder/integration/cli_spec.rb
index 9dccf8e..e0fd441 100644
--- a/spec/schleuder/integration/cli_spec.rb
@@ -214,15 +184,3 @@ index 69792c2..7e8c312 100644
with_sks_mock(list.listdir) do
output = list.fetch_keys('87E65ED2081AE3D16BE4F0A5EBDBE899251F2412')
end
-diff --git a/spec/sks-mock.rb b/spec/sks-mock.rb
-index 3260e7f..4c30143 100755
---- a/spec/sks-mock.rb
-+++ b/spec/sks-mock.rb
-@@ -5,7 +5,6 @@ require 'sinatra/base'
- class SksMock < Sinatra::Base
- set :environment, :production
- set :port, 9999
-- set :bind, 'localhost'
-
- get '/status' do
- 'ok'
diff --git a/log_gpg_warnings.patch b/log_gpg_warnings.patch
new file mode 100644
index 000000000000..fc3c039bc4fa
--- /dev/null
+++ b/log_gpg_warnings.patch
@@ -0,0 +1,30 @@
+diff --git a/lib/schleuder/gpgme/ctx.rb b/lib/schleuder/gpgme/ctx.rb
+index 295f4de..0011112 100644
+--- a/lib/schleuder/gpgme/ctx.rb
++++ b/lib/schleuder/gpgme/ctx.rb
+@@ -211,7 +211,7 @@ module GPGME
+ errors = []
+ output = []
+ base_cmd = gpg_engine.file_name
+- base_args = '--no-greeting --no-permission-warning --quiet --armor --trust-model always --no-tty --command-fd 0 --status-fd 1'
++ base_args = '--no-greeting --quiet --armor --trust-model always --no-tty --command-fd 0 --status-fd 1'
+ cmd = [base_cmd, base_args, args].flatten.join(' ')
+ Open3.popen3(cmd) do |stdin, stdout, stderr, thread|
+ if block_given?
+@@ -224,6 +224,16 @@ module GPGME
+ exitcode = thread.value.exitstatus
+ end
+
++ # Don't treat warnings as errors but log them.
++ errors = errors.map do |line|
++ if line.match?(/gpg: WARNING: (unsafe permissions on homedir|using insecure memory)/i)
++ Schleuder.logger.warn(line)
++ nil
++ else
++ line
++ end
++ end.compact
++
+ [errors, output, exitcode]
+ rescue Errno::ENOENT
+ raise 'Need gpg in $PATH or in $GPGBIN'
diff --git a/schleuder.install b/schleuder.install
index 1f41918dd3fa..1beee7aa9e1e 100644
--- a/schleuder.install
+++ b/schleuder.install
@@ -2,5 +2,5 @@ post_install() {
echo " Please consider additionally installing schleuder-cli (allows to
configure lists from the command line).
- To set up Schleuder on this system please run \`schleuder install\`."
+ To set up Schleuder on this system please run \`su schleuder -s /bin/bash -c 'shleuder install'\`."
}
diff --git a/sysuser_schleuder.conf b/sysuser_schleuder.conf
new file mode 100644
index 000000000000..016ab46e0bdd
--- /dev/null
+++ b/sysuser_schleuder.conf
@@ -0,0 +1 @@
+u schleuder - "Schleuder GPG-enabled mailing list manager" /var/lib/schleuder
diff --git a/tmpfile_schleuder.conf b/tmpfile_schleuder.conf
new file mode 100644
index 000000000000..a78ef0563bd1
--- /dev/null
+++ b/tmpfile_schleuder.conf
@@ -0,0 +1,3 @@
+Z /etc/schleuder - schleuder schleuder -
+d /usr/lib/schleuder - schleuder schleuder -
+d /var/lib/schleuder - schleuder schleuder -