diff options
author | Andreas 'Segaja' Schleifer | 2021-07-11 19:34:52 +0200 |
---|---|---|
committer | Andreas 'Segaja' Schleifer | 2021-07-11 19:34:52 +0200 |
commit | 24a4fe8403215890f5ef3ab64f40bda1d6500505 (patch) | |
tree | d82200cd6140440f271e15b959d3d708dfbdfb59 | |
parent | e8dae4b4f1f1f78bdd7f831f049aaeb34ff4fa21 (diff) | |
download | aur-24a4fe8403215890f5ef3ab64f40bda1d6500505.tar.gz |
split patches; add default configs; add schleuder user; add systemd files
-rw-r--r-- | .SRCINFO | 13 | ||||
-rw-r--r-- | PKGBUILD | 27 | ||||
-rw-r--r-- | dirnmngr_standard_resolver.patch (renamed from rspec.patch) | 42 | ||||
-rw-r--r-- | log_gpg_warnings.patch | 30 | ||||
-rw-r--r-- | schleuder.install | 2 | ||||
-rw-r--r-- | sysuser_schleuder.conf | 1 | ||||
-rw-r--r-- | tmpfile_schleuder.conf | 3 |
7 files changed, 66 insertions, 52 deletions
@@ -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 @@ -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 - |