Merge 'dist/debian: fix renaming debian/scylla-* files rule' from Takuya ASADA
Current renaming rule of debian/scylla-* files is buggy, it fails to install some .service files when custom product name specified. Introduce regex based rewriting instead of adhoc renaming, and fixed wrong renaming rule. Fixes scylladb/scylla#8113 Closes #158 * github.com:scylladb/scylla-jmx: dist/debian: fix renaming debian/scylla-* files rule dist/debian: sync packaging script with scylla main repo
This commit is contained in:
commit
bf8bb16b52
1
dist/debian/debian/scylla-jmx.service
vendored
Symbolic link
1
dist/debian/debian/scylla-jmx.service
vendored
Symbolic link
@ -0,0 +1 @@
|
||||
../../common/systemd/scylla-jmx.service
|
21
dist/debian/debian/scylla-jmx.upstart
vendored
21
dist/debian/debian/scylla-jmx.upstart
vendored
@ -1,21 +0,0 @@
|
||||
# scylla-jmx - ScyllaDB
|
||||
#
|
||||
# ScyllaDB
|
||||
|
||||
description "ScyllaDB jmx"
|
||||
|
||||
start on started scylla-server
|
||||
stop on stopping scylla-server
|
||||
|
||||
umask 022
|
||||
|
||||
console log
|
||||
|
||||
setuid scylla
|
||||
setgid scylla
|
||||
|
||||
script
|
||||
. /etc/default/scylla-jmx
|
||||
export SCYLLA_HOME SCYLLA_CONF
|
||||
exec /usr/lib/scylla/jmx/scylla-jmx -l /usr/lib/scylla/jmx
|
||||
end script
|
19
dist/debian/debian_files_gen.py
vendored
19
dist/debian/debian_files_gen.py
vendored
@ -23,8 +23,9 @@
|
||||
|
||||
import string
|
||||
import os
|
||||
import glob
|
||||
import shutil
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
class DebianFilesTemplate(string.Template):
|
||||
delimiter = '%'
|
||||
@ -51,10 +52,20 @@ if os.path.exists('build/debian/debian'):
|
||||
shutil.copytree('dist/debian/debian', 'build/debian/debian')
|
||||
|
||||
if product != 'scylla':
|
||||
for p in glob.glob('build/debian/debian/scylla-*'):
|
||||
shutil.move(p, p.replace('scylla-', '{}-'.format(product)))
|
||||
for p in Path('build/debian/debian').glob('scylla-*'):
|
||||
# pat1: scylla-server.service
|
||||
# -> scylla-enterprise-server.scylla-server.service
|
||||
# pat2: scylla-server.scylla-fstrim.service
|
||||
# -> scylla-enterprise-server.scylla-fstrim.service
|
||||
# pat3: scylla-conf.install
|
||||
# -> scylla-enterprise-conf.install
|
||||
|
||||
shutil.copy('dist/common/systemd/scylla-jmx.service', 'build/debian/debian/scylla-jmx.service')
|
||||
if m := re.match(r'^scylla(-[^.]+)\.service$', p.name):
|
||||
p.rename(p.parent / f'{product}{m.group(1)}.{p.name}')
|
||||
elif m := re.match(r'^scylla(-[^.]+\.scylla-[^.]+\.[^.]+)$', p.name):
|
||||
p.rename(p.parent / f'{product}{m.group(1)}')
|
||||
else:
|
||||
p.rename(p.parent / p.name.replace('scylla', product, 1))
|
||||
|
||||
s = DebianFilesTemplate(changelog_template)
|
||||
changelog_applied = s.substitute(product=product, version=version, release=release, revision='1', codename='stable')
|
||||
|
Loading…
Reference in New Issue
Block a user