Jcrespo has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/404153 )
Change subject: Add Proxysql creation debian package script
......................................................................
Add Proxysql creation debian package script
Change-Id: I17c79bedbe861a1a4d0706fda2b9b36afe85dffb
---
A dbtools/proxysql-deb
A dbtools/proxysql-deb-postinst.tpl.sh
A dbtools/proxysql.service
3 files changed, 109 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/software
refs/changes/53/404153/1
diff --git a/dbtools/proxysql-deb b/dbtools/proxysql-deb
new file mode 100755
index 0000000..95cda9e
--- /dev/null
+++ b/dbtools/proxysql-deb
@@ -0,0 +1,84 @@
+#!/bin/bash
+# This turns a compiled proxysql binary into a deb.
+
+control=$1
+
+if [ ! -e $control ]; then
+ echo "missing control" 1>&2
+ exit 1
+fi
+
+confirm() {
+ read -p "continue? yes/no " yn
+ if [[ ! "$yn" =~ ^y ]]; then
+ echo "abort"
+ exit 1
+ fi
+}
+
+package=$(grep 'Package:' $control | awk '{print $2}')
+release=$(grep 'Version:' $control | awk '{print $2}')
+version=$(echo $release | sed 's/\(.*\)-.*/\1/')
+debname="${package}_${release}_amd64"
+binary="${package}"
+makedir="$debname"
+basedir="/usr"
+initinstall="/bin/systemctl daemon-reload"
+initrm="/bin/systemctl daemon-reload"
+
+echo "control: $control"
+echo "package: $package"
+echo "release: $release"
+echo "version: $version"
+echo "binary: $binary"
+echo "makedir: $makedir"
+echo "basedir: $basedir"
+
+confirm
+
+if [ ! -e $binary ]; then
+ echo "missing proxysql binary" 1>&2
+ exit 1
+fi
+
+echo "creating directory structure..."
+
+rm -rf $makedir
+mkdir $makedir
+
+mkdir $makedir/DEBIAN
+cp $control $makedir/DEBIAN/control
+
+mkdir -p ${makedir}${basedir}/bin
+
+echo "Copying binary..."
+
+cp $binary ${makedir}${basedir}/bin
+
+echo "adding WMF stuff..."
+
+# install systemd unit
+mkdir -p $makedir/lib/systemd/system
+cat $package.service | sed "s:BASEDIR:${basedir}:g" >
$makedir/lib/systemd/system/$package.service
+#cat [email protected] | sed "s:BASEDIR:${basedir}:g" >
$makedir/lib/systemd/system/[email protected]
+
+mkdir -p $makedir/var/lib/$package
+mkdir -p $makedir/run/$package
+
+postinst="$makedir/DEBIAN/postinst"
+cat $package-deb-postinst.tpl.sh | sed "s:BASEDIR:$basedir:g" | sed
"s:INITINSTALL:$initinstall:g" > $postinst
+chmod 755 $postinst
+
+#postrm="$makedir/DEBIAN/postrm"
+#cat $package-deb-postrm.tpl.sh | sed "s:BASEDIR:$basedir:g" | sed
"s:INITRM:$initrm:g" > $postrm
+#chmod 755 $postrm
+
+echo "removing unneeded files"
+
+# making root the owner
+
+chown -R root:root $makedir
+echo "Now building the package (this may take a while)..."
+dpkg-deb --build $makedir
+
+echo "done."
diff --git a/dbtools/proxysql-deb-postinst.tpl.sh
b/dbtools/proxysql-deb-postinst.tpl.sh
new file mode 100755
index 0000000..56d6de4
--- /dev/null
+++ b/dbtools/proxysql-deb-postinst.tpl.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+/usr/sbin/useradd --home-dir /var/lib/proxysql --system --no-create-home
--user-group proxysql || true
+/bin/chown proxysql /var/lib/proxysql
+/bin/chown proxysql /run/proxysql
+
+INITINSTALL
+
+exit 0
diff --git a/dbtools/proxysql.service b/dbtools/proxysql.service
new file mode 100644
index 0000000..8d22306
--- /dev/null
+++ b/dbtools/proxysql.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=High Performance Advanced Proxy for MySQL
+After=network.target
+Documentation=https://github.com/sysown/proxysql/wiki
+
+[Service]
+Type=simple
+LimitNOFILE=102400
+LimitCORE=1073741824
+Restart=always
+User=proxysql
+Group=proxysql
+ExecStart=/usr/bin/proxysql -f
+
+[Install]
+WantedBy=multi-user.target
--
To view, visit https://gerrit.wikimedia.org/r/404153
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I17c79bedbe861a1a4d0706fda2b9b36afe85dffb
Gerrit-PatchSet: 1
Gerrit-Project: operations/software
Gerrit-Branch: master
Gerrit-Owner: Jcrespo <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits