Просмотр исходного кода

upgrade 2.0.15 -> 3.0, is not forward compatible, see homepage for a migration tool (rt2_to_rt3)

Michael van Elst 22 лет назад
Родитель
Сommit
c9589d7e79
6 измененных файлов с 252 добавлено и 234 удалено
  1. 22 0
      rt/config.layout
  2. 215 106
      rt/rt.spec
  3. 3 2
      rt/rtapache.conf
  4. 4 22
      rt/rtcleanup
  5. 4 83
      rt/rtsetup
  6. 4 21
      rt/rtupgrade

+ 22 - 0
rt/config.layout

@@ -0,0 +1,22 @@
+#   OpenPKG RT3 path layout.
+<Layout OPKG>
+  prefix:		@l_prefix@
+  exec_prefix:		${prefix}
+  bindir:		${exec_prefix}/bin
+  sbindir:		${exec_prefix}/libexec/rt/tools
+  sysconfdir:		${prefix}/libexec/rt/etc
+  mandir:		${prefix}/man
+  libdir:		${prefix}/libexec/rt
+  datadir:		${prefix}/share/rt
+  htmldir:		${libdir}/WebRT/html
+  manualdir:		${datadir}
+  localstatedir:	${prefix}/var/rt
+  logfiledir:		${localstatedir}/log
+  masonstatedir:	${localstatedir}/mason-data
+  sessionstatedir:	${localstatedir}/mason-session
+  customdir:		${prefix}/libexec/rt/local
+  customhtmldir:	${customdir}/html
+  customlexdir:		${customdir}/po
+  customlibdir:		${customdir}/lib
+</Layout>
+

+ 215 - 106
rt/rt.spec

@@ -24,11 +24,18 @@
 ##
 
 #   package versions
-%define       V_real         2-0-15
-%define       V_here         2.0.15
-%define       V_log_dispatch 2.04
-%define       V_html_mason   1.19
-%define       V_libapreq     1.1
+%define       V_real                       3-0-0
+%define       V_here                       3.0.0
+%define       V_log_dispatch               2.04
+%define       V_html_mason                 1.19
+%define       V_libapreq                   1.1
+%define       V_www_mechanize              0.38
+%define       V_mldbm                      2.01
+%define       V_html_format                2.03
+%define       V_test_inline                0.15
+%define       V_locale_maketext_lexicon    0.16
+%define       V_locale_maketext_fuzzy      0.02
+%define       V_regexp_common              2.112
 
 #   package information
 Name:         rt
@@ -40,20 +47,28 @@ Distribution: OpenPKG [EVAL]
 Group:        Database
 License:      GPL
 Version:      %{V_here}
-Release:      20030324
+Release:      20030327
 
 #   list of sources
 Source0:      http://www.cpan.org/modules/by-module/Log/Log-Dispatch-%{V_log_dispatch}.tar.gz
 Source1:      http://www.cpan.org/modules/by-authors/id/J/JI/JIMW/libapreq-%{V_libapreq}.tar.gz
 Source2:      http://www.cpan.org/modules/by-module/HTML/HTML-Mason-%{V_html_mason}.tar.gz
-Source3:      http://www.fsck.com/pub/rt/release/rt-%{V_real}.tar.gz
-Source4:      rc.rt
-Source5:      rtsetup
-Source6:      rtcleanup
-Source7:      rtupgrade
-Source8:      rtapachectl
-Source9:      rt-mailgate.c
-Source10:     rtapache.conf
+Source3:      http://www.cpan.org/modules/by-authors/id/P/PE/PETDANCE/WWW-Mechanize-%{V_www_mechanize}.tar.gz
+Source4:      http://www.cpan.org/modules/by-authors/id/C/CH/CHAMAS/MLDBM-%{V_mldbm}.tar.gz
+Source5:      http://www.cpan.org/modules/by-authors/id/S/SB/SBURKE/HTML-Format-%{V_html_format}.tar.gz
+Source6:      http://www.cpan.org/modules/by-authors/id/M/MS/MSCHWERN/Test-Inline-%{V_test_inline}.tar.gz
+Source7:      http://www.cpan.org/modules/by-authors/id/A/AU/AUTRIJUS/Locale-Maketext-Lexicon-%{V_locale_maketext_lexicon}.tar.gz
+Source8:      http://www.cpan.org/modules/by-authors/id/A/AU/AUTRIJUS/Locale-Maketext-Fuzzy-%{V_locale_maketext_fuzzy}.tar.gz
+Source9:      http://www.cpan.org/modules/by-authors/id/A/AB/ABIGAIL/Regexp-Common-%{V_regexp_common}.tar.gz
+Source10:     http://www.fsck.com/pub/rt/release/rt-%{V_real}.tar.gz
+Source11:     rc.rt
+Source12:     rtsetup
+Source13:     rtcleanup
+Source14:     rtupgrade
+Source15:     rtapachectl
+Source16:     rt-mailgate.c
+Source17:     rtapache.conf
+Source18:     config.layout
 
 #   build information
 Prefix:       %{l_prefix}
