diff options
Diffstat (limited to 'dev-db/firebird')
-rw-r--r-- | dev-db/firebird/Manifest | 2 | ||||
-rw-r--r-- | dev-db/firebird/files/firebird.init.d.3.0-r1 | 22 | ||||
-rw-r--r-- | dev-db/firebird/firebird-3.0.4.33054.0-r3.ebuild | 228 |
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" +} |