91 lines
3.9 KiB
Python
91 lines
3.9 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Licensed under the GNU General Public License, version 3.
|
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
|
|
|
import os
|
|
from pisi.actionsapi import autotools
|
|
from pisi.actionsapi import pisitools
|
|
from pisi.actionsapi import shelltools
|
|
from pisi.actionsapi import get
|
|
|
|
WorkDir="Firebird-%s-0" % get.srcVERSION()
|
|
|
|
def setup():
|
|
shelltools.export("CFLAGS", "%s -fno-strict-aliasing" % get.CFLAGS())
|
|
#shelltools.export("CXXFLAGS", "%s -std=gnu++98 -fno-lifetime-dse" % get.CXXFLAGS())
|
|
shelltools.export("CXXFLAGS", "%s -fno-lifetime-dse" % get.CXXFLAGS())
|
|
pisitools.dosed("src/isql/isql.epp", '"isql\s', '"fbsql ')
|
|
pisitools.dosed("src/msgs/history2.sql", 'isql\s', 'fbsql ')
|
|
pisitools.dosed("src/msgs/messages2.sql", 'isql\s', 'fbsql ')
|
|
pisitools.dosed("src/msgs/messages2.sql", 'ISQL\s', 'FBSQL ')
|
|
shelltools.system("find ./ -name \*.sh -print0 | xargs -0 chmod +x")
|
|
for d in ("btyacc", "editline", "icu"):
|
|
shelltools.unlinkDir("extern/%s" % d)
|
|
autotools.autoreconf("-fi")
|
|
autotools.configure("--prefix=/opt/firebird \
|
|
--disable-static \
|
|
--enable-superserver \
|
|
--with-editline \
|
|
--with-gnu-ld \
|
|
--with-system-editline \
|
|
--with-system-icu \
|
|
")
|
|
|
|
def build():
|
|
#Parallel build is broken
|
|
#shelltools.export("CXXFLAGS", "%s -std=gnu++98 -fno-lifetime-dse" % get.CXXFLAGS())
|
|
shelltools.export("CXXFLAGS", "%s -fno-lifetime-dse" % get.CXXFLAGS())
|
|
autotools.make("-j1")
|
|
shelltools.cd("gen")
|
|
pisitools.dosed("install/makeInstallImage.sh", "exit 1", "# exit 1")
|
|
pisitools.dosed("install/makeInstallImage.sh", "chown", 'echo ""# chown')
|
|
pisitools.dosed("install/makeInstallImage.sh", "chmod", 'echo ""# chmod')
|
|
autotools.make("-f Makefile.install buildRoot")
|
|
|
|
def install():
|
|
# Copy to install directory
|
|
shelltools.copytree("gen/buildroot/", get.installDIR())
|
|
|
|
# Move headers
|
|
pisitools.remove("/usr/include/*")
|
|
pisitools.domove("/opt/firebird/include", "/usr/include", "firebird")
|
|
|
|
# Fix client libraries symlinks
|
|
pisitools.removeDir("/usr/lib*")
|
|
for libs in os.listdir("%s/opt/firebird/lib" % get.installDIR()):
|
|
pisitools.dosym("/opt/firebird/lib/%s" % libs, "/usr/lib/%s" % libs)
|
|
pisitools.dosym("/opt/firebird/plugins/libfbtrace.so", "/usr/lib/libfbtrace.so")
|
|
|
|
# Add support for old client's
|
|
pisitools.dosym("libfbclient.so", "/usr/lib/libgds.so")
|
|
pisitools.dosym("libfbclient.so", "/usr/lib/libgds.so.0")
|
|
pisitools.dosym("libfbclient.so", "/opt/firebird/lib/libgds.so")
|
|
pisitools.dosym("libfbclient.so", "/opt/firebird/lib/libgds.so.0")
|
|
|
|
# Move configuration files and security DB to /etc/firebird for painless upgrade
|
|
pisitools.domove("/opt/firebird/aliases.conf", "/etc/firebird")
|
|
pisitools.domove("/opt/firebird/firebird.conf", "/etc/firebird")
|
|
pisitools.domove("/opt/firebird/security2.fdb", "/etc/firebird")
|
|
pisitools.dosym("/etc/firebird/aliases.conf", "/opt/firebird/aliases.conf")
|
|
pisitools.dosym("/etc/firebird/firebird.conf", "/opt/firebird/firebird.conf")
|
|
pisitools.dosym("/etc/firebird/security2.fdb", "/opt/firebird/security2.fdb")
|
|
|
|
# Set PID directory
|
|
shelltools.makedirs("%s/run/firebird" % get.installDIR())
|
|
#pisitools.dodir("/opt/firebird/run")
|
|
|
|
# Set permissions
|
|
shelltools.chmod("%s/etc/firebird/security2.fdb" % get.installDIR(), 0600)
|
|
shelltools.chmod("%s/run/firebird" % get.installDIR(), 0755)
|
|
#shelltools.chmod("%s/opt/firebird/run" % get.installDIR(), 0755)
|
|
|
|
pisitools.dosym("/var/log/firebird.log", "/opt/firebird/firebird.log")
|
|
|
|
# Useless init.d stuff
|
|
pisitools.removeDir("/opt/firebird/misc/")
|
|
|
|
# Prevent to conflict isql with UnixODBC's
|
|
pisitools.domove("/opt/firebird/bin/isql", "/opt/firebird/bin", "fb_isql")
|