@@ -83,10 +98,24 @@ AutoReqProv:  no
     %setup -q -T -D -a 1
     %setup -q -T -D -a 2
     %setup -q -T -D -a 3
+    %setup -q -T -D -a 4
+    %setup -q -T -D -a 5
+    %setup -q -T -D -a 6
+    %setup -q -T -D -a 7
+    %setup -q -T -D -a 8
+    %setup -q -T -D -a 9
+    %setup -q -T -D -a 10
+    %{l_shtool} install -c -m 0644 \
+        -e 's;@l_prefix@;%{l_prefix};' \
+        %{SOURCE config.layout} rt-%{V_real}/.
+    %{l_shtool} subst \
+      -e 's;chown;true;g' \
+      -e 's;chgrp;true;g' \
+      -e 's;chmod;true;g' \
+      -e 's;mkdir -p;%{l_shtool} mkdir -p;g' \
+      rt-%{V_real}/Makefile.in
 
 %build
-    rm -rf $RPM_BUILD_ROOT
-
     #   compile SUID wrapper
     mkdir suidwrap
     ( cd suidwrap
@@ -97,7 +126,28 @@ AutoReqProv:  no
         -e 's;@l_rgrp@;%{l_rgrp};g' \
         rt-mailgate.c
       %{l_cc} -o rt-mailgate rt-mailgate.c
-    )
+    ) || exit $?
+
+    ( cd rt-%{V_real}
+      %{l_shtool} subst \
+        -e 's;/usr/sbin/sendmail;%{l_prefix}/sbin/sendmail;g' \
+        etc/RT_Config.pm.in
+      PERL=%{l_prefix}/bin/perl
+      ./configure \
+        --enable-layout=OPKG \
+        --with-db-type=mysql \
+        --with-db-host=localhost \
+        --with-db-home=%{l_prefix} \
+        --with-db-dba=root \
+        --with-db-database=RT \
+        --with-db-user=RT \
+        --with-db-pass=XXX \
+        --with-web-user=%{l_nusr} \
+        --with-web-group=%{l_ngrp}
+    ) || exit $?
+
+%install
+    rm -rf $RPM_BUILD_ROOT
 
     #   perform common prolog operations
     rt=%{l_prefix}/libexec/rt
@@ -120,6 +170,18 @@ AutoReqProv:  no
       $make $make_args pure_install
     ) || exit $?
 
