summaryrefslogtreecommitdiff
path: root/dev-db/firebird
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/firebird')
-rw-r--r--dev-db/firebird/Manifest2
-rw-r--r--dev-db/firebird/files/firebird.init.d.3.0-r122
-rw-r--r--dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild228
3 files changed, 252 insertions, 0 deletions
diff --git a/dev-db/firebird/Manifest b/dev-db/firebird/Manifest
index 40fa1d062495..e354b24ff792 100644
--- a/dev-db/firebird/Manifest
+++ b/dev-db/firebird/Manifest
@@ -1,9 +1,11 @@
AUX firebird-3.0.2.32703.0-cloop-compiler.patch 349 BLAKE2B 6906993819f5aa68c39522d82bb7fb57b910f8f311d173a326147a98e983d8cd95ca90dbb538a5caa696ce4337305ece744306bf88f608cc8639bdda198e4576 SHA512 1d57f26ada2023d8bd04d73dd0f55951cef6b373710c8cf73b6bea0b4d54f879d689644d26541b2366bd1071b08eda2e1b531f3779a88b8fb52d3c9312f0c091
AUX firebird-3.0.2.32703.0-unbundle.patch 1786 BLAKE2B 660af04975ecfdac0ae12a1ee89e0a4d97d321ac7de7e17ba53484a909962584828c18d1f119ecc1af63c1cb2b93f451b847c9363a25831630a807b89ad13bc8 SHA512 bb0f8cb283ee230f9128a9da16da21933a1709615b34bbfac117a0563e2451a07381b52ffc1fed665e74688ff8e2c2548f86c1413427665914cb3df8500543c5
AUX firebird.init.d.3.0 642 BLAKE2B 70f9b07a69c01e391ea8b1f1747a35eb303ff43a4923d65f76064257bfe5178601fa0b06dbf332b6a3529df30ddbe3e3c58e170ca33acfeb06a32474f1806938 SHA512 0805311d7e4ceb9cd5266be88fe61fb7d2d7cf5bf3c9482841c6431767cba9960d4f38418629519b23cdf64893173ebd01641056123ddc7f24c1f1bbf969812b
+AUX firebird.init.d.3.0-r1 637 BLAKE2B 18d947e20229f217ba0fb2d1df2cab8241c1f7e48087c0673cd02c43f3653b3d68fcc99359dffd1c5c6dffec0c0f50ca7ea16eb1042ca4a1fd0deb386c0847b9 SHA512 91393e1dd2a543a0382502897bed38f1d77f20c291e76bf6c27d77bf9e820cae714c6643b7f464d1e3b3294c4fee49e818c8cf57601bdf72221fcf63105fa50a
AUX firebird.logrotate 169 BLAKE2B 84d2d17eb1b2afa10ec17788add2ec09e42b354d7e4c9e513fe0c0f7d88390d26d41293b327b658c940d620b871796f3c41eb6b6fc69d9aae61ccb04308425c5 SHA512 d2c7c218e3ce5570e3c89408b391f754c900f5d7074a75f38eb08c66c6f0695eae5db62c80d7937d076f32f1b62b3cbc755f1d4ec633b24ed2b9a7043e531d2f
AUX firebird.xinetd.3.0 193 BLAKE2B 34017b978344bc2b05cfe7b92eafd56ba20dd78d1fa21dfb5455d7972325cedae9a6ac25b4fa491899b19cb3bbe2949b8ca78626467100661767f6c944b01c20 SHA512 e02c011b55c1d6823b051d14dbfabef6d034db32ee8046adc796fdf393c837b995c270e0efdcb97950f6fead82cd73773099a247dc29961b0e8f6c4f6c0723ae
DIST Firebird-3.0.4.33054-0.tar.bz2 9778106 BLAKE2B 4b9116cbc351e0c2e10d15e6ea8e9754a383da77d8e016337604143eb2677ff2519da34b1a5c2e9b7b071fa9774eddbb535e9f926058ee626573b0411f6c042d SHA512 a346ebd53aeccf0b33eac5d35c3c3356624c1fbd0ad897173b3f68d940143062b28460a2822df807e8e8a1ea8792ebf98ed33e5b3ae273d86e6e36295a7fc8ad
DIST ib_b60_doc.zip 10530848 BLAKE2B b4008b3e8b0416014d024cbbc9ac2e648ad671c71b91b7aeb0eedf0f8479aef80e22aff7105c5e7417e88bcf57f2cdacbc2d5f51a2ef7fb870f9d361c5f0ed6d SHA512 59eccf1d6b1f0410eddbc5967fd77a3d00e09749640b3f81e2f8b624f5a45461dffad4af5ec61488e941fb3d3af266fe86c0b56e6b7e023239537cb6557a145a
EBUILD firebird-3.0.4.33054.0-r2.ebuild 5998 BLAKE2B e84183dd9b35781e7d896f8f48ec575d1a4d9c01bc9bcaad327a0467d408c5aed957d30d411925a44fdf6582619e58aa640db64caa32f0d582ddace6804d73af SHA512 532725cb1fadc031eb91f828a0b7cdb346f39e1eec036ceef6fe1e633b8c4ef25eef7f21faa277d91c65a97611b787952c80335385ddff19a102bb746c79fd7d
+EBUILD firebird-3.0.4.33054.0-r3.ebuild 6001 BLAKE2B b739f1109f153bb1c2404757895b45041d8459506cd743170fd88219fd91aeae28de853ab31df7bd0eb371c82501e76718c9b36ea1f6a9ae1d40bee2c7c034ab SHA512 474b5d85b6fa2a94ffa2bc9ad2ae0bc7b3253268c5b44c4727035e242d1503c87b464be46182b671e36330be031afa3b88bb2bac60ea313ebabcce1d57f735dd
MISC metadata.xml 838 BLAKE2B b2f41a15ced8852adfbaca56fa23dd1c3f19097b94505a7a6a95752c0224ca323973b864bcd766894ace5523244df45c7d0ff2eeea23c1fc16379eb268607ee2 SHA512 0b58fc9bf9e8f8be98472866341164dbb582b25e68f2606de1bf2e9b708e5a1da6bfc5003ba944e42ea1a3ae4109dfdf668a4908d7b9368fecae458c877f4a37
diff --git a/dev-db/firebird/files/firebird.init.d.3.0-r1 b/dev-db/firebird/files/firebird.init.d.3.0-r1
new file mode 100644
index 000000000000..c49ea97f9203
--- /dev/null
+++ b/dev-db/firebird/files/firebird.init.d.3.0-r1
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+name=${RC_SVCNAME}
+
+fbhomedir="/var/run/firebird"
+fblogdir="/var/log/firebird"
+pidfile="${fbhomedir}/firebird.pid"
+command="/usr/sbin/fbguard"
+command_args="-forever"
+command_args_background="-daemon -pidfile $pidfile"
+command_user="${FBUSER:-firebird}:${FBGROUP:-firebird}"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -q -d -m 0770 -o ${FBUSER:-firebird}:${FBGROUP:-firebird} ${fbhomedir} || return 1
+ checkpath -q -d -m 0770 -o ${FBUSER:-firebird}:${FBGROUP:-firebird} ${fblogdir} || return 1
+}
diff --git a/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild b/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild
new file mode 100644
index 000000000000..3ee04900edfe
--- /dev/null
+++ b/dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P=${PN/f/F}-$(ver_rs 4 '-')
+inherit autotools flag-o-matic
+
+DESCRIPTION="Relational database offering many ANSI SQL:2003 and some SQL:2008 features"
+HOMEPAGE="https://www.firebirdsql.org/"
+SRC_URI="
+ https://github.com/FirebirdSQL/firebird/releases/download/R$(ver_rs 1-3 '_' $(ver_cut 1-3))/${MY_P}.tar.bz2
+ doc? ( ftp://ftpc.inprise.com/pub/interbase/techpubs/ib_b60_doc.zip )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="IDPL Interbase-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples +server xinetd"
+
+BDEPEND="
+ >=dev-util/btyacc-3.0-r2
+ doc? ( app-arch/unzip )
+"
+# FIXME: cloop?
+DEPEND="
+ dev-libs/icu:=
+ dev-libs/libedit
+ dev-libs/libtommath
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/firebird
+ acct-user/firebird
+ xinetd? ( virtual/inetd )
+ !sys-cluster/ganglia
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.2.32703.0-unbundle.patch
+ "${FILESDIR}"/${PN}-3.0.2.32703.0-cloop-compiler.patch
+)
+
+pkg_pretend() {
+ if [[ -e /var/run/${PN}/${PN}.pid ]] ; then
+ ewarn
+ ewarn "The presence of server connections may prevent isql or gsec"
+ ewarn "from establishing an embedded connection. Accordingly,"
+ ewarn "creating employee.fdb or security3.fdb could fail."
+ ewarn "It is more secure to stop the firebird daemon before running emerge."
+ ewarn
+ fi
+}
+
+check_sed() {
+ MSG="sed of $3, required $2 line(s) modified $1"
+ einfo "${MSG}"
+ [[ $1 -ge $2 ]] || die "${MSG}"
+}
+
+src_unpack() {
+ unpack "${MY_P}.tar.bz2"
+ if use doc; then
+ # Unpack docs
+ mkdir "manuals" || die
+ cd "manuals" || die
+ unpack ib_b60_doc.zip
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Rename references to isql to fbsql
+ # sed vs patch for portability and addtional location changes
+ check_sed "$(sed -i -e 's:"isql :"fbsql :w /dev/stdout' \
+ src/isql/isql.epp | wc -l)" "1" "src/isql/isql.epp" # 1 line
+ check_sed "$(sed -i -e 's:isql :fbsql :w /dev/stdout' \
+ src/msgs/history2.sql | wc -l)" "4" "src/msgs/history2.sql" # 4 lines
+ check_sed "$(sed -i -e 's:--- ISQL:--- FBSQL:w /dev/stdout' \
+ -e 's:isql :fbsql :w /dev/stdout' \
+ -e 's:ISQL :FBSQL :w /dev/stdout' \
+ src/msgs/messages2.sql | wc -l)" "6" "src/msgs/messages2.sql" # 6 lines
+
+ find . -name \*.sh -exec chmod +x {} + || die
+ rm -r extern/{btyacc,editline,icu} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -fprefetch-loop-arrays
+ filter-mfpmath sse
+
+ # otherwise this doesnt build with gcc-6
+ # http://tracker.firebirdsql.org/browse/CORE-5099
+ append-cflags -fno-sized-deallocation -fno-delete-null-pointer-checks
+ append-cxxflags -fno-sized-deallocation -fno-delete-null-pointer-checks -std=c++11
+
+ local myeconfargs=(
+ --prefix=/usr/$(get_libdir)/firebird
+ --with-editline
+ --with-system-editline
+ --with-fbbin=/usr/bin
+ --with-fbsbin=/usr/sbin
+ --with-fbconf=/etc/${PN}
+ --with-fblib=/usr/$(get_libdir)
+ --with-fbinclude=/usr/include
+ --with-fbdoc=/usr/share/doc/${PF}
+ --with-fbudf=/usr/$(get_libdir)/${PN}/UDF
+ --with-fbsample=/usr/share/doc/${PF}/examples
+ --with-fbsample-db=/usr/share/doc/${PF}/examples/db
+ --with-fbhelp=/usr/$(get_libdir)/${PN}/help
+ --with-fbintl=/usr/$(get_libdir)/${PN}/intl
+ --with-fbmisc=/usr/share/${PN}
+ --with-fbsecure-db=/etc/${PN}
+ --with-fbmsg=/usr/$(get_libdir)/${PN}
+ --with-fblog=/var/log/${PN}/
+ --with-fbglock=/var/run/${PN}
+ --with-fbplugins=/usr/$(get_libdir)/${PN}/plugins
+ --with-gnu-ld
+ )
+ econf "${myeconfargs[@]}"
+}
+
+# from linux underground, merging into this here
+src_install() {
+ if use doc; then
+ dodoc -r doc
+ find "${WORKDIR}"/manuals -type f -iname "*.pdf" -exec dodoc '{}' + || die
+ fi
+
+ cd "${S}/gen/Release/${PN}" || die
+
+ doheader include/*
+ dolib.so lib/*.so*
+
+ # links for backwards compatibility
+ insinto /usr/$(get_libdir)
+ dosym libfbclient.so /usr/$(get_libdir)/libgds.so
+ dosym libfbclient.so /usr/$(get_libdir)/libgds.so.0
+ dosym libfbclient.so /usr/$(get_libdir)/libfbclient.so.1
+
+ insinto /usr/share/${PN}/msg
+ doins *.msg
+
+ use server || return
+
+ einfo "Renaming isql -> fbsql"
+ mv bin/isql bin/fbsql || die "failed to rename isql -> fbsql"
+
+ dobin bin/{fb_config,fbsql,fbsvcmgr,fbtracemgr,gbak,gfix,gpre,gsec,gsplit,gstat,nbackup,qli}
+ dosbin bin/{firebird,fbguard,fb_lock_print}
+
+ insinto /usr/share/${PN}/help
+ # why???
+ insopts -m0660 -o firebird -g firebird
+ doins help/help.fdb
+
+ exeinto /usr/$(get_libdir)/${PN}/intl
+ doexe intl/libfbintl.so
+ dosym libfbintl.so /usr/$(get_libdir)/${PN}/intl/fbintl.so
+
+ insinto /usr/$(get_libdir)/${PN}/intl
+ insopts -m0644 -o root -g root
+ doins intl/fbintl.conf
+
+ # plugins
+ exeinto /usr/$(get_libdir)/${PN}/plugins
+ doexe plugins/*.so
+ exeinto /usr/$(get_libdir)/${PN}/plugins/udr
+ doexe plugins/udr/*.so
+
+ exeinto /usr/$(get_libdir)/${PN}/UDF
+ doexe UDF/*.so
+
+ # logging (do we really need the perms?)
+ diropts -m 755 -o firebird -g firebird
+ dodir /var/log/${PN}
+ keepdir /var/log/${PN}
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # configuration files
+ insinto /etc/${PN}/plugins
+ doins plugins/udr_engine.conf
+ insinto /etc/${PN}
+ doins {databases,fbtrace,firebird,plugins}.conf
+
+ # install secutity3.fdb
+ insopts -m0660 -o firebird -g firebird
+ doins security3.fdb
+
+ if use xinetd; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${PN}.xinetd.3.0" ${PN}
+ else
+ newinitd "${FILESDIR}/${PN}.init.d.3.0-r1" ${PN}
+ fi
+
+ if use examples; then
+ cd examples || die
+ insinto /usr/share/${PN}/examples
+ insopts -m0644 -o root -g root
+ doins -r api
+ doins -r dbcrypt
+ doins -r include
+ doins -r interfaces
+ doins -r package
+ doins -r stat
+ doins -r udf
+ doins -r udr
+ doins CMakeLists.txt
+ doins functions.c
+ doins README
+ insinto /usr/share/${PN}/examples/empbuild
+ insopts -m0660 -o firebird -g firebird
+ doins empbuild/employee.fdb
+ fi
+
+ elog "Starting with version 3, server mode is set in firebird.conf"
+ elog "The default setting is superserver."
+ elog
+ elog "If you're using UDFs, please remember to move them to /usr/$(get_libdir)/firebird/UDF"
+}