[ircd-ratbox] ratbox-services-1.1.2_p1 port install on FreeBSD 6.2

Lewis lewis at elasticmind.net
Wed Aug 29 18:35:46 UTC 2007


Greetings,

I have been working on getting a modified version of ratbox-services 
1.1.2 (referenced as ratbox-services-1.1.2_p1) to install as a port 
while following the FreeBSD hierarchy.

Based on recent testing and conversations with some of the developers, 
it is my understanding that with the options specified below, 
ratbox-servicess should attempt to detect a system-wide installation of 
sqlite, and only install its bundled sqlite3 package if it is not 
already available on the system.

Options specified during tests:
--prefix=/usr/local
--sysconfdir=/usr/local/etc
--with-logdir=/var/log
--with-rundir=/var/run
--with-helpdir=/usr/local/help
--without-sqlitebuild
--enable-sqlite=/usr/local

Unfortunately, when the system already has sqlite installed, 
ratbox-services would still build and install sqlite in accordance with 
its Makefile. In an attempt to try and prevent it from doing this, the 
Makefile was patched to remove the '@SQLITE_SUBDIR@' value of the 
'SUBDIRS=' variable. This had the desired effect of ratbox-services 
appearing to no longer error while building and installing its bundled 
version of sqlite; however, under these circumstances the build process 
would crash and burn with the following error:

--- Begin build/install output ---

===>  Building for ratbox-services-1.1.2
build -> src
cc -O2 -fno-strict-aliasing -pipe  -DPREFIX=\"/usr/local\" 
-DSYSCONFDIR=\"/usr/local/etc/\"  -DLOGDIR=\"/var/log\" 
-DRUNDIR=\"/var/run\" 
-DHELPDIR=\"/usr/local/share/ratbox-services/help\"  -o ratbox-services 
balloc.o c_error.o c_message.o c_mode.o cache.o channel.o client.o 
crypt.o conf.o dbhook.o email.o event.o hook.o io.o log.o match.o 
modebuild.o newconf.o rserv.o scommand.o service.o snprintf.o tools.o 
u_stats.o ucommand.o s_nickserv.o s_userserv.o s_chanserv.o s_operserv.o 
s_alis.o s_operbot.o s_jupeserv.o s_global.o s_banserv.o s_watchserv.o 
rsdb_sqlite3.o y.tab.o lex.yy.o ../sqlite3/.libs/libsqlite3.a -lcrypt -lfl
cc: ../sqlite3/.libs/libsqlite3.a: No such file or directory
*** Error code 1

--- End build/install output ---

I'm not sure how it is used, or if it helps, but after doing a quick 
check for the existance of the file 'libsqlite3.a', I found it was 
already installed by the system-version of sqlite3 in 
'/usr/local/lib/libsqlite3.a'.

If someone would be so kind as to take a look at the problem described, 
and if possible, shed some light on what might be going wrong, it would 
be very much appreciated.

A list of unified diffs used to patch the Makefiles for installation on 
FreeBSD can be found below. Thank you in advance for your time and 
consideration.

Regards.


--- Begin Patches ---

--- Makefile.in.orig    Fri Aug 24 17:24:41 2007
+++ Makefile.in Fri Aug 24 17:26:33 2007
@@ -6,7 +6,7 @@
 LIBS=@LIBS@
 LDFLAGS=@LDFLAGS@

-SUBDIRS=@SQLITE_SUBDIR@ src help
+SUBDIRS=src help

 prefix=@prefix@
 exec_prefix=@prefix@
@@ -37,20 +37,7 @@
        done

 install: build
-       $(INSTALL) -m 750 -d $(DESTDIR)$(prefix)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(bindir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(sbindir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(sysconfdir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(includedir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(logdir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(rundir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(helpdir)
-       $(INSTALL) -m 750 -d $(DESTDIR)$(includedir)
-       $(INSTALL) -m 750 tools/ircd-shortcut.pl $(DESTDIR)$(bindir)
-       $(INSTALL) -m 750 tools/dbupgrade.pl $(DESTDIR)$(bindir)
-       $(INSTALL) -m 640 tools/definetolength.pl $(DESTDIR)$(bindir)
        $(INSTALL) -m 750 src/$(BIN) $(DESTDIR)$(sbindir)
-       $(INSTALL) -m 640 doc/example.conf $(DESTDIR)$(sysconfdir)
        $(INSTALL) -m 640 include/setup.h $(DESTDIR)$(includedir)
        $(INSTALL) -m 640 include/rserv.h $(DESTDIR)$(includedir)
        $(INSTALL) -m 640 include/channel.h $(DESTDIR)$(includedir)


--- ./help/Makefile.in.orig     Fri Aug 24 12:32:24 2007
+++ ./help/Makefile.in  Fri Aug 24 12:15:25 2007
@@ -10,10 +10,10 @@
 SUBDIRS=alis main operbot chanserv userserv jupeserv operserv nickserv 
global banserv watchserv

 install:
-       $(INSTALL) -m 750 -d $(DESTDIR)$(helpdir)
+       $(INSTALL) -d $(DESTDIR)$(helpdir)

        @for i in $(SUBDIRS); do \
-               $(INSTALL) -m 750 -d $(DESTDIR)$(helpdir)/$$i; \
+               $(INSTALL) -d $(DESTDIR)$(helpdir)/$$i; \
                for j in $$i/*; do \
                        if [ -f $$j ]; then \
                                $(INSTALL_DATA) $$j 
$(DESTDIR)$(helpdir)/$$i; \


--- include/config.h.orig       Tue Aug 23 20:41:19 2005
+++ include/config.h    Sat Jan 28 22:08:14 2006
@@ -5,11 +5,13 @@
  * IMPORTANT: if you alter the directories these files go to,
  *            you must create those paths yourself.
  */
+#define DBDIR          "%%DBDIR%%"
+
 #define CONF_PATH      SYSCONFDIR "/ratbox-services.conf"
 #define PID_PATH       RUNDIR "/ratbox-services.pid"
 #define LOG_PATH       LOGDIR "/ratbox-services.log"
 #define HELP_PATH       HELPDIR
-#define DB_PATH                SYSCONFDIR "/ratbox-services.db"
+#define DB_PATH                DBDIR "/ratbox-services.db"

 /* SMALL_NETWORK
  * If your network is fairly small, enable this to save some memory.

--- End Patches ---


More information about the ircd-ratbox mailing list