Changeset: 240b8889d95f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/240b8889d95f
Modified Files:
        MonetDB.spec
Branch: Dec2025
Log Message:

Fixes to get compat RPM build to work again.
We need to compile with ODBC in order for the ODBC loader to be
available.  We still don't want the ODBC driver, though.


diffs (213 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -111,9 +111,7 @@ BuildRequires: unixODBC-devel
 BuildRequires: readline-devel
 %else
 BuildRequires: pkgconfig(bzip2)
-%if %{without compat}
 BuildRequires: pkgconfig(odbc)
-%endif
 BuildRequires: pkgconfig(readline)
 %endif
 %if %{with fits}
@@ -392,7 +390,7 @@ This package contains the MonetDB ODBC d
 %post client-odbc
 # install driver if first install of package or if driver not installed yet
 if [ "$1" -eq 1 ] || ! odbcinst -d -q -n MonetDB >& /dev/null; then
-odbcinst -i -d -r <<EOF
+    odbcinst -i -d -r <<\EOF
 [MonetDB]
 Description = ODBC for MonetDB
 Driver = %{_exec_prefix}/lib/libMonetODBC.so
@@ -404,7 +402,7 @@ fi
 
 %postun client-odbc
 if [ "$1" -eq 0 ]; then
-odbcinst -u -d -n MonetDB
+    odbcinst -u -d -n MonetDB
 fi
 
 %files client-odbc
@@ -844,16 +842,16 @@ package.  You probably don't need this, 
 %{_bindir}/example_proxy
 %{_bindir}/example_sessions
 %{_bindir}/example_temporal
+%endif
 
+%if %{without compat}
 %package testing-python
 Summary: MonetDB - Monet Database Management System
 Group: Applications/Databases
 Requires: %{name}-client-tests = %{version}-%{release}
 Requires: python3dist(pymonetdb) >= 1.9
 BuildArch: noarch
-%endif
 
-%if %{without compat}
 %description testing-python
 MonetDB is a database management system that is developed from a
 main-memory perspective with use of a fully decomposed storage model,
@@ -907,28 +905,34 @@ an mserver5 process started by monetdbd 
 read files in users' home directories.
 
 %post selinux
-for selinuxvariant in %{selinux_variants}
-do
-  /usr/sbin/semodule -s ${selinuxvariant} -i \
-    %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || :
+for selinuxvariant in %{selinux_variants}; do
+    /usr/sbin/semodule -s ${selinuxvariant} -i \
+        %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || :
 done
-/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
%{_rundir}/monetdb %{_bindir}/monetdbd* %{_bindir}/mserver5* 
%{_unitdir}/monetdbd.service &> /dev/null || :
+/sbin/restorecon -R %{_localstatedir}/monetdb5 \
+                %{_localstatedir}/log/monetdb \
+                %{_rundir}/monetdb %{_bindir}/monetdbd* \
+                %{_bindir}/mserver5* \
+                %{_unitdir}/monetdbd.service &> /dev/null || :
 /usr/bin/systemctl try-restart monetdbd.service
 
 %postun selinux
-if [ $1 -eq 0 ] ; then
-  active=`/usr/bin/systemctl is-active monetdbd.service`
-  if [ $active = active ]; then
-    /usr/bin/systemctl stop monetdbd.service
-  fi
-  for selinuxvariant in %{selinux_variants}
-  do
-    /usr/sbin/semodule -s ${selinuxvariant} -r monetdb &> /dev/null || :
-  done
-  /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
%{_rundir}/monetdb %{_bindir}/monetdbd* %{_bindir}/mserver5* 
%{_unitdir}/monetdbd.service &> /dev/null || :
-  if [ $active = active ]; then
-    /usr/bin/systemctl start monetdbd.service
-  fi
+if [ $1 -eq 0 ]; then
+    active=`/usr/bin/systemctl is-active monetdbd.service`
+    if [ $active = active ]; then
+        /usr/bin/systemctl stop monetdbd.service
+    fi
+    for selinuxvariant in %{selinux_variants}; do
+        /usr/sbin/semodule -s ${selinuxvariant} -r monetdb &> /dev/null || :
+    done
+    /sbin/restorecon -R %{_localstatedir}/monetdb5 \
+                     %{_localstatedir}/log/monetdb \
+                     %{_rundir}/monetdb %{_bindir}/monetdbd* \
+                     %{_bindir}/mserver5* \
+                     %{_unitdir}/monetdbd.service &> /dev/null || :
+    if [ $active = active ]; then
+        /usr/bin/systemctl start monetdbd.service
+    fi
 fi
 
 %files selinux
@@ -952,7 +956,7 @@ fi
         -DGEOM=%{?with_geos:ON}%{!?with_geos:OFF} \
         -DINT128=%{?with_hugeint:ON}%{!?with_hugeint:OFF} \
         -DNETCDF=OFF \
-        -DODBC=%{!?with_compat:ON}%{?with_compat:OFF} \
+        -DODBC=ON \
         
-DPY3INTEGRATION=%{?with_py3integration:ON}%{!?with_py3integration:OFF} \
         -DRINTEGRATION=%{?with_rintegration:ON}%{!?with_rintegration:OFF} \
         -DSANITIZER=OFF \
@@ -978,14 +982,18 @@ fi
 
 %install
 mkdir -p "${RPM_BUILD_ROOT}"/usr
-for d in etc var; do mkdir "${RPM_BUILD_ROOT}"/$d; ln -s ../$d 
"${RPM_BUILD_ROOT}"/usr/$d; done
+for d in etc var; do
+    mkdir "${RPM_BUILD_ROOT}"/$d
+    ln -s ../$d "${RPM_BUILD_ROOT}"/usr/$d
+done
 %cmake_install
 rm "${RPM_BUILD_ROOT}"/usr/var "${RPM_BUILD_ROOT}"/usr/etc
 
 # move file to correct location
 mkdir -p "${RPM_BUILD_ROOT}"%{_tmpfilesdir} "${RPM_BUILD_ROOT}"%{_sysusersdir}
-mv "${RPM_BUILD_ROOT}"%{_sysconfdir}/tmpfiles.d/monetdbd.conf 
"${RPM_BUILD_ROOT}"%{_tmpfilesdir}
-cat > "${RPM_BUILD_ROOT}"%{_sysusersdir}/monetdb.conf << EOF
+mv "${RPM_BUILD_ROOT}"%{_sysconfdir}/tmpfiles.d/monetdbd.conf \
+   "${RPM_BUILD_ROOT}"%{_tmpfilesdir}
+cat > "${RPM_BUILD_ROOT}"%{_sysusersdir}/monetdb.conf << \EOF
 u monetdb - "MonetDB Server" /var/lib/monetdb
 EOF
 rmdir "${RPM_BUILD_ROOT}"%{_sysconfdir}/tmpfiles.d
@@ -1000,11 +1008,11 @@ rm -f "${RPM_BUILD_ROOT}"%{_libdir}/mone
 rm -f "${RPM_BUILD_ROOT}"%{_libdir}/monetdb5*/lib_udf*.so
 rm -f "${RPM_BUILD_ROOT}"%{_bindir}/monetdb_mtest.sh
 
-if [ -x /usr/sbin/hardlink ]; then
-    /usr/sbin/hardlink -cv "${RPM_BUILD_ROOT}"%{_datadir}/selinux
+if [ -x /usr/bin/hardlink ]; then
+    # post unification of /bin and /sbin
+    /usr/bin/hardlink -cv "${RPM_BUILD_ROOT}"%{_datadir}/selinux
 else
-    # Fedora 31
-    /usr/bin/hardlink -cv "${RPM_BUILD_ROOT}"%{_datadir}/selinux
+    /usr/sbin/hardlink -cv "${RPM_BUILD_ROOT}"%{_datadir}/selinux
 fi
 
 # update shebang lines for Python scripts
@@ -1018,14 +1026,59 @@ fi
 
 %if %{with compat}
 # delete files that are not going to be installed in compat packages
-rm 
"${RPM_BUILD_ROOT}"%{_bindir}/{M{convert.py,test.py,z.py},bincopydata,example_proxy,m{alsample.pl,client,ktest.py,onetdb{,d},s{erver5,qldump},urltest},s{ample{0,1,4},hutdowntest,mack0{0,1},ql{logictest.py,sample.p{hp,l}},treamcat},testcondvar}
+rm "${RPM_BUILD_ROOT}"%{_bindir}/Mtest.py
+rm "${RPM_BUILD_ROOT}"%{_bindir}/Mz.py
+rm "${RPM_BUILD_ROOT}"%{_bindir}/ODBCgetInfo
+rm "${RPM_BUILD_ROOT}"%{_bindir}/ODBCmetadata
+rm "${RPM_BUILD_ROOT}"%{_bindir}/ODBCStmtAttr
+rm "${RPM_BUILD_ROOT}"%{_bindir}/ODBCtester
+rm "${RPM_BUILD_ROOT}"%{_bindir}/arraytest
+rm "${RPM_BUILD_ROOT}"%{_bindir}/backrefencode
+rm "${RPM_BUILD_ROOT}"%{_bindir}/bincopydata
+rm "${RPM_BUILD_ROOT}"%{_bindir}/demo_oob_read
+rm "${RPM_BUILD_ROOT}"%{_bindir}/demo_oob_write
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example1
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example2
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_append
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_append_raw
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_backup
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_blob
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_connections
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_copy
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_decimals
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_proxy
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_sessions
+rm "${RPM_BUILD_ROOT}"%{_bindir}/example_temporal
+rm "${RPM_BUILD_ROOT}"%{_bindir}/malsample.pl
+rm "${RPM_BUILD_ROOT}"%{_bindir}/mclient
+rm "${RPM_BUILD_ROOT}"%{_bindir}/mktest.py
+rm "${RPM_BUILD_ROOT}"%{_bindir}/monetdb
+rm "${RPM_BUILD_ROOT}"%{_bindir}/monetdbd
+rm "${RPM_BUILD_ROOT}"%{_bindir}/mserver5
+rm "${RPM_BUILD_ROOT}"%{_bindir}/msqldump
+rm "${RPM_BUILD_ROOT}"%{_bindir}/murltest
+rm "${RPM_BUILD_ROOT}"%{_bindir}/odbcconnect
+rm "${RPM_BUILD_ROOT}"%{_bindir}/odbcsample1
+rm "${RPM_BUILD_ROOT}"%{_bindir}/sample0
+rm "${RPM_BUILD_ROOT}"%{_bindir}/sample1
+rm "${RPM_BUILD_ROOT}"%{_bindir}/sample4
+rm "${RPM_BUILD_ROOT}"%{_bindir}/shutdowntest
+rm "${RPM_BUILD_ROOT}"%{_bindir}/smack00
+rm "${RPM_BUILD_ROOT}"%{_bindir}/smack01
+rm "${RPM_BUILD_ROOT}"%{_bindir}/sqllogictest.py
+rm "${RPM_BUILD_ROOT}"%{_bindir}/sqlsample.php
+rm "${RPM_BUILD_ROOT}"%{_bindir}/sqlsample.pl
+rm "${RPM_BUILD_ROOT}"%{_bindir}/streamcat
+rm "${RPM_BUILD_ROOT}"%{_bindir}/testcondvar
 rm -r "${RPM_BUILD_ROOT}"%{_datadir}/doc/MonetDB*
 rm "${RPM_BUILD_ROOT}"%{_datadir}/selinux/*/monetdb.pp
 rm -r "${RPM_BUILD_ROOT}"%{_datadir}/monetdb
 rm -r "${RPM_BUILD_ROOT}"%{_includedir}/monetdb
-rm "${RPM_BUILD_ROOT}"%{_libdir}/*.so 
"${RPM_BUILD_ROOT}"%{_libdir}/libmonetdbe.so.*
+rm "${RPM_BUILD_ROOT}"%{_libdir}/*.so
+rm "${RPM_BUILD_ROOT}"%{_libdir}/libmonetdbe.so.*
 rm -r "${RPM_BUILD_ROOT}"%{_libdir}/pkgconfig
-rm -r "${RPM_BUILD_ROOT}"%{_localstatedir}/lib/monetdb 
"${RPM_BUILD_ROOT}"%{_localstatedir}/monetdb5
+rm -r "${RPM_BUILD_ROOT}"%{_localstatedir}/lib/monetdb
+rm -r "${RPM_BUILD_ROOT}"%{_localstatedir}/monetdb5
 rm -r "${RPM_BUILD_ROOT}"%{_mandir}/man1
 rm -r "${RPM_BUILD_ROOT}"%{python3_sitelib}/MonetDBtesting
 rm "${RPM_BUILD_ROOT}"%{_sysconfdir}/logrotate.d/monetdbd
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to