]> wagnertech.de Git - projects.git/blobdiff - Configure
libcob-ocesql build
[projects.git] / Configure
index 325f710c5eb07951b0c95e674d6739b82298cb3c..ecc04ce758474d1d5e0d87f41ff2af25b9820567 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -8,38 +8,139 @@ PROJECT = libcob-ocesql mconnect webssh
 USAGE
 }
 
-if [ -z "$1" ]
-then
+function write_deb {
+       # $1: package name
+       # $2: compile_typ
+       cat <<ANY_DEB >debian/$1.conf
+# generated by configure
+compile_type=$2
+target_type=DEB
+ANY_DEB
+}
+
+function write_changelog {
+       # $1: package name
+       cat <<CHANGELOG >debian/$1.changelog
+projects (%VERSION%-%BUILD%) unstable; urgency=medium
+  * generated by configure
+ -- Michael Wagner <info@wagnertech.de>  Fri, 05 Dec 2025 20:03:04 +0100
+CHANGELOG
+}
+
+function write_eclipse_control {
+       # $1: package name
+       cat <<CONTROL >debian/$1.control
+Source: projects
+Section: main
+Priority: optional
+Maintainer: Michael Wagner <michael@wagnertech.de>
+Build-Depends: git, mbuild
+Package: $1
+Architecture: _DEB_HOST_ARCH
+Depends: $2
+Description: http://eclipse.org
+CONTROL
+}
+
+function write_eclipse_cp {
+       # $1: package name
+       cat <<CP >debian/$1.cp
+#!/bin/bash
+set -e
+
+mkdir -p \$1/opt/$1/
+cp -a Downloads/eclipse/* \$1/opt/$1/
+CP
+}
+
+function write_eclipse_postinst {
+       # $1: package name
+       cat <<POSTINST >debian/$1.postinst
+#!/bin/bash
+set -e
+
+for user in user nutzer kurs; do
+       if [ -d /home/\$user ]; then
+               echo "Install eclipse for user \$user"
+               pushd /home/\$user >/dev/null
+
+                       if [ -d Schreibtisch ]; then
+                               pushd Schreibtisch >/dev/null
+                                       su \$user -c "ln -sf /opt/eclipse-cpp/eclipse ."
+                               popd >/dev/null
+                       fi
+
+                       if [ -d Desktop ]; then
+                               pushd Desktop >/dev/null
+                                       su \$user -c "ln -sf /opt/eclipse-cpp/eclipse ."
+                               popd >/dev/null
+                       fi
+               popd >/dev/null
+       fi
+done
+POSTINST
+}
+
+function write_eclipse_prepare {
+       # $1: package name
+       # $2: ECLIPSE_PATTERN
+       cat <<PREPARE >debian/$1.prepare
+#!/bin/bash
+set -e
+
+debian/eclipse.prepare $2
+PREPARE
+}
+
+function configure_eclipse {
+       # $1: package name
+       # $2: ECLIPSE_PATTERN
+       # $3: additional dependencies
+
+       write_deb $1 NONE
+       write_changelog $1
+       write_eclipse_control $1 "$3"
+       write_eclipse_cp $1
+       chmod 755 debian/$1.cp
+       write_eclipse_postinst $1
+       chmod 755 debian/$1.postinst
+       write_eclipse_prepare $1 $2
+       chmod 755 debian/$1.prepare
+       mconfigure -V $1
+}
+
+if [ -z "$1" ]; then
        usage
        exit 7
 fi
 
 case $1 in
 
-mconnect)
-       cat <<MCONNECT >debian/mconnect.conf
-# generated by configure
-compile_type=NONE
-target_type=DEB
-MCONNECT
-       mconfigure mconnect
+eclipse-cpp)
+       configure_eclipse eclipse-cpp "eclipse-cpp*.tar.gz" "build-essential,gdb"
        ;;
-
+       
+eclipse-php)
+       configure_eclipse eclipse-php "eclipse-php*.tar.gz" php
+       ;;
+       
 libcob-ocesql)
-       cat <<OCESQL >debian/libcob-ocesql.conf
-# generated by configure
-compile_type=ANY
-target_type=DEB
-OCESQL
-       mconfigure -v 1.4 libcob-ocesql
+       if [ -z "$2" ]; then
+               echo "supply version as 2nd parameter"
+               exit 131
+       fi
+       write_deb libcob-ocesql ANY
+       mconfigure -v $2 libcob-ocesql
+       ;;
+
+mconnect)
+       write_deb mconnect ANY
+       mconfigure mconnect
        ;;
 
 webssh)
-       cat <<WEBSSH >debian/webssh.conf
-# generated by configure
-compile_type=ANY
-target_type=DEB
-WEBSSH
+       write_deb webssh ANY
        mconfigure -V webssh
        ;;
 
@@ -49,3 +150,4 @@ WEBSSH
        exit 25
        ;;
 esac
+