diff --git a/prod_build/android/conf/environment b/prod_build/android/conf/environment
new file mode 100644
index 0000000000000000000000000000000000000000..5099a4a0c7d0306add40a0605f018d29e64b99e0
--- /dev/null
+++ b/prod_build/android/conf/environment
@@ -0,0 +1,7 @@
+ANDROID_NDK_HOME="/opt/android-ndk-r16b"
+SDKROOT="/opt/android-sdk/bin"
+NDKHOST="linux-x86_64"
+JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
+ANDRQT_HOME="/usr/lib/crossdev"
+HOST_DISTR_VERSIONS="stretch"
+HOST_ARCH_VERSIONS="amd64"
diff --git a/prod_build/android/conf/project_props b/prod_build/android/conf/project_props
new file mode 100644
index 0000000000000000000000000000000000000000..d1d7d505920fc5f649f646c6768bb48f988914a5
--- /dev/null
+++ b/prod_build/android/conf/project_props
@@ -0,0 +1,3 @@
+RES_PATH=SapNetGui/resources/UltraPad/platforms/android
+WORK_PATH=../sapnet-client-build
+BRAND=UltraPad
diff --git a/prod_build/android/conf/publish b/prod_build/android/conf/publish
new file mode 100644
index 0000000000000000000000000000000000000000..896aa108d0c9382c7fb69bc5b559af8229e7d977
--- /dev/null
+++ b/prod_build/android/conf/publish
@@ -0,0 +1,2 @@
+ARCH_VERSIONS="arm64-v8a armv7 x86 x86_64 arm"
+PACKAGE_PATH=builds/apk/
diff --git a/prod_build/android/conf/version_info b/prod_build/android/conf/version_info
new file mode 100644
index 0000000000000000000000000000000000000000..288cd5c8353e7f97d2afb4e5eb15779621861c7a
--- /dev/null
+++ b/prod_build/android/conf/version_info
@@ -0,0 +1,3 @@
+VERSION_FILE=config.pri
+VERSION_ENTRIES="VER_MAJ VER_MIN VER_PAT VER_CODE"
+VERSION_FORMAT="VER_MAJ.VER_MIN-VER_PAT"
diff --git a/prod_build/android/essentials/key/creds.conf b/prod_build/android/essentials/key/creds.conf
new file mode 120000
index 0000000000000000000000000000000000000000..1a2c7b5a1be06fbc5e833bcf4f1f9650c5134a6a
--- /dev/null
+++ b/prod_build/android/essentials/key/creds.conf
@@ -0,0 +1 @@
+papizh-key/creds.conf
\ No newline at end of file
diff --git a/prod_build/android/essentials/key/papizh-key/creds.conf b/prod_build/android/essentials/key/papizh-key/creds.conf
new file mode 100644
index 0000000000000000000000000000000000000000..73848ff2bed7f49b6a6d54c8f09c3960a5e2b986
--- /dev/null
+++ b/prod_build/android/essentials/key/papizh-key/creds.conf
@@ -0,0 +1,2 @@
+export ALIAS=pconst
+export PASS=B0yc3-K0dd
diff --git a/prod_build/android/essentials/key/papizh-key/release-key.jks b/prod_build/android/essentials/key/papizh-key/release-key.jks
new file mode 100644
index 0000000000000000000000000000000000000000..ef51c3a7812997e8616808daf41710720f11764d
Binary files /dev/null and b/prod_build/android/essentials/key/papizh-key/release-key.jks differ
diff --git a/prod_build/android/essentials/key/release-key.jks b/prod_build/android/essentials/key/release-key.jks
new file mode 120000
index 0000000000000000000000000000000000000000..94da3eccf08b5d252077fdc856917f782ede3e98
--- /dev/null
+++ b/prod_build/android/essentials/key/release-key.jks
@@ -0,0 +1 @@
+papizh-key/release-key.jks
\ No newline at end of file
diff --git a/prod_build/android/scripts/build.sh b/prod_build/android/scripts/build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..497d2cb04c21766635dc0048c4c1d2fc8ca977c2
--- /dev/null
+++ b/prod_build/android/scripts/build.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+. ./prod_build/general/pre-build.sh
+export_variables "./prod_build/android/conf/*"
+
+#read_conf.
+#src_path=$workdir/resources/SAP/sapnet-client
+#WORK_PATH=$wd/resources/SAP/sapnet-client-build
+SRC_DIR=$(pwd)
+RES_PATH=${SRC_DIR}/$RES_PATH
+exitcode=0
+
+echo "DexGuard tuning"
+[ -f "$RES_PATH/gradle.properties" ] || { echo "systemProp.dexguard.license=/usr/local/etc/dexguard-license.txt" >> $RES_PATH/gradle.properties && echo "enableDexGuard=true" >> $RES_PATH/gradle.properties ; }
+sed -i '/flatDir/s/'"'"'.*'"'"' }/'"'"'\/opt\/DexGuard\/DexGuard-8.2.12\/lib'"'"' }/' $RES_PATH/build.gradle
+mkdir -p $SRC_DIR/build/apk
+
+
+BRAND=`cat *.pro | grep "BRAND " | rev | cut -d " " -f1 | rev`
+echo "extracting version"
+VERSION=$(extract_version_number)
+echo "version number is $VERSION"
+. prod_build/android/essentials/key/creds.conf
+
+mkdir -p $WORK_PATH
+cd $WORK_PATH
+rm -rf *
+APK_PATH=android/build/outputs/apk
+echo "arch-versions are $ARCH_VERSIONS"
+IFS=" "
+for arch in $ARCH_VERSIONS; do
+	 mkdir -p $arch
+	 cd $arch
+	export QT_SELECT=$arch
+	ANDRQT_HOME=/usr/lib/crossdev/android-$arch/*/bin
+	$ANDRQT_HOME/qmake -r -spec android-g++ CONFIG+=release CONFIG+=qml_release BRAND=$BRAND BRAND_TARGET=$BRAND $SRC_DIR/*.pro && \
+	$ANDROID_NDK_HOME/prebuilt/$NDKHOST/bin/make -j3 && \
+	$ANDROID_NDK_HOME/prebuilt/$NDKHOST/bin/make install INSTALL_ROOT=$(pwd)/android && \
+	echo "Deploying in " && pwd && $ANDRQT_HOME/androiddeployqt --output android --verbose --input SapNetGui/*.json --sign $SRC_DIR/prod_build/android/essentials/key/release-key.jks $ALIAS --storepass $PASS --jdk $JAVA_HOME --gradle && \
+	mv -v $(pwd)/$APK_PATH/android-release-signed.apk $SRC_DIR/build/apk/"$BRAND-${VERSION}_$arch.apk" || \
+	exitcode=$?
+	cd ..
+	if [[ $exitcode != 0 ]]; then
+		echo "Build failed with exit code $exitcode"
+		cd $workdir
+		exit $exitcode
+	fi
+done
+
+cd $workdir
diff --git a/prod_build/android/scripts/compile.sh b/prod_build/android/scripts/compile.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/android/scripts/deploy.sh b/prod_build/android/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/android/scripts/pack.sh b/prod_build/android/scripts/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/android/scripts/pre-build.sh b/prod_build/android/scripts/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/android/scripts/test.sh b/prod_build/android/scripts/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/general/chroot_wrap.sh b/prod_build/general/chroot_wrap.sh
new file mode 100755
index 0000000000000000000000000000000000000000..de0fbcfad44264c4de77fbb11570110e9cc877db
--- /dev/null
+++ b/prod_build/general/chroot_wrap.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+export_variables() {
+
+IFS=$'\n'
+for variable in $(cat prod_build/$platform/conf/*); do
+	[ -z $1 ] && export $(echo "$variable" | sed 's/\"//g') || export -n $(echo $variable | cut -d '=' -f1)
+done
+
+}
+
+CHROOT_PREFIX="builder"
+CHROOTS_PATH=$1
+PLATFORMS=$2
+PKG_FORMAT=$3
+SRC_PATH=$4
+JOB=$5
+
+cd $SRC_PATH
+echo "Platforms are $PLATFORMS"
+
+
+for platform in $PLATFORMS; do
+	export_variables
+	IFS=' '
+	PKG_TYPE=$(echo $PKG_FORMAT | cut -d ' ' -f1)
+	#Check if chroots are present
+	echo $HOST_DISTR_VERSIONS
+	echo $HOST_ARCH_VERSIONS
+	[ -e prod_build/$platform/scripts/pre-build.sh ] && prod_build/$platform/scripts/pre-build.sh #For actions not in chroot (version update)
+	for distr in $HOST_DISTR_VERSIONS; do
+		for arch in $HOST_ARCH_VERSIONS; do
+			if [ -e $CHROOTS_PATH/$CHROOT_PREFIX-$distr-$arch ]; then
+				schroot -c $CHROOT_PREFIX-$distr-$arch -- launcher.sh prod_build/$platform/scripts/$JOB.sh $PKG_TYPE || errcode=$?
+#				echo "schroot stub $PKG_TYPE"
+			else
+				echo "chroot $CHROOT_PREFIX-$distr-$arch not found. You should install it first"
+			fi
+		done
+	done
+#	[ -e prod_build/$platform/scripts/post-build.sh ] && prod_build/$platform/scripts/post-build.sh #For post-build actions not in chroot (global publish)
+	PKG_FORMAT=$(echo $PKG_FORMAT | cut -d ' ' -f2-)
+#	export_variables clean
+done
+#[ $(mount | grep "/run/schroot/mount") ] && sudo umount -l /run/schroot/mount && sudo rm -r /run/schroot/mount/* #Removing mountpoint odds.
+
+cd $wd
diff --git a/prod_build/general/chroot_wrap.sh.save b/prod_build/general/chroot_wrap.sh.save
new file mode 100755
index 0000000000000000000000000000000000000000..53a387fe6cc5cbc5e12d0299ce8eea7e8065c2b4
--- /dev/null
+++ b/prod_build/general/chroot_wrap.sh.save
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+export_variables() {
+
+IFS=$'\n'
+for variable in $(cat prod_build/$platform/conf/*); do
+	[ -z $1 ] && export $(echo "$variable" | sed 's/\"//g') || export -n $(echo $variable | cut -d '=' -f1)
+done
+
+}
+
+CHROOT_PREFIX="builder"
+CHROOTS_PATH=$1
+PLATFORMS=$2
+PKG_FORMAT=$3
+SRC_PATH=$4
+JOB=$5
+
+cd $SRC_PATH
+
+
+
+for platform in $PLATFORMS; do
+	export_variables
+	IFS=' '
+	PKG_TYPE=$(echo $PKG_FORMAT | cut -d ' ' -f1)
+	#Check if chroots are present
+	echo $HOST_DISTR_VERSIONS
+	echo $HOST_ARCH_VERSIONS
+	[ -e prod_build/$platform/scripts/pre-build.sh ] && prod_build/$platform/scripts/pre-build.sh #For actions not in chroot (like version update)
+	for distr in $HOST_DISTR_VERSIONS; do
+		for arch in $HOST_ARCH_VERSIONS; do
+			if [ -e $CHROOTS_PATH/$CHROOT_PREFIX-$distr-$arch ]; then
+				schroot -c $CHROOT_PREFIX-$distr-$arch -- launcher.sh prod_build/$platform/scripts/$JOB.sh $PKG_TYPE || errcode=$?
+			else
+				echo "chroot $CHROOT_PREFIX-$distr-$arch not found. You should install it first"
+			fi
+		done
+	done
+	[ -e prod_build/$platform/scripts/post-build.sh ] && prod_build/$platform/scripts/post-build.sh #For post-build actions not in chroot (like global publish)
+	PKG_FORMAT=$(echo $PKG_FORMAT | cut -d ' ' -f2-)
+	export_variables clean
+done
+[ $(mount | grep "/run/schroot/mount") ] && sudo umount -l /run/schroot/mount && sudo rm -r /run/schroot/mount/* #Removing mountpoint odds.
+
+cd $wd
diff --git a/prod_build/general/conf/version_info b/prod_build/general/conf/version_info
new file mode 100644
index 0000000000000000000000000000000000000000..288cd5c8353e7f97d2afb4e5eb15779621861c7a
--- /dev/null
+++ b/prod_build/general/conf/version_info
@@ -0,0 +1,3 @@
+VERSION_FILE=config.pri
+VERSION_ENTRIES="VER_MAJ VER_MIN VER_PAT VER_CODE"
+VERSION_FORMAT="VER_MAJ.VER_MIN-VER_PAT"
diff --git a/prod_build/general/pre-build.sh b/prod_build/general/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..75f661b5a5074c1ca268d3aab7f600566041c670
--- /dev/null
+++ b/prod_build/general/pre-build.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+extract_version_number() {
+
+IFS=" "
+local VERSION_STRING=$VERSION_FORMAT
+for entry in $VERSION_ENTRIES; do
+	VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
+done
+echo -e "$VERSION_STRING"
+
+}
+
+extract_gitlog_text() {
+
+borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
+upb=$(echo $borders | cut -d $'\n' -f1)
+dwnb=$(echo $borders | cut -d $'\n' -f2)
+text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
+echo $text
+
+}
+
+export_variables() {
+
+IFS=$'\n'
+for variable in $(cat $1); do
+	echo "$variable"
+	export $(echo "$variable" | sed 's/\"//g')
+done
+
+}
+
+unexport_variables() {
+
+IFS=$'\n'
+for variable in $(cat $1); do
+	echo "$variable"
+	export -n $(echo $variable | cut -d '=' -f1)
+done
+
+}
diff --git a/prod_build/ios/scripts/compile.sh b/prod_build/ios/scripts/compile.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/ios/scripts/deploy.sh b/prod_build/ios/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/ios/scripts/pack.sh b/prod_build/ios/scripts/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/ios/scripts/pre-build.sh b/prod_build/ios/scripts/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/ios/scripts/test.sh b/prod_build/ios/scripts/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/conf/dependencies b/prod_build/linux/debian/conf/dependencies
new file mode 100644
index 0000000000000000000000000000000000000000..dc39e2983ae0614c23d0ec0f308fd64f3bedde02
--- /dev/null
+++ b/prod_build/linux/debian/conf/dependencies
@@ -0,0 +1 @@
+PKG_DEPS="libjson-c-dev libsqlite3-dev libmemcached-dev libev-dev libmagic-dev libcurl4-gnutls-dev libldb-dev libtalloc-dev libtevent-dev"
diff --git a/prod_build/linux/debian/conf/publish b/prod_build/linux/debian/conf/publish
new file mode 100644
index 0000000000000000000000000000000000000000..570c8d1bb80faf7ea0e148d1c067d764865d7e8c
--- /dev/null
+++ b/prod_build/linux/debian/conf/publish
@@ -0,0 +1,3 @@
+HOST_DISTR_VERSIONS="stretch buster"
+HOST_ARCH_VERSIONS="amd64 i386"
+PACKAGE_PATH=builds/deb/
diff --git a/prod_build/linux/debian/conf/version_info b/prod_build/linux/debian/conf/version_info
new file mode 100644
index 0000000000000000000000000000000000000000..288cd5c8353e7f97d2afb4e5eb15779621861c7a
--- /dev/null
+++ b/prod_build/linux/debian/conf/version_info
@@ -0,0 +1,3 @@
+VERSION_FILE=config.pri
+VERSION_ENTRIES="VER_MAJ VER_MIN VER_PAT VER_CODE"
+VERSION_FORMAT="VER_MAJ.VER_MIN-VER_PAT"
diff --git a/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_install b/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_install
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installdocs b/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installdocs
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installexamples b/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installexamples
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installinfo b/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installinfo
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installman b/prod_build/linux/debian/essentials/.debhelper/generated/ultrapad/installed-by-dh_installman
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-build-ids b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-build-ids
new file mode 100644
index 0000000000000000000000000000000000000000..7f657fa8fb31269c80f627937af1c73829eaf403
--- /dev/null
+++ b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-build-ids
@@ -0,0 +1 @@
+8dee3c803238884547a28dae9d2cc1a59220d896 e9d92f93a53d9cbe6f848e5aad91c22107acecd3 
\ No newline at end of file
diff --git a/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/DEBIAN/control b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/DEBIAN/control
new file mode 100644
index 0000000000000000000000000000000000000000..7783b3f7d3004fcaa010925c81f27809b7aff971
--- /dev/null
+++ b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/DEBIAN/control
@@ -0,0 +1,12 @@
+Package: ultrapad-dbgsym
+Source: sapnet-client
+Version: 5.9-37
+Auto-Built-Package: debug-symbols
+Architecture: i386
+Maintainer: support <support@ncodedcommunications.com>
+Installed-Size: 12620
+Depends: ultrapad (= 5.9-37)
+Section: debug
+Priority: optional
+Description: debug symbols for ultrapad
+Build-Ids: 8dee3c803238884547a28dae9d2cc1a59220d896 e9d92f93a53d9cbe6f848e5aad91c22107acecd3
diff --git a/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/DEBIAN/md5sums b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/DEBIAN/md5sums
new file mode 100644
index 0000000000000000000000000000000000000000..afee53ecb07df6e53f0675dab7b8f03da462a000
--- /dev/null
+++ b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/DEBIAN/md5sums
@@ -0,0 +1,2 @@
+518a927e545ff04a3c49ccf4a6878202  usr/lib/debug/.build-id/8d/ee3c803238884547a28dae9d2cc1a59220d896.debug
+6e8c0664e4dcb897caa7766c75323a41  usr/lib/debug/.build-id/e9/d92f93a53d9cbe6f848e5aad91c22107acecd3.debug
diff --git a/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/lib/debug/.build-id/8d/ee3c803238884547a28dae9d2cc1a59220d896.debug b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/lib/debug/.build-id/8d/ee3c803238884547a28dae9d2cc1a59220d896.debug
new file mode 100644
index 0000000000000000000000000000000000000000..ac71e9972e9f68edd21569aad7c0b1ad12ddb713
Binary files /dev/null and b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/lib/debug/.build-id/8d/ee3c803238884547a28dae9d2cc1a59220d896.debug differ
diff --git a/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/lib/debug/.build-id/e9/d92f93a53d9cbe6f848e5aad91c22107acecd3.debug b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/lib/debug/.build-id/e9/d92f93a53d9cbe6f848e5aad91c22107acecd3.debug
new file mode 100644
index 0000000000000000000000000000000000000000..0376edec68ec0fb9bcb7a96402bfeeef833accf3
Binary files /dev/null and b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/lib/debug/.build-id/e9/d92f93a53d9cbe6f848e5aad91c22107acecd3.debug differ
diff --git a/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/share/doc/ultrapad-dbgsym b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/share/doc/ultrapad-dbgsym
new file mode 120000
index 0000000000000000000000000000000000000000..47b98702dd8c37efe0c7014d3c2fcf8d16b53e6c
--- /dev/null
+++ b/prod_build/linux/debian/essentials/.debhelper/ultrapad/dbgsym-root/usr/share/doc/ultrapad-dbgsym
@@ -0,0 +1 @@
+ultrapad
\ No newline at end of file
diff --git a/prod_build/linux/debian/essentials/changelog b/prod_build/linux/debian/essentials/changelog
new file mode 100644
index 0000000000000000000000000000000000000000..7e5d1d7c03d68e87d707b67bf57e5a6aa2a419a3
--- /dev/null
+++ b/prod_build/linux/debian/essentials/changelog
@@ -0,0 +1,67 @@
+sapnet-client (5.9-37) testing; urgency=medium
+
+  * Fixes
+
+ -- Arkanoid Local <arkanoid@local>  Sat, 21 Dec 2019 08:30:30 +0000
+
+sapnet-client (5.9-36) develop; urgency=medium
+
+  * Fixes
+
+ -- Arkanoid Local <arkanoid@local>  Sat, 30 Nov 2019 08:30:30 +0000
+
+sapnet-client (5.9-35) develop; urgency=medium
+
+  * Merge branch 'bugs-2713' into 'develop'
+  *
+  *  build up
+  *
+  *  See merge request sap.support/sapnet-client!113
+
+ -- xapuyc <xapuyc@workspace>  Thu, 12 Dec 2019 19:33:00 +0500
+
+ -- Arkanoid Local <arkanoid@local>  Wed, 31 Aug 2019 08:30:30 +0000
+
+sapnet-client (5.8-4) develop; urgency=medium
+
+  * Version bump IV
+
+ -- xapuyc <xapuyc@workspace>  Mon, 24 Dec 2018 20:04:15 +0000
+
+sapnet-client (5.7-40) testing; urgency=medium
+
+  * Version bump III
+
+ -- xapuyc <xapuyc@workspace>  Wed, 31 Oct 2018 23:10:33 +0000
+
+sapnet-client (5.7-37) testing; urgency=medium
+
+  * Non-maintainer upload
+  * Version bump II
+
+ -- xapuyc <xapuyc@workspace>  Mon, 29 Oct 2018 18:58:55 +0500
+
+sapnet-client (5.7-33) testing; urgency=medium
+
+  * Non-maintainer upload.
+  * Version bump
+
+ -- xapuyc <xapuyc@workspace>  Thu, 18 Oct 2018 04:01:22 +0500
+
+sapnet-client (5.7-7) testing; urgency=medium
+
+  * Tonns of rename
+
+ -- Arkanoid Local <naeper@arkanoid>  Fri, 31 Aug 2018 07:17:33 +0000
+
+sapnet-client (5.7-5) testing; urgency=medium
+
+  * New init build
+
+ -- naeper <naeper@arkanoid>  Thu, 16 Aug 2018 10:10:44 +0000
+
+sapnet-client (1.1-3) testing; urgency=medium
+
+  * Initial release 
+
+ -- Arkanoid Local <arkanoid@local>  Wed, 31 Aug 2017 08:30:30 +0000
diff --git a/prod_build/linux/debian/essentials/compat b/prod_build/linux/debian/essentials/compat
new file mode 100644
index 0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7
--- /dev/null
+++ b/prod_build/linux/debian/essentials/compat
@@ -0,0 +1 @@
+9
diff --git a/prod_build/linux/debian/essentials/control b/prod_build/linux/debian/essentials/control
new file mode 100644
index 0000000000000000000000000000000000000000..b62f54bab8172c7098358c85608071d1f68555d6
--- /dev/null
+++ b/prod_build/linux/debian/essentials/control
@@ -0,0 +1,17 @@
+Source: sapnet-client
+Section: unknown
+Priority: optional
+Maintainer: support <support@ncodedcommunications.com>
+Build-Depends: debhelper (>= 9)
+Standards-Version: VER_MAJ.VER_MIN-VER_PAT
+Homepage: https://ncodedcommunications.com
+
+Package: ultrapad
+Architecture: any
+Depends: psmisc, menu, net-tools, ${shlibs:Depends}, ${misc:Depends}
+Replaces: UltraPAD
+Description: UltraPAD
+ Crossplatform VPN Application
+
+
+
diff --git a/prod_build/linux/debian/essentials/files b/prod_build/linux/debian/essentials/files
new file mode 100644
index 0000000000000000000000000000000000000000..cef7e3213b5dee9a9179d3a008e780b0c60aed83
--- /dev/null
+++ b/prod_build/linux/debian/essentials/files
@@ -0,0 +1,3 @@
+sapnet-client_5.9-37_i386.buildinfo unknown optional
+ultrapad-dbgsym_5.9-37_i386.deb debug optional automatic=yes
+ultrapad_5.9-37_i386.deb unknown optional
diff --git a/prod_build/linux/debian/essentials/postinst b/prod_build/linux/debian/essentials/postinst
new file mode 100755
index 0000000000000000000000000000000000000000..81e6553a6dbcef5c3117733c95d67a2e41381108
--- /dev/null
+++ b/prod_build/linux/debian/essentials/postinst
@@ -0,0 +1,50 @@
+#!/bin/bash -
+
+case "$1" in
+    configure)
+
+    cp -f /opt/sap/ultrapad/share/init.d/UltraPadService.service /etc/init.d/ultrapadservice
+    chmod +x /etc/init.d/ultrapadservice
+	update-rc.d ultrapadservice defaults
+	service ultrapadservice restart
+    ln -s /opt/sap/ultrapad/bin/UltraPad /usr/local/bin/
+    cp -f /opt/sap/ultrapad/share/ultrapad.desktop /usr/share/applications/ultrapad.desktop
+	cp -f /opt/sap/ultrapad/share/ultrapad.png	/usr/share/pixmaps/ultrapad.png
+    update-menus
+
+<< --COMMENT--
+ --- It must be commented until we use rooted user. Uncomment to use UltraPAD user for service ---
+
+	adduser --force-badname UltraPAD
+	adduser UltraPAD netdev
+	chown -R UltraPAD /opt/sap/ultrapad/
+	chown UltraPAD /sys/class/dmi/id/product_uuid
+    ln -s /opt/sap/ultrapad/bin/UltraPad /usr/local/bin/
+	chown -h UltraPAD /usr/local/bin/UltraPad
+	chown UltraPAD /var/run/
+	sudo touch /etc/rc.local
+	sudo grep -q '^#!/bin/bash' /etc/rc.local && sudo sed -i '1i#!/bin/bash\' /etc/rc.local
+	sudo grep -q '^exit 0' /etc/rc.local && sudo sed -i '/exit 0/i chown UltraPAD /sys/class/dmi/id/product_uuid' /etc/rc.local || sudo sh -c "printf 'chown UltraPAD /sys/class/dmi/id/product_uuid\nexit 0' >> /etc/rc.local" 
+    cp -f /opt/sap/ultrapad/share/init.d/UltraPadService.service /etc/init.d/ultrapadservice
+    chown UltraPAD /etc/init.d/ultrapadservice
+    chmod +x /etc/init.d/ultrapadservice
+	setcap 'CAP_MKNOD=epi CAP_NET_ADMIN=epi CAP_NET_BIND_SERVICE=epi CAP_NET_RAW=epi CAP_SYS_NICE=epi CAP_SYS_RAWIO=epi CAP_SYS_RESOURCE=epi CAP_SYSLOG=epi CAP_MAC_ADMIN=epi CAP_MAC_OVERRIDE=epi' /opt/sap/ultrapad/bin/UltraPadService
+    setcap 'CAP_MKNOD=epi CAP_NET_ADMIN=epi CAP_NET_BIND_SERVICE=epi CAP_NET_RAW=epi CAP_SYS_NICE=epi CAP_SYS_RAWIO=epi CAP_SYS_RESOURCE=epi CAP_SYSLOG=epi CAP_MAC_ADMIN=epi CAP_MAC_OVERRIDE=epi' /etc/init.d/ultrapadservice
+	setcap 'CAP_NET_ADMIN=epi' /bin/ip
+	update-menus
+	update-rc.d ultrapadservice defaults
+	service ultrapadservice start
+    cp -f /opt/sap/ultrapad/share/ultrapad.desktop /usr/share/applications/ultrapad.desktop
+	cp -f /opt/sap/ultrapad/share/ultrapad.png	/usr/share/pixmaps/ultrapad.png
+--COMMENT--
+;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 2
+    ;;
+esac
+exit 0
+
+
diff --git a/prod_build/linux/debian/essentials/preinst.ex b/prod_build/linux/debian/essentials/preinst.ex
new file mode 100644
index 0000000000000000000000000000000000000000..f9179c878704f3e74a352698ae2963827583eec8
--- /dev/null
+++ b/prod_build/linux/debian/essentials/preinst.ex
@@ -0,0 +1,35 @@
+#!/bin/sh
+# preinst script for dapvpngui
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see https://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/prod_build/linux/debian/essentials/prerm b/prod_build/linux/debian/essentials/prerm
new file mode 100755
index 0000000000000000000000000000000000000000..2cfd8d3ec0b81eb7f14459a9dc5c0561ce5c95d3
--- /dev/null
+++ b/prod_build/linux/debian/essentials/prerm
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+case "$1" in
+    purge|remove|abort-upgrade|failed-upgrade|upgrade)
+    [ -f /etc/init.d/ultrapadservice ] && service ultrapadservice stop
+    [ -d /opt/sap ] && rm -rf /opt/sap/
+    [ -f /usr/local/bin/UltraPad ] && rm /usr/local/bin/UltraPad
+    [ -f /etc/init.d/ultrapadservice ] && rm /etc/init.d/ultrapadservice
+    systemctl daemon-reload
+    [ -f /usr/share/applications/ultrapad.desktop ] && rm /usr/share/applications/ultrapad.desktop
+    [ -f /usr/share/pixmaps/ultrapad.png ] && rm /usr/share/pixmaps/ultrapad.png
+<< --COMMENT--
+    killall UltraPAD
+	userdel --remove UltraPAD
+    systemctl daemon-reload
+    rm /usr/share/applications/ultrapad.desktop
+    rm /usr/share/pixmaps/ultrapad.png
+--COMMENT--
+    ;;
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+exit 0
diff --git a/prod_build/linux/debian/essentials/rules b/prod_build/linux/debian/essentials/rules
new file mode 100755
index 0000000000000000000000000000000000000000..4609cdd81b5ace8dbe51ceee27b4af9e63dedddd
--- /dev/null
+++ b/prod_build/linux/debian/essentials/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/qmake.mk
diff --git a/prod_build/linux/debian/essentials/share/init.d/UltraPadService.service b/prod_build/linux/debian/essentials/share/init.d/UltraPadService.service
new file mode 100755
index 0000000000000000000000000000000000000000..aabac4b8cd819812cd93049d0c9e92a424937cec
--- /dev/null
+++ b/prod_build/linux/debian/essentials/share/init.d/UltraPadService.service
@@ -0,0 +1,56 @@
+#!/bin/bash
+# Start/stop the UltraPadService daemon.
+#
+### BEGIN INIT INFO
+# Provides:          ultrapadservice
+# Required-Start:    $syslog $time
+# Required-Stop:     $syslog $time
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: UltraPadService running tool.
+# Description:       UltraPadService running tool.
+### END INIT INFO
+
+
+#LSBNAMES='-l'  # Uncomment for LSB name support in /etc/cron.d/
+
+. /lib/lsb/init-functions
+
+if [ ! -d "/opt/sap/UltraPAD/run" ]; then
+  # by user UltraPAD
+  #sudo -H -u UltraPAD mkdir -p /opt/sap/ultrapad/run
+  sudo mkdir -p /opt/sap/ultrapad/run
+fi
+if [ ! -d "/opt/sap/UltraPAD/log" ]; then
+  # by user UltraPAD
+  #sudo -H -u UltraPAD mkdir -p /opt/sap/ultrapad/log
+  sudo mkdir -pm 777 /opt/sap/ultrapad/log
+fi
+
+case "$1" in
+    start)
+	log_begin_msg "Starting UltraPadService..."
+    # Comented until we use root user.
+    #sudo chown UltraPAD /sys/class/dmi/id/product_uuid
+        #sudo -H -u UltraPAD /opt/sap/UltraPAD/bin/UltraPadService >>/opt/sap/UltraPAD/log/ultrapadservice.log 2>opt/sap/UltraPAD/log/ultrapadservice.log.err&
+        sudo /opt/sap/ultrapad/bin/UltraPadService&
+	log_end_msg $?
+    ;;
+    stop)
+
+	log_begin_msg "Stopping UltraPadService..."
+        killall UltraPadService
+	log_end_msg 0
+    ;;
+     restart|force-reload)
+	log_begin_msg "Restarting UltraPadService..."
+	service ultrapadservice stop
+    service ultrapadservice start
+	log_end_msg $?
+    ;;
+    *)
+	log_success_msg "Usage: /etc/init.d/ultrapadservice {start|stop|restart|force-reload}"
+	exit 1
+esac
+
+exit 0
diff --git a/prod_build/linux/debian/essentials/share/ultrapad.desktop b/prod_build/linux/debian/essentials/share/ultrapad.desktop
new file mode 100644
index 0000000000000000000000000000000000000000..9418a14224b04ab4838eb3b1c8315920676dd87a
--- /dev/null
+++ b/prod_build/linux/debian/essentials/share/ultrapad.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=UltraPad
+Exec=/opt/sap/ultrapad/bin/UltraPad
+Icon=/opt/sap/ultrapad/share/ultrapad.png
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Network;Application;
+Name[en_US]=UltraPad
diff --git a/prod_build/linux/debian/essentials/share/ultrapad.png b/prod_build/linux/debian/essentials/share/ultrapad.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed13839835fbe4301edddf5e6f41e6e574ecb673
Binary files /dev/null and b/prod_build/linux/debian/essentials/share/ultrapad.png differ
diff --git a/prod_build/linux/debian/essentials/stamp-makefile-build b/prod_build/linux/debian/essentials/stamp-makefile-build
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/stamp-makefile-install b/prod_build/linux/debian/essentials/stamp-makefile-install
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/essentials/ultrapad.debhelper.log b/prod_build/linux/debian/essentials/ultrapad.debhelper.log
new file mode 100644
index 0000000000000000000000000000000000000000..3bb678e924d7857a261773bb2c68d16b6e71f048
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad.debhelper.log
@@ -0,0 +1,37 @@
+dh_prep
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_systemd_enable
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_bugfiles
+dh_install
+dh_systemd_start
+dh_link
+dh_installmime
+dh_installgsettings
+dh_strip
+dh_strip_nondeterminism
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/prod_build/linux/debian/essentials/ultrapad.substvars b/prod_build/linux/debian/essentials/ultrapad.substvars
new file mode 100644
index 0000000000000000000000000000000000000000..f217fffd7434662b3eed7b555ddcd4ddcf83fd28
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad.substvars
@@ -0,0 +1,3 @@
+shlibs:Depends=libc6 (>= 2.3.6-6~), libc6 (>= 2.15), libcurl3-gnutls (>= 7.16.2), libgcc1 (>= 1:4.2), libgl1, libqt5core5a (>= 5.11.0~rc1), libqt5gui5 (>= 5.8.0), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.11.0~rc1), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 5)
+misc:Depends=
+misc:Pre-Depends=
diff --git a/prod_build/linux/debian/essentials/ultrapad/DEBIAN/control b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/control
new file mode 100644
index 0000000000000000000000000000000000000000..0dad63c78e61dbf4fc1232fa11c5f215b0c65737
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/control
@@ -0,0 +1,13 @@
+Package: ultrapad
+Source: sapnet-client
+Version: 5.9-37
+Architecture: i386
+Maintainer: support <support@ncodedcommunications.com>
+Installed-Size: 6075
+Depends: psmisc, menu, net-tools, libc6 (>= 2.15), libcurl3-gnutls (>= 7.16.2), libgcc1 (>= 1:4.2), libgl1, libqt5core5a (>= 5.11.0~rc1), libqt5gui5 (>= 5.8.0), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.11.0~rc1), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 5)
+Replaces: UltraPAD
+Section: unknown
+Priority: optional
+Homepage: https://ncodedcommunications.com
+Description: UltraPAD
+ Crossplatform VPN Application
diff --git a/prod_build/linux/debian/essentials/ultrapad/DEBIAN/md5sums b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/md5sums
new file mode 100644
index 0000000000000000000000000000000000000000..4b7c31c4505a289fe57f662fff07b10966491cb6
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/md5sums
@@ -0,0 +1,7 @@
+26399f4bf2673f6ce0fb04acfb88c8dd  opt/sap/ultrapad/bin/UltraPad
+bc71c5a997056f1f64c5c198bca6d3bf  opt/sap/ultrapad/bin/UltraPadService
+9490747d9b8706615318f3a42cce2d71  opt/sap/ultrapad/share/init.d/UltraPadService.service
+87225651d23a2e10f0eeb56324327a3d  opt/sap/ultrapad/share/ultrapad.desktop
+a280cdc80e5a55a97ac1c2474089ec9d  opt/sap/ultrapad/share/ultrapad.png
+cce7e66836738211cd5341cc14298a5d  usr/lib/libSapNetClientCommon.a
+54f8ba8f383dcaf80cd40d64ba8542da  usr/share/doc/ultrapad/changelog.Debian.gz
diff --git a/prod_build/linux/debian/essentials/ultrapad/DEBIAN/postinst b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/postinst
new file mode 100755
index 0000000000000000000000000000000000000000..81e6553a6dbcef5c3117733c95d67a2e41381108
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/postinst
@@ -0,0 +1,50 @@
+#!/bin/bash -
+
+case "$1" in
+    configure)
+
+    cp -f /opt/sap/ultrapad/share/init.d/UltraPadService.service /etc/init.d/ultrapadservice
+    chmod +x /etc/init.d/ultrapadservice
+	update-rc.d ultrapadservice defaults
+	service ultrapadservice restart
+    ln -s /opt/sap/ultrapad/bin/UltraPad /usr/local/bin/
+    cp -f /opt/sap/ultrapad/share/ultrapad.desktop /usr/share/applications/ultrapad.desktop
+	cp -f /opt/sap/ultrapad/share/ultrapad.png	/usr/share/pixmaps/ultrapad.png
+    update-menus
+
+<< --COMMENT--
+ --- It must be commented until we use rooted user. Uncomment to use UltraPAD user for service ---
+
+	adduser --force-badname UltraPAD
+	adduser UltraPAD netdev
+	chown -R UltraPAD /opt/sap/ultrapad/
+	chown UltraPAD /sys/class/dmi/id/product_uuid
+    ln -s /opt/sap/ultrapad/bin/UltraPad /usr/local/bin/
+	chown -h UltraPAD /usr/local/bin/UltraPad
+	chown UltraPAD /var/run/
+	sudo touch /etc/rc.local
+	sudo grep -q '^#!/bin/bash' /etc/rc.local && sudo sed -i '1i#!/bin/bash\' /etc/rc.local
+	sudo grep -q '^exit 0' /etc/rc.local && sudo sed -i '/exit 0/i chown UltraPAD /sys/class/dmi/id/product_uuid' /etc/rc.local || sudo sh -c "printf 'chown UltraPAD /sys/class/dmi/id/product_uuid\nexit 0' >> /etc/rc.local" 
+    cp -f /opt/sap/ultrapad/share/init.d/UltraPadService.service /etc/init.d/ultrapadservice
+    chown UltraPAD /etc/init.d/ultrapadservice
+    chmod +x /etc/init.d/ultrapadservice
+	setcap 'CAP_MKNOD=epi CAP_NET_ADMIN=epi CAP_NET_BIND_SERVICE=epi CAP_NET_RAW=epi CAP_SYS_NICE=epi CAP_SYS_RAWIO=epi CAP_SYS_RESOURCE=epi CAP_SYSLOG=epi CAP_MAC_ADMIN=epi CAP_MAC_OVERRIDE=epi' /opt/sap/ultrapad/bin/UltraPadService
+    setcap 'CAP_MKNOD=epi CAP_NET_ADMIN=epi CAP_NET_BIND_SERVICE=epi CAP_NET_RAW=epi CAP_SYS_NICE=epi CAP_SYS_RAWIO=epi CAP_SYS_RESOURCE=epi CAP_SYSLOG=epi CAP_MAC_ADMIN=epi CAP_MAC_OVERRIDE=epi' /etc/init.d/ultrapadservice
+	setcap 'CAP_NET_ADMIN=epi' /bin/ip
+	update-menus
+	update-rc.d ultrapadservice defaults
+	service ultrapadservice start
+    cp -f /opt/sap/ultrapad/share/ultrapad.desktop /usr/share/applications/ultrapad.desktop
+	cp -f /opt/sap/ultrapad/share/ultrapad.png	/usr/share/pixmaps/ultrapad.png
+--COMMENT--
+;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 2
+    ;;
+esac
+exit 0
+
+
diff --git a/prod_build/linux/debian/essentials/ultrapad/DEBIAN/prerm b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/prerm
new file mode 100755
index 0000000000000000000000000000000000000000..2cfd8d3ec0b81eb7f14459a9dc5c0561ce5c95d3
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad/DEBIAN/prerm
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+case "$1" in
+    purge|remove|abort-upgrade|failed-upgrade|upgrade)
+    [ -f /etc/init.d/ultrapadservice ] && service ultrapadservice stop
+    [ -d /opt/sap ] && rm -rf /opt/sap/
+    [ -f /usr/local/bin/UltraPad ] && rm /usr/local/bin/UltraPad
+    [ -f /etc/init.d/ultrapadservice ] && rm /etc/init.d/ultrapadservice
+    systemctl daemon-reload
+    [ -f /usr/share/applications/ultrapad.desktop ] && rm /usr/share/applications/ultrapad.desktop
+    [ -f /usr/share/pixmaps/ultrapad.png ] && rm /usr/share/pixmaps/ultrapad.png
+<< --COMMENT--
+    killall UltraPAD
+	userdel --remove UltraPAD
+    systemctl daemon-reload
+    rm /usr/share/applications/ultrapad.desktop
+    rm /usr/share/pixmaps/ultrapad.png
+--COMMENT--
+    ;;
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+exit 0
diff --git a/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/bin/UltraPad b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/bin/UltraPad
new file mode 100755
index 0000000000000000000000000000000000000000..129684a67de548441447ccedff9dab1cde8d13c4
Binary files /dev/null and b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/bin/UltraPad differ
diff --git a/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/bin/UltraPadService b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/bin/UltraPadService
new file mode 100755
index 0000000000000000000000000000000000000000..cedf6ea95d5ecdc0c14a7565ab2021dd93956891
Binary files /dev/null and b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/bin/UltraPadService differ
diff --git a/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/init.d/UltraPadService.service b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/init.d/UltraPadService.service
new file mode 100755
index 0000000000000000000000000000000000000000..aabac4b8cd819812cd93049d0c9e92a424937cec
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/init.d/UltraPadService.service
@@ -0,0 +1,56 @@
+#!/bin/bash
+# Start/stop the UltraPadService daemon.
+#
+### BEGIN INIT INFO
+# Provides:          ultrapadservice
+# Required-Start:    $syslog $time
+# Required-Stop:     $syslog $time
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: UltraPadService running tool.
+# Description:       UltraPadService running tool.
+### END INIT INFO
+
+
+#LSBNAMES='-l'  # Uncomment for LSB name support in /etc/cron.d/
+
+. /lib/lsb/init-functions
+
+if [ ! -d "/opt/sap/UltraPAD/run" ]; then
+  # by user UltraPAD
+  #sudo -H -u UltraPAD mkdir -p /opt/sap/ultrapad/run
+  sudo mkdir -p /opt/sap/ultrapad/run
+fi
+if [ ! -d "/opt/sap/UltraPAD/log" ]; then
+  # by user UltraPAD
+  #sudo -H -u UltraPAD mkdir -p /opt/sap/ultrapad/log
+  sudo mkdir -pm 777 /opt/sap/ultrapad/log
+fi
+
+case "$1" in
+    start)
+	log_begin_msg "Starting UltraPadService..."
+    # Comented until we use root user.
+    #sudo chown UltraPAD /sys/class/dmi/id/product_uuid
+        #sudo -H -u UltraPAD /opt/sap/UltraPAD/bin/UltraPadService >>/opt/sap/UltraPAD/log/ultrapadservice.log 2>opt/sap/UltraPAD/log/ultrapadservice.log.err&
+        sudo /opt/sap/ultrapad/bin/UltraPadService&
+	log_end_msg $?
+    ;;
+    stop)
+
+	log_begin_msg "Stopping UltraPadService..."
+        killall UltraPadService
+	log_end_msg 0
+    ;;
+     restart|force-reload)
+	log_begin_msg "Restarting UltraPadService..."
+	service ultrapadservice stop
+    service ultrapadservice start
+	log_end_msg $?
+    ;;
+    *)
+	log_success_msg "Usage: /etc/init.d/ultrapadservice {start|stop|restart|force-reload}"
+	exit 1
+esac
+
+exit 0
diff --git a/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/ultrapad.desktop b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/ultrapad.desktop
new file mode 100644
index 0000000000000000000000000000000000000000..9418a14224b04ab4838eb3b1c8315920676dd87a
--- /dev/null
+++ b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/ultrapad.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=UltraPad
+Exec=/opt/sap/ultrapad/bin/UltraPad
+Icon=/opt/sap/ultrapad/share/ultrapad.png
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Network;Application;
+Name[en_US]=UltraPad
diff --git a/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/ultrapad.png b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/ultrapad.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed13839835fbe4301edddf5e6f41e6e574ecb673
Binary files /dev/null and b/prod_build/linux/debian/essentials/ultrapad/opt/sap/ultrapad/share/ultrapad.png differ
diff --git a/prod_build/linux/debian/essentials/ultrapad/usr/share/doc/ultrapad/changelog.Debian.gz b/prod_build/linux/debian/essentials/ultrapad/usr/share/doc/ultrapad/changelog.Debian.gz
new file mode 100644
index 0000000000000000000000000000000000000000..376006c3a77bb9ae1a3087c142fed9e51d83a1ff
Binary files /dev/null and b/prod_build/linux/debian/essentials/ultrapad/usr/share/doc/ultrapad/changelog.Debian.gz differ
diff --git a/prod_build/linux/debian/scripts/build.sh b/prod_build/linux/debian/scripts/build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..79768e939ed2eb3fa763d6ccc4f2cc3fb2e1a040
--- /dev/null
+++ b/prod_build/linux/debian/scripts/build.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+WORKDIR="resources/cellframe/cellframe-node"
+SCRIPTDIR="prod_build/linux/debian/scripts"
+
+#cd $WORKDIR
+	$SCRIPTDIR/compile_and_pack.sh || exit 2 && \
+	$SCRIPTDIR/test.sh || exit 3 && \
+	$SCRIPTDIR/install_test.sh || exit 4 && \
+	$SCRIPTDIR/cleanup.sh || exit 5
+#cd $wd
diff --git a/prod_build/linux/debian/scripts/cleanup.sh b/prod_build/linux/debian/scripts/cleanup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..9edda6f8bad8fce76e813fc731f4b7ae83b73414
--- /dev/null
+++ b/prod_build/linux/debian/scripts/cleanup.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+make distclean
diff --git a/prod_build/linux/debian/scripts/compile_and_pack.sh b/prod_build/linux/debian/scripts/compile_and_pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5b67901becfc019afaafe4b033c016ef73fd2031
--- /dev/null
+++ b/prod_build/linux/debian/scripts/compile_and_pack.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#if [ "$1" == "--static" ]; then
+#	export $QT_SELECT="qtstatic" #For static builds we'll have a special qt instance, which should be installed manually for now, unfortunately.
+#fi
+
+# error_explainer() {
+
+#	case "$1" in
+#		"1"	) echo "Error in pre-config happened. Please, review logs";;
+#		"2"	) echo "Error in compilation happened. Please, review logs";;
+#		*	) echo "Unandled error $1 happened. Please, review logs";;
+#	esac
+#	exit $1
+
+# }
+
+
+
+### dpkg-buildpackage -J -us --changes-option=--build=any -uc && mkdir -p build && mv ../*.deb build/ && make distclean || error=$? && make distclean && $(error_explainer $error) #2DO: Learn how to sign up the package.
+
+# if [ "$1" == "--static" ]; then
+ #	export $QT_SELECT="default" #Returning back the shared library link
+  #fi
+
+
+cmake -S . -B build && make -C build && cpack -B build
+
+### touch /etc/apt/sources.list.d/demlabs.list deb https://debian.pub.demlabs.net/ bionic main universe multiverse
+
+### wget https://debian.pub.demlabs.net/debian.pub.demlabs.net.gpg
+### apt-key add demlabskey.asc
+
+### apt-get update
+### apt-get install cellframe-node
+
diff --git a/prod_build/linux/debian/scripts/deploy.sh b/prod_build/linux/debian/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b3b3caac64f5624f63cd01212fdcee6de868fb17
--- /dev/null
+++ b/prod_build/linux/debian/scripts/deploy.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+echo "Deploying to $PACKAGE_PATH"
+echo $wd
+PKGFILES=($(ls build/*.deb))
+mv build/*.deb $wd/$PACKAGE_PATH || echo "[ERR] Something went wrong in publishing the package. Now aborting."
+
+if [ ! -z $UPDVER ]; then
+	for pkgfile in $PKGFILES; do
+		ln -sf $wd/$PACKAGE_PATH/$pkgfile $wd/$PACKAGE_PATH/$pkgfile-latest
+	done
+	export -n "UPDVER"
+	#Need to create latest symlink to the project.
+fi
+
+#symlink name-actual to the latest version.
+#build/deb/versions - for all files
+#build/deb/${PROJECT}-latest - for symlinks.
diff --git a/prod_build/linux/debian/scripts/install_test.sh b/prod_build/linux/debian/scripts/install_test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..21c44cd384c412e9541e83e443b74a7bf49543f2
--- /dev/null
+++ b/prod_build/linux/debian/scripts/install_test.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo "stub for installation testing"
diff --git a/prod_build/linux/debian/scripts/pack.sh b/prod_build/linux/debian/scripts/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/scripts/post-build.sh b/prod_build/linux/debian/scripts/post-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c18d6f6bd5cd4bf57d1624c95768cde49bf70f37
--- /dev/null
+++ b/prod_build/linux/debian/scripts/post-build.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+#echo "Stub for post-build actions"
+echo "Entering post-build deployment and cleanup"
+SCRIPTDIR="prod_build/linux/debian/scripts"
+
+$SCRIPTDIR/deploy.sh || exit 10 && \
+$SCRIPTDIR/cleanup.sh || exit 11
diff --git a/prod_build/linux/debian/scripts/pre-build.sh b/prod_build/linux/debian/scripts/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..093c4b88242a8ecc6ebbf189ea38c3babab69f23
--- /dev/null
+++ b/prod_build/linux/debian/scripts/pre-build.sh
@@ -0,0 +1,122 @@
+#!/bin/bash
+
+#export_variables() {
+
+#IFS=$'\n'
+#for variable in $(cat prod_build/linux/debian/conf/*); do
+#	echo "$variable"
+#	export $(echo "$variable" | sed 's/\"//g')
+#done
+
+#}
+
+
+#installing required dependencies
+
+check_packages() {
+
+	IFS=" "
+	local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+	for element in "$PKG_DEPPIES"; do
+		echo "[DEBUGGA] Checking if $element is installed"
+		if ! dpkg-query -s $element; then 
+			echo "[WRN] Package $element is not installed. Starting installation"
+			return 1
+		fi
+	done
+	return 0
+
+}
+
+install_dependencies() {
+
+	if check_packages >> /dev/null; then
+		echo "[INF] All required packages are installed"
+	else
+		echo ""
+		local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+		echo "[DEBUGGA] Attempting to install $PKG_DEPPIES"
+		if sudo apt-get install $PKG_DEPPIES -y ; then
+			echo ""
+			echo "[INF] Packages were installed successfully"
+		else
+			echo "[ERR] can\'t install required packages. Please, check your package manager"
+			echo "Aborting"
+			exit 1
+		fi
+	fi
+	return 0
+
+}
+
+#extract_version_number() {
+
+#IFS=" "
+#for entry in $VERSION_ENTRIES; do
+#	VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
+#done
+#echo -e "project version is $VERSION_STRING"
+#
+#}
+
+#extract_gitlog_text() {
+#
+#borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
+#upb=$(echo $borders | cut -d $'\n' -f1)
+#dwnb=$(echo $borders | cut -d $'\n' -f2)
+#text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
+#echo $text
+#
+#}
+
+#. prod_build/general/install_dependencies
+. prod_build/general/pre-build.sh #VERSIONS and git
+export_variables "prod_build/linux/debian/conf/*"
+install_dependencies
+
+VERSION_STRING=$(echo $VERSION_FORMAT | sed "s/\"//g" ) #Removing quotes
+VERSION_ENTRIES=$(echo $VERSION_ENTRIES | sed "s/\"//g" )
+extract_version_number
+last_version_string=$(cat prod_build/linux/debian/essentials/changelog | head -n 1 | cut -d '(' -f2 | cut -d ')' -f1)
+
+
+
+#if [ -z "$last_version_string"]; then 
+#	echo "Changelog won't be modified"
+#	exit 1;
+#fi
+
+### ideally, we need to ask whether changelog needs to be updated or not
+### is it correct? And if not, we just need to exit from this conditional construction
+### not quite. See, there is always a changelog in git. (git log). We need to maintain debian/changelog on projects not built with cmake, 
+### cause information from this changelog (version) is used to write package metadata. And we had messed up for a long time because of desyncing. 
+### This is a solution. We modify the changelog only if there are updates and not on build servers. And of course if it's not cmake-based build project.
+### let's keep those comments here for a while
+
+if [ $( gitlab-runner -v 2> /dev/null ; echo $? ) == 0 ]; then  
+	echo "[WRN] on build platform. Version won't be changed" # okay, so this echo wont be outputted as the condition is not true
+
+elif [ "$last_version_string" == "$VERSION_STRING" ]; then
+	echo "[INF] Version $last_version_string is equal to $VERSION_STRING. Nothing to change"
+elif [ ! -e debian/changelog ]; then  ### I guess this what's supposed to be added in order to solve the issue with the changelog?+
+	echo "[INF] Debian changelog does not exist. Nothing to be done there." #I supposed it should look somehow like that.
+#makes sense
+else
+	echo "[INF] editing the changelog"
+	text=$(extract_gitlog_text)
+	IFS=$'\n'
+	for textline in $text; do
+		dch -v $VERSION_STRING $textline
+	done
+	branch=$(git branch | grep "*" | cut -c 3- )
+	case branch in
+		"master" ) branch="stable";;
+		"develop" ) branch="testing";;
+	esac
+	dch -r --distribution "$branch" --force-distribution ignored
+	controlfile_version=$(cat prod_build/linux/debian/essentials/control | grep "Standards" | cut -d ' ' -f2) #Add to control info.
+	sed -i "s/$controlfile_version/$VERSION_STRING/" prod_build/linux/debian/essentials/control
+	export UPDVER=1
+fi
+
+## Maybe we do have the version required? Then we don't need to build it again. CHECK IT THERE!
diff --git a/prod_build/linux/debian/scripts/pre-build.sh.save b/prod_build/linux/debian/scripts/pre-build.sh.save
new file mode 100755
index 0000000000000000000000000000000000000000..babcddf42aeb5f4963d13c8710664fc2726e2083
--- /dev/null
+++ b/prod_build/linux/debian/scripts/pre-build.sh.save
@@ -0,0 +1,109 @@
+#!/bin/bash
+
+#export_variables() {
+
+#IFS=$'\n'
+#for variable in $(cat prod_build/linux/debian/conf/*); do
+#	echo "$variable"
+#	export $(echo "$variable" | sed 's/\"//g')
+#done
+
+#}
+
+
+#installing required dependencies
+
+check_packages() {
+
+	IFS=" "
+	local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+	for element in "$PKG_DEPPIES"; do
+		echo "[DEBUGGA] Checking if $element is installed"
+		if ! dpkg-query -s $element; then 
+			echo "[WRN] Package $element is not installed. Starting installation"
+			return 1
+		fi
+	done
+	return 0
+
+}
+
+install_dependencies() {
+
+	if check_packages >> /dev/null; then
+		echo "[INF] All required packages are installed"
+	else
+		echo ""
+		local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+		echo "[DEBUGGA] Attempting to install $PKG_DEPPIES"
+		if sudo apt-get install $PKG_DEPPIES -y ; then
+			echo ""
+			echo "[INF] Packages were installed successfully"
+		else
+			echo "[ERR] can\'t install required packages. Please, check your package manager"
+			echo "Aborting"
+			exit 1
+		fi
+	fi
+	return 0
+
+}
+
+#extract_version_number() {
+
+#IFS=" "
+#for entry in $VERSION_ENTRIES; do
+#	VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
+#done
+#echo -e "project version is $VERSION_STRING"
+#
+#}
+
+#extract_gitlog_text() {
+#
+#borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
+#upb=$(echo $borders | cut -d $'\n' -f1)
+#dwnb=$(echo $borders | cut -d $'\n' -f2)
+#text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
+#echo $text
+#
+#}
+
+#. prod_build/general/install_dependencies
+. prod_build/general/pre-build.sh #VERSIONS and git
+export_variables "prod_build/linux/debian/conf/*"
+install_dependencies
+
+VERSION_STRING=$(echo $VERSION_FORMAT | sed "s/\"//g" ) #Removing quotes
+VERSION_ENTRIES=$(echo $VERSION_ENTRIES | sed "s/\"//g" )
+extract_version_number
+last_version_string=$(cat prod_build/linux/debian/essentials/changelog | head -n 1 | cut -d '(' -f2 | cut -d ')' -f1)
+
+
+
+
+if [ $( gitlab-runner -v 2> /dev/null ; echo $? ) == 0 ]; then 
+	echo "[WRN] on build platform. Version won't be changed"
+
+elif [ "$last_version_string" == "$VERSION_STRING" ]; then
+	echo "[INF] Version $last_version_string is equal to $VERSION_STRING. Nothing to change"
+
+else
+	echo "[INF] editing the changelog"
+	text=$(extract_gitlog_text)
+	IFS=$'\n'
+	for textline in $text; do
+		dch -v $VERSION_STRING $textline
+	done
+	branch=$(git branch | grep "*" | cut -c 3- )
+	case branch in
+		"master" ) branch="stable";;
+		"develop" ) branch="testing";;
+	esac
+	dch -r --distribution "$branch" --force-distribution ignored
+	controlfile_version=$(cat prod_build/linux/debian/essentials/control | grep "Standards" | cut -d ' ' -f2) #Add to control info.
+	sed -i "s/$controlfile_version/$VERSION_STRING/" prod_build/linux/debian/essentials/control
+	export UPDVER=1
+fi
+
+## Maybe we do have the version required? Then we don't need to build it again. CHECK IT THERE!
diff --git a/prod_build/linux/debian/scripts/pre-build.sh.save.1 b/prod_build/linux/debian/scripts/pre-build.sh.save.1
new file mode 100755
index 0000000000000000000000000000000000000000..bbafd08b2535b31c3fd173aa9cd89de3e1dd4b9f
--- /dev/null
+++ b/prod_build/linux/debian/scripts/pre-build.sh.save.1
@@ -0,0 +1,111 @@
+#!/bin/bash
+
+#export_variables() {
+
+#IFS=$'\n'
+#for variable in $(cat prod_build/linux/debian/conf/*); do
+#	echo "$variable"
+#	export $(echo "$variable" | sed 's/\"//g')
+#done
+
+#}
+
+
+#installing required dependencies
+
+check_packages() {
+
+	IFS=" "
+	local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+	for element in "$PKG_DEPPIES"; do
+		echo "[DEBUGGA] Checking if $element is installed"
+		if ! dpkg-query -s $element; then 
+			echo "[WRN] Package $element is not installed. Starting installation"
+			return 1
+		fi
+	done
+	return 0
+
+}
+
+install_dependencies() {
+
+	if check_packages >> /dev/null; then
+		echo "[INF] All required packages are installed"
+	else
+		echo ""
+		local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+		echo "[DEBUGGA] Attempting to install $PKG_DEPPIES"
+		if sudo apt-get install $PKG_DEPPIES -y ; then
+			echo ""
+			echo "[INF] Packages were installed successfully"
+		else
+			echo "[ERR] can\'t install required packages. Please, check your package manager"
+			echo "Aborting"
+			exit 1
+		fi
+	fi
+	return 0
+
+}
+
+#extract_version_number() {
+
+#IFS=" "
+#for entry in $VERSION_ENTRIES; do
+#	VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
+#done
+#echo -e "project version is $VERSION_STRING"
+#
+#}
+
+#extract_gitlog_text() {
+#
+#borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
+#upb=$(echo $borders | cut -d $'\n' -f1)
+#dwnb=$(echo $borders | cut -d $'\n' -f2)
+#text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
+#echo $text
+#
+#}
+
+#. prod_build/general/install_dependencies
+. prod_build/general/pre-build.sh #VERSIONS and git
+export_variables "prod_build/linux/debian/conf/*"
+install_dependencies
+
+VERSION_STRING=$(echo $VERSION_FORMAT | sed "s/\"//g" ) #Removing quotes
+VERSION_ENTRIES=$(echo $VERSION_ENTRIES | sed "s/\"//g" )
+extract_version_number
+last_version_string=$(cat prod_build/linux/debian/essentials/changelog | head -n 1 | cut -d '(' -f2 | cut -d ')' -f1)
+
+if [-z "$last_version_string"]; then 
+	echo "Changelog won't be modified"
+	exit 1;
+fi
+
+if [ $( gitlab-runner -v 2> /dev/null ; echo $? ) == 0 ]; then 
+	echo "[WRN] on build platform. Version won't be changed"
+
+elif [ "$last_version_string" == "$VERSION_STRING" ]; then
+	echo "[INF] Version $last_version_string is equal to $VERSION_STRING. Nothing to change"
+
+else
+	echo "[INF] editing the changelog"
+	text=$(extract_gitlog_text)
+	IFS=$'\n'
+	for textline in $text; do
+		dch -v $VERSION_STRING $textline
+	done
+	branch=$(git branch | grep "*" | cut -c 3- )
+	case branch in
+		"master" ) branch="stable";;
+		"develop" ) branch="testing";;
+	esac
+	dch -r --distribution "$branch" --force-distribution ignored
+	controlfile_version=$(cat prod_build/linux/debian/essentials/control | grep "Standards" | cut -d ' ' -f2) #Add to control info.
+	sed -i "s/$controlfile_version/$VERSION_STRING/" prod_build/linux/debian/essentials/control
+	export UPDVER=1
+fi
+
+## Maybe we do have the version required? Then we don't need to build it again. CHECK IT THERE!
diff --git a/prod_build/linux/debian/scripts/pre-build.sh.save.2 b/prod_build/linux/debian/scripts/pre-build.sh.save.2
new file mode 100755
index 0000000000000000000000000000000000000000..da65de4135113b15277324ee72eeba41b4c0318e
--- /dev/null
+++ b/prod_build/linux/debian/scripts/pre-build.sh.save.2
@@ -0,0 +1,111 @@
+#!/bin/bash
+
+#export_variables() {
+
+#IFS=$'\n'
+#for variable in $(cat prod_build/linux/debian/conf/*); do
+#	echo "$variable"
+#	export $(echo "$variable" | sed 's/\"//g')
+#done
+
+#}
+
+
+#installing required dependencies
+
+check_packages() {
+
+	IFS=" "
+	local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+	for element in "$PKG_DEPPIES"; do
+		echo "[DEBUGGA] Checking if $element is installed"
+		if ! dpkg-query -s $element; then 
+			echo "[WRN] Package $element is not installed. Starting installation"
+			return 1
+		fi
+	done
+	return 0
+
+}
+
+install_dependencies() {
+
+	if check_packages >> /dev/null; then
+		echo "[INF] All required packages are installed"
+	else
+		echo ""
+		local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+		echo "[DEBUGGA] Attempting to install $PKG_DEPPIES"
+		if sudo apt-get install $PKG_DEPPIES -y ; then
+			echo ""
+			echo "[INF] Packages were installed successfully"
+		else
+			echo "[ERR] can\'t install required packages. Please, check your package manager"
+			echo "Aborting"
+			exit 1
+		fi
+	fi
+	return 0
+
+}
+
+#extract_version_number() {
+
+#IFS=" "
+#for entry in $VERSION_ENTRIES; do
+#	VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
+#done
+#echo -e "project version is $VERSION_STRING"
+#
+#}
+
+#extract_gitlog_text() {
+#
+#borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
+#upb=$(echo $borders | cut -d $'\n' -f1)
+#dwnb=$(echo $borders | cut -d $'\n' -f2)
+#text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
+#echo $text
+#
+#}
+
+#. prod_build/general/install_dependencies
+. prod_build/general/pre-build.sh #VERSIONS and git
+export_variables "prod_build/linux/debian/conf/*"
+install_dependencies
+
+VERSION_STRING=$(echo $VERSION_FORMAT | sed "s/\"//g" ) #Removing quotes
+VERSION_ENTRIES=$(echo $VERSION_ENTRIES | sed "s/\"//g" )
+extract_version_number
+last_version_string=$(cat prod_build/linux/debian/essentials/changelog | head -n 1 | cut -d '(' -f2 | cut -d ')' -f1)
+
+if [ -z "$last_version_string" ]; then 
+	echo "Changelog won't be modified"
+	exit 1;
+fi
+
+if [ $( gitlab-runner -v 2> /dev/null ; echo $? ) == 0 ]; then 
+	echo "[WRN] on build platform. Version won't be changed"
+
+elif [ "$last_version_string" == "$VERSION_STRING" ]; then
+	echo "[INF] Version $last_version_string is equal to $VERSION_STRING. Nothing to change"
+
+else
+	echo "[INF] editing the changelog"
+	text=$(extract_gitlog_text)
+	IFS=$'\n'
+	for textline in $text; do
+		dch -v $VERSION_STRING $textline
+	done
+	branch=$(git branch | grep "*" | cut -c 3- )
+	case branch in
+		"master" ) branch="stable";;
+		"develop" ) branch="testing";;
+	esac
+	dch -r --distribution "$branch" --force-distribution ignored
+	controlfile_version=$(cat prod_build/linux/debian/essentials/control | grep "Standards" | cut -d ' ' -f2) #Add to control info.
+	sed -i "s/$controlfile_version/$VERSION_STRING/" prod_build/linux/debian/essentials/control
+	export UPDVER=1
+fi
+
+## Maybe we do have the version required? Then we don't need to build it again. CHECK IT THERE!
diff --git a/prod_build/linux/debian/scripts/pre-build.sh.save.3 b/prod_build/linux/debian/scripts/pre-build.sh.save.3
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/debian/scripts/pre-build.sh.save.4 b/prod_build/linux/debian/scripts/pre-build.sh.save.4
new file mode 100755
index 0000000000000000000000000000000000000000..654f03314690695086e59df787996a7ef4ae2707
--- /dev/null
+++ b/prod_build/linux/debian/scripts/pre-build.sh.save.4
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+#export_variables() {
+
+#IFS=$'\n'
+#for variable in $(cat prod_build/linux/debian/conf/*); do
+#	echo "$variable"
+#	export $(echo "$variable" | sed 's/\"//g')
+#done
+
+#}
+
+
+#installing required dependencies
+
+check_packages() {
+
+	IFS=" "
+	local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+	for element in "$PKG_DEPPIES"; do
+		echo "[DEBUGGA] Checking if $element is installed"
+		if ! dpkg-query -s $element; then 
+			echo "[WRN] Package $element is not installed. Starting installation"
+			return 1
+		fi
+	done
+	return 0
+
+}
+
+install_dependencies() {
+
+	if check_packages >> /dev/null; then
+		echo "[INF] All required packages are installed"
+	else
+		echo ""
+		local PKG_DEPPIES=$(echo $PKG_DEPS | sed 's/\"//g')
+		echo "[DEBUGGA] Attempting to install $PKG_DEPPIES"
+		if sudo apt-get install $PKG_DEPPIES -y ; then
+			echo ""
+			echo "[INF] Packages were installed successfully"
+		else
+			echo "[ERR] can\'t install required packages. Please, check your package manager"
+			echo "Aborting"
+			exit 1
+		fi
+	fi
+	return 0
+
+}
+
+#extract_version_number() {
+
+#IFS=" "
+#for entry in $VERSION_ENTRIES; do
+#	VERSION_STRING=$(echo $VERSION_STRING | sed "s/$entry/$( cat $VERSION_FILE | grep $entry | sed 's/ //g' | cut -d '=' -f2 )/") #Replacing templates with numbers
+#done
+#echo -e "project version is $VERSION_STRING"
+#
+#}
+
+#extract_gitlog_text() {
+#
+#borders=$( git log | grep -n 'commit\|Date' | head -n 3 | tail -n 2 | cut -d ':' -f1)
+#upb=$(echo $borders | cut -d $'\n' -f1)
+#dwnb=$(echo $borders | cut -d $'\n' -f2)
+#text=$(git log | head -n $( expr $dwnb - 2 ) | tail -n $( expr $dwnb - $upb - 3 ) )
+#echo $text
+#
+#}
+
+#. prod_build/general/install_dependencies
+. prod_build/general/pre-build.sh #VERSIONS and git
+export_variables "prod_build/linux/debian/conf/*"
+install_dependencies
+
+VERSION_STRING=$(echo $VERSION_FORMAT | sed "s/\"//g" ) #Removing quotes
+VERSION_ENTRIES=$(echo $VERSION_ENTRIES | sed "s/\"//g" )
+extract_version_number
+last_version_string=$(cat prod_build/linux/debian/essentials/changelog | head -n 1 | cut -d '(' -f2 | cut -d ')' -f1)
+
+
+echo $Mausam
+#if [ -z "$last_version_string"]; then 
+#	echo "Changelog won't be modified"
+#	exit 1;
+#fi
+
+if [ $( gitlab-runner -v 2> /dev/null ; echo $? ) == 0 ]; then 
+	echo "[WRN] on build platform. Version won't be changed"
+
+elif [ "$last_version_string" == "$VERSION_STRING" ]; then
+	echo "[INF] Version $last_version_string is equal to $VERSION_STRING. Nothing to change"
+
+else
+	echo "[INF] editing the changelog"
+	text=$(extract_gitlog_text)
+	IFS=$'\n'
+	for textline in $text; do
+		dch -v $VERSION_STRING $textline
+	done
+	branch=$(git branch | grep "*" | cut -c 3- )
+	case branch in
+		"master" ) branch="stable";;
+		"develop" ) branch="testing";;
+	esac
+	dch -r --distribution "$branch" --force-distribution ignored
+	controlfile_version=$(cat prod_build/linux/debian/essentials/control | grep "Standards" | cut -d ' ' -f2) #Add to control info.
+	sed -i "s/$controlfile_version/$VERSION_STRING/" prod_build/linux/debian/essentials/control
+	export UPDVER=1
+fi
+
+## Maybe we do have the version required? Then we don't need to build it again. CHECK IT THERE!
diff --git a/prod_build/linux/debian/scripts/test.sh b/prod_build/linux/debian/scripts/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2b1c7f0624520f549a447f7088f021aba7bc55de
--- /dev/null
+++ b/prod_build/linux/debian/scripts/test.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+echo "Stub for functionality testing"
+
diff --git a/prod_build/linux/ubuntu/scripts/compile.sh b/prod_build/linux/ubuntu/scripts/compile.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/ubuntu/scripts/deploy.sh b/prod_build/linux/ubuntu/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/ubuntu/scripts/pack.sh b/prod_build/linux/ubuntu/scripts/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/ubuntu/scripts/pre-build.sh b/prod_build/linux/ubuntu/scripts/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/linux/ubuntu/scripts/test.sh b/prod_build/linux/ubuntu/scripts/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/mac/scripts/compile.sh b/prod_build/mac/scripts/compile.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/mac/scripts/deploy.sh b/prod_build/mac/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/mac/scripts/pack.sh b/prod_build/mac/scripts/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/mac/scripts/pre-build.sh b/prod_build/mac/scripts/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/mac/scripts/test.sh b/prod_build/mac/scripts/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/windows/scripts/compile.sh b/prod_build/windows/scripts/compile.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/windows/scripts/deploy.sh b/prod_build/windows/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/windows/scripts/pack.sh b/prod_build/windows/scripts/pack.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/windows/scripts/pre-build.sh b/prod_build/windows/scripts/pre-build.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/prod_build/windows/scripts/test.sh b/prod_build/windows/scripts/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391