+    ( cd HTML-Mason-%{V_html_mason}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
     ( cd libapreq-%{V_libapreq}
       perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
       make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
@@ -132,7 +194,79 @@ AutoReqProv:  no
       $make $make_args pure_install
     ) || exit $?
 
-    ( cd HTML-Mason-%{V_html_mason}
+    ( cd WWW-Mechanize-%{V_www_mechanize}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
+    ( cd MLDBM-%{V_mldbm}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
+    ( cd HTML-Format-%{V_html_format}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
+    ( cd Test-Inline-%{V_test_inline}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
+    ( cd Locale-Maketext-Lexicon-%{V_locale_maketext_lexicon}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
+    ( cd Locale-Maketext-Fuzzy-%{V_locale_maketext_fuzzy}
+      perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
+      make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
+      make_args="PERL=${perl} FULLPERL=${perl}"
+      chmod -R u+rw Makefile.PL
+      cp Makefile.PL Makefile.PL.orig
+      sed -e "s:\$^X:'$perl':g" <Makefile.PL.orig >Makefile.PL
+      $perl Makefile.PL ${1+"$@"} $perl_args </dev/null
+      $make $make_args pure_all
+      $make $make_args pure_install
+    ) || exit $?
+
+    ( cd Regexp-Common-%{V_regexp_common}
       perl_args="INSTALLSITELIB=${RPM_BUILD_ROOT}$rt"
       make=`%{l_prefix}/bin/rpm --eval '%{l_make} %{l_mflags}'`
       make_args="PERL=${perl} FULLPERL=${perl}"
@@ -147,78 +281,53 @@ AutoReqProv:  no
     #   perform common epilog operations
     %{l_prefix}/bin/perl-openpkg epilog
 
-    ( cd rt-%{V_real}
-      %{l_shtool} subst \
-          -e 's#^\(package\)#use lib "!!RT_LIB_PATH!!";\1#' \
-          bin/webmux.pl
-      %{l_shtool} subst \
-          -e 's#/usr/sbin/sendmail#%{l_prefix}/sbin/sendmail#' \
-          etc/config.pm
-      %{l_shtool} subst \
-          -e 's;^\(PERL[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/bin/perl;g' \
-          -e 's;^\(BIN_OWNER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_musr};g' \
-          -e 's;^\(RTGROUP[[:blank:]]*=[[:blank:]]*\).*;\1%{l_mgrp};g' \
-          -e 's;^\(LIBS_OWNER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_musr};g' \
-          -e 's;^\(LIBS_GROUP[[:blank:]]*=[[:blank:]]*\).*;\1%{l_mgrp};g' \
-          -e 's;^\(RT_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/libexec/rt;g' \
-          -e 's;^\(RT_LIB_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/libexec/rt;g' \
-          -e 's;^\(RT_ETC_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/etc/rt;g' \
-          -e 's;^\(RT_BIN_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/bin;g' \
-          -e 's;^\(RT_MAN_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/man;g' \
-          -e 's;^\(MASON_LOCAL_HTML_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/libexec/rt/mason;g' \
-          -e 's;^\(MASON_DATA_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/var/rt/mason-data;g' \
-          -e 's;^\(MASON_SESSION_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/var/rt/mason-session;g' \
-          -e 's;^\(RT_LOG_PATH[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/var/rt/log;g' \
-          -e 's;^\(RT_MODPERL_HANDLER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/cgi/rt/webmux.pl;g' \
-          -e 's;^\(RT_FASTCGI_HANDLER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/cgi/rt/mason_handler.fcgi;g' \
-          -e 's;^\(RT_SPEEDYCGI_HANDLER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix}/cgi/rt/mason_handler.scgi;g' \
-          -e 's;^\(DB_TYPE[[:blank:]]*=[[:blank:]]*\).*;\1mysql;g' \
-          -e 's;^\(DB_HOST[[:blank:]]*=[[:blank:]]*\).*;\1localhost;g' \
-          -e 's;^\(DB_PORT[[:blank:]]*=[[:blank:]]*\).*;\1;g' \
-          -e 's;^\(DB_HOME[[:blank:]]*=[[:blank:]]*\).*;\1%{l_prefix};g' \
-          -e 's;^\(DB_DBA[[:blank:]]*=[[:blank:]]*\).*;\1root;g' \
-          -e 's;^\(DB_RT_HOST[[:blank:]]*=[[:blank:]]*\).*;\1localhost;g' \
-          -e 's;^\(DB_DATABASE[[:blank:]]*=[[:blank:]]*\).*;\1RT;g' \
-          -e 's;^\(DB_RT_USER[[:blank:]]*=[[:blank:]]*\).*;\1RT;g' \
-          -e 's;^\(DB_RT_PASS[[:blank:]]*=[[:blank:]]*\).*;\1XXX;g' \
-          -e 's;^\(WEB_USER[[:blank:]]*=[[:blank:]]*\).*;\1%{l_nusr};g' \
-          -e 's;^\(WEB_GROUP[[:blank:]]*=[[:blank:]]*\).*;\1%{l_ngrp};g' \
-          -e 's;\([[:blank:]]INSTALLSITELIB=\);\1\$(DESTDIR);g' \
-          -e 's;\([[:blank:]]INSTALLSITEMAN1DIR=\);\1\$(DESTDIR);g' \
-          -e 's;\([[:blank:]]INSTALLSITEMAN3DIR=\);\1\$(DESTDIR);g' \
-          -e 's;chown;true;g' \
-          -e 's;chgrp;true;g' \
-          -e 's;mkdir -p;%{l_shtool} mkdir -p;g' \
-          Makefile
-      %{l_make} %{l_mflags}
-    ) || exit $?
+    %{l_shtool} mkdir -f -p -m 0755 \
+        $RPM_BUILD_ROOT%{l_prefix}/sbin \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rt \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
+        $RPM_BUILD_ROOT%{l_prefix}/cgi/rt \
+        $RPM_BUILD_ROOT%{l_prefix}/share/rt \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc/upgrade \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/local/lib \
+        $RPM_BUILD_ROOT%{l_prefix}/var/rt/mason-data \
+        $RPM_BUILD_ROOT%{l_prefix}/var/rt/mason-session \
+        $RPM_BUILD_ROOT%{l_prefix}/var/rt/log \
+        $RPM_BUILD_ROOT%{l_prefix}/var/rt/run
 
-%install
-    mkdir -p $RPM_BUILD_ROOT%{l_prefix}/cgi/rt
     ( cd rt-%{V_real}
-      CC=%{l_cc} \
-      LDFLAGS=%{l_ldflags} \
-      LDDFLAGS=%{l_lddflags} \
-      PERL5LIB=${RPM_BUILD_ROOT}%{l_prefix}/libexec/rt \
-      %{l_make} %{l_mflags} dirs upgrade instruct \
+      %{l_make} \
+        config-install \
+        dirs \
+        libs-install \
+        etc-install \
+        bin-install \
+        sbin-install \
+        html-install \
+        doc-install \
         DESTDIR=$RPM_BUILD_ROOT
-      %{l_shtool} mkdir -p -m 755 \
-          $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools
-      for f in tools/initdb bin/initacls.*; do
-          %{l_shtool} install -c -m 755 \
-              $f $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/
-      done
-      %{l_shtool} mkdir -p -m 755 \
-          $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc
-      for f in etc/acl.* etc/schema.*; do
-          %{l_shtool} install -c -m 755 \
-              $f $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc/
-      done
+      %{l_shtool} install -c -m 0644 \
+        etc/upgrade/* \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc/upgrade/
+      %{l_shtool} install -c -m 0644 \
+        -e '/Set(\$WebBaseURL/s;"["]*";"";' \
+        -e '/Set(\$WebImagesURL/s;/";";' \
+        etc/RT_Config.pm \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/rt/RT_SiteConfig.pm
+      rm -f \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc/RT_SiteConfig.pm
+      ln -s \
+        %{l_prefix}/etc/rt/RT_SiteConfig.pm \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/etc/RT_SiteConfig.pm
     ) || exit $?
 
+    #   remove Win32 handler
+    rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/*.svc
+
+    #   remove dependency check script
+    rm -f $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/rt-test-dependencies
+
     #   setup/cleanup/upgrade script
-    %{l_shtool} mkdir -f -p -m 755 \
-        $RPM_BUILD_ROOT%{l_prefix}/sbin
     %{l_shtool} install -c -m 755 \
         -e 's;@l_prefix@;%{l_prefix};g' \
         -e 's;@rt_db_dba@;root;g' \
@@ -236,8 +345,6 @@ AutoReqProv:  no
         $RPM_BUILD_ROOT%{l_prefix}/sbin/
 
     #   startup script
-    %{l_shtool} mkdir -f -p -m 755 \
-        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
     %{l_shtool} install -c -m 755 \
         -e 's;@l_prefix@;%{l_prefix};g' \
         -e 's;@l_rusr@;%{l_rusr};g'     \
@@ -246,32 +353,32 @@ AutoReqProv:  no
         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
 
     #   apachectl wrapper
-    %{l_shtool} mkdir -f -p -m 755 \
-        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools
     %{l_shtool} install -c -m 755 \
         -e 's;@l_prefix@;%{l_prefix};g' \
         %{SOURCE rtapachectl} \
         $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/
 
     #   apache config
+    l_hostname=`%{l_shtool} echo -e %h`
+    l_domainname=`%{l_shtool} echo -e %d | cut -c2-`
     %{l_shtool} install -c -m 755 \
         -e 's;@l_prefix@;%{l_prefix};g' \
         -e 's;@l_rusr@;%{l_rusr};g' \
         -e 's;@l_rgrp@;%{l_rgrp};g' \
+        -e "s;@l_hostname@;$l_hostname;g" \
+        -e "s;@l_domainname@;$l_domainname;g" \
         %{SOURCE rtapache.conf} \
         $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/
 
-    #   apache data
-    %{l_shtool} mkdir -f -p -m 755 \
-        $RPM_BUILD_ROOT%{l_prefix}/var/rt/run
-    %{l_shtool} mkdir -f -p -m 755 \
-        $RPM_BUILD_ROOT%{l_prefix}/var/rt/log
-
     #   better places
-    mv $RPM_BUILD_ROOT%{l_prefix}/etc/rt/insertdata \
-       $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/
-    mv $RPM_BUILD_ROOT%{l_prefix}/bin/rt-mailgate \
-       $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/
+    mv \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/webmux.pl \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/mason_handler.fcgi \
+        $RPM_BUILD_ROOT%{l_prefix}/cgi/rt/
+    mv \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/rt-mailgate \
+        $RPM_BUILD_ROOT%{l_prefix}/bin/rt-crontool \
+        $RPM_BUILD_ROOT%{l_prefix}/libexec/rt/tools/
     %{l_shtool} install -c -s -m 755 \
         suidwrap/rt-mailgate \
         $RPM_BUILD_ROOT%{l_prefix}/bin/
@@ -280,10 +387,12 @@ AutoReqProv:  no
         %{l_files_std} \
         '%{l_prefix}/libexec/rt' \
         '%attr(755,%{l_musr},%{l_mgrp}) %{l_prefix}/libexec/rt/tools/rt-mailgate' \
-        '%attr(755,%{l_musr},%{l_mgrp}) %{l_prefix}/libexec/rt/tools/insertdata' \
+        '%attr(755,%{l_musr},%{l_mgrp}) %{l_prefix}/libexec/rt/tools/rt-setup-database' \
+        '%attr(755,%{l_musr},%{l_mgrp}) %{l_prefix}/libexec/rt/tools/rt-crontool' \
         '%attr(6755,%{l_rusr},%{l_rgrp}) %{l_prefix}/bin/rt-mailgate' \
-        '%config %attr(640,%{l_musr},%{l_rgrp}) %{l_prefix}/etc/rt/config.pm' \
+        '%config %attr(640,%{l_musr},%{l_rgrp}) %{l_prefix}/etc/rt/RT_SiteConfig.pm' \
         '%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/mason-data' \
+        '%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/mason-data/*' \
         '%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/mason-session' \
         '%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/log' \
         '%attr(750,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/rt/run'
@@ -295,15 +404,15 @@ AutoReqProv:  no
 
 %post
     ( echo "To complete installation of the RT package please check the"
-      echo "file '$RPM_INSTALL_PREFIX/etc/rt/config.pm'. In particular you"
-      echo "have to assign a password to the RT database user."
+      echo "file '$RPM_INSTALL_PREFIX/etc/rt/RT_SiteConfig.pm'. In particular"
+      echo "you have to assign a password to the RT database user."
       echo "If you have an old RT database you can erase it with:"
       echo "$RPM_INSTALL_PREFIX/sbin/rtcleanup"
       echo "If you start with a new installation of RT then run the command:"
       echo "$RPM_INSTALL_PREFIX/sbin/rtsetup"
-      echo "Don't forget to set a administrator password with:"
-      echo "$RPM_INSTALL_PREFIX/bin/rtadmin --user=root --password='...'"
-      echo "If you upgrade from an earlier 2.x-RT-Version then run:"
+      echo "DON'T FORGET TO SET A ADMINISTRATOR PASSWORD"
+      echo "Default settings are: user 'root', password 'password'"
+      echo "If you upgrade from an earlier 3.x-RT-Version then run:"
       echo "$RPM_INSTALL_PREFIX/sbin/rtupgrade old-rt-version"
       echo "to update RTs system tables"
     ) | %{l_rpmtool} msg -b -t notice
@@ -312,7 +421,7 @@ AutoReqProv:  no
     if [ $1 -eq 0 ]; then
         $RPM_INSTALL_PREFIX/etc/rc rt stop
         rm -f $RPM_INSTALL_PREFIX/var/rt/mason-session/*
-        rm -f -r $RPM_INSTALL_PREFIX/var/rt/mason-data/*
+        rm -rf $RPM_INSTALL_PREFIX/var/rt/mason-data/*/*
         rm -f $RPM_INSTALL_PREFIX/var/rt/log/*
         rm -f $RPM_INSTALL_PREFIX/var/rt/run/apache.pid
         rm -f $RPM_INSTALL_PREFIX/var/rt/run/ssl_scache

+ 3 - 2
rt/rtapache.conf

@@ -5,8 +5,8 @@
 
 ServerType             standalone
 ServerRoot             @l_prefix@
-ServerAdmin            root@@l_hostname@.@l_domainame@
-ServerName             @l_hostname@.@l_domainame@
+ServerAdmin            root@@l_hostname@.@l_domainname@
+ServerName             @l_hostname@.@l_domainname@
 ServerTokens           Prod
 User                   @l_rusr@
 Group                  @l_rgrp@
@@ -15,6 +15,7 @@ Port                   8380
 #   runtime files
 PidFile           @l_prefix@/var/rt/run/apache.pid
 ScoreBoardFile    @l_prefix@/var/rt/run/apache.sb
+LockFile          @l_prefix@/var/rt/run/apache.lock
 
 #  server behaviour
 Timeout                300

+ 4 - 22
rt/rtcleanup

@@ -1,24 +1,6 @@
 #!/bin/sh
-
-RT=@l_prefix@/libexec/rt
-PERL=@l_prefix@/bin/perl
-
-cd $RT || exit 1
-
-eval `$PERL -I@l_prefix@/etc/rt -Mconfig -e 'print "
-    DB_TYPE=\"$RT::DatabaseType\"
-    DB_HOST=\"$RT::DatabaseHost\"
-    DB_PORT=\"$RT::DatabasePort\"
-    DB_USER=\"$RT::DatabaseUser\"
-    DB_PASS=\"$RT::DatabasePassword\"
-    DB_NAME=\"$RT::DatabaseName\"";'`
-
-DB_HOME=@l_prefix@
-DB_DBA=@rt_db_dba@
-
-#
-# dropdb
-#
-$PERL tools/initdb $DB_TYPE $DB_HOME "$DB_HOST" ""$DB_PORT"" \
-                   $DB_DBA $DB_NAME drop
+@l_prefix@/libexec/rt/tools/rt-setup-database \
+    --action drop \
+    --dba "@rt_db_dba@" \
+    --prompt-for-dba-password
 

+ 4 - 83
rt/rtsetup

@@ -1,85 +1,6 @@
 #!/bin/sh
-
-RT=@l_prefix@/libexec/rt
-PERL=@l_prefix@/bin/perl
-
-cd $RT || exit 1
-
-eval `$PERL -I@l_prefix@/etc/rt -Mconfig -e 'print "
-    DB_TYPE=\"$RT::DatabaseType\"
-    DB_HOST=\"$RT::DatabaseHost\"
-    DB_PORT=\"$RT::DatabasePort\"
-    DB_USER=\"$RT::DatabaseUser\"
-    DB_PASS=\"$RT::DatabasePassword\"
-    DB_NAME=\"$RT::DatabaseName\"";'`
-
-DB_HOME=@l_prefix@
-DB_DBA=@rt_db_dba@
-
-tmpfile=/tmp/rtsetup.acl.$$
-
-#
-# initdb
-#
-case "$DB_TYPE" in
-    Pg)
-        $PERL tools/initdb $DB_TYPE $DB_HOME "$DB_HOST" ""$DB_PORT"" \
-                           $DB_DBA $DB_NAME create
-        $PERL tools/initdb $DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                           $DB_DBA $DB_NAME insert
-        $PERL -p -e " s'!!DB_TYPE!!'"$DB_TYPE"'g;\
-                      s'!!DB_HOST!!'""$DB_HOST""'g;\
-                      s'!!DB_RT_PASS!!'"$DB_PASS"'g;\
-                      s'!!DB_RT_HOST!!'""$DB_HOST""'g;\
-                      s'!!DB_RT_USER!!'"$DB_USER"'g;\
-                      s'!!DB_DATABASE!!'"$DB_NAME"'g;"\
-                      $RT/etc/acl.$DB_TYPE \
-                      > $tmpfile
-        tools/initacls.$DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                      $DB_DBA "" $DB_NAME \
-                      $tmpfile
-        rm -f $tmpfile
-        ;;
-    mysql)
-        $PERL tools/initdb $DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                           $DB_DBA $DB_NAME create
-        $PERL -p -e " s'!!DB_TYPE!!'"$DB_TYPE"'g;\
-                      s'!!DB_HOST!!'""$DB_HOST""'g;\
-                      s'!!DB_RT_PASS!!'"$DB_PASS"'g;\
-                      s'!!DB_RT_HOST!!'""$DB_HOST""'g;\
-                      s'!!DB_RT_USER!!'"$DB_USER"'g;\
-                      s'!!DB_DATABASE!!'"$DB_NAME"'g;"\
-                      $RT/etc/acl.$DB_TYPE \
-                      > $tmpfile
-        tools/initacls.$DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                      $DB_DBA "" $DB_NAME \
-                      $tmpfile
-        rm -f $tmpfile
-        $PERL tools/initdb $DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                           $DB_USER $DB_NAME insert
-        ;;
-    Oracle)
-        $PERL -p -e " s'!!DB_TYPE!!'"$DB_TYPE"'g;\
-                      s'!!DB_HOST!!'""$DB_HOST""'g;\
-                      s'!!DB_RT_PASS!!'"$DB_PASS"'g;\
-                      s'!!DB_RT_HOST!!'""$DB_HOST""'g;\
-                      s'!!DB_RT_USER!!'"$DB_USER"'g;\
-                      s'!!DB_DATABASE!!'"$DB_NAME"'g;"\
-                      $RT/etc/acl.$DB_TYPE \
-                      > $tmpfile
-        tools/initacls.$DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                      $DB_DBA "" $DB_NAME \
-                      $tmpfile
-        rm -f $tmpfile
-        $PERL tools/initdb $DB_TYPE $DB_HOME "$DB_HOST" "$DB_PORT" \
-                           $DB_USER $DB_NAME insert
-        ;;
-    *)
-        echo "Unknown database type $DB_TYPE"
-        exit 1
-        ;;
-esac
-        
-# initialize system objects
-$PERL tools/insertdata
+@l_prefix@/libexec/rt/tools/rt-setup-database \
+    --action init \
+    --dba "@rt_db_dba@" \
+    --prompt-for-dba-password
 

+ 4 - 21
rt/rtupgrade

@@ -1,26 +1,9 @@
 #!/bin/sh
-
-RT=@l_prefix@/libexec/rt
-PERL=@l_prefix@/bin/perl
-
-cd $RT || exit 1
-
-eval `$PERL -I@l_prefix@/etc/rt -Mconfig -e 'print "
-    DB_TYPE=\"$RT::DatabaseType\"
-    DB_HOST=\"$RT::DatabaseHost\"
-    DB_PORT=\"$RT::DatabasePort\"
-    DB_USER=\"$RT::DatabaseUser\"
-    DB_PASS=\"$RT::DatabasePassword\"
-    DB_NAME=\"$RT::DatabaseName\"";'`
-
-DB_HOME=@l_prefix@
-DB_DBA=@rt_db_dba@
-
 version=$1
 if test x"$version" = x; then
     echo "usage: $0 old-rt-version"
+    exit 1
 fi
-
-# upgrade system objects
-$PERL tools/insertdata "$version"
-
+@l_prefix@/libexec/rt/tools/rt-setup-database \
+    --action insert \
+    --datafile @l_prefix@/libexec/rt/etc/upgrade/$version