OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Michael van Elst
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-web, openpkg-src         Date:   04-Dec-2002 11:02:44
  Branch: HEAD                             Handle: 2002120410024201

  Modified files:
    openpkg-src/mysql       my.cnf mysql.spec rc.mysql
    openpkg-web             news.txt

  Log:
    config + maintenance tasks

  Summary:
    Revision    Changes     Path
    1.3         +63 -2      openpkg-src/mysql/my.cnf
    1.35        +48 -6      openpkg-src/mysql/mysql.spec
    1.4         +43 -11     openpkg-src/mysql/rc.mysql
    1.2183      +1  -0      openpkg-web/news.txt
  ____________________________________________________________________________

  Index: openpkg-src/mysql/my.cnf
  ============================================================
  $ cvs diff -u -r1.2 -r1.3 my.cnf
  --- openpkg-src/mysql/my.cnf  7 Feb 2002 14:21:02 -0000       1.2
  +++ openpkg-src/mysql/my.cnf  4 Dec 2002 10:02:43 -0000       1.3
  @@ -1,10 +1,71 @@
   
  -[mysqld]
  +[safe_mysqld]
   datadir      = @l_prefix@/var/mysql/db
   socket       = @l_prefix@/var/mysql/mysqld.sock
   set-variable = pid_file=@l_prefix@/var/mysql/mysqld.pid
   set-variable = max_connections=1000
   port         = 3306
  -user         = @l_musr@
  +user         = @l_rusr@
   basedir      = @l_prefix@
  +
  +# Logfile destinations - you must update rc.mysql accordingly
  +log          = @l_prefix@/var/mysql/common.log
  +log-update   = @l_prefix@/var/mysql/update.log
  +
  +# these are the most important tuning parameters for mysqld
  +set-variable = key_buffer_size=16M
  +set-variable = table_cache=64
  +
  +# change these parameters if special problems occur
  +set-variable = join_buffer_size=1M
  +set-variable = max_connections=1000
  +set-variable = max_connect_errors=10
  +set-variable = max_delayed_threads=20
  +set-variable = max_heap_table_size=16777216
  +set-variable = max_sort_length=1024
  +set-variable = max_user_connections=0
  +set-variable = record_buffer=131072
  +set-variable = record_rnd_buffer=131072
  +set-variable = sort_buffer=2M
  +set-variable = key_buffer=1M
  +set-variable = tmp_table_size=32M
  +
  +#
  +# BERKELEY DB
  +#
  +
  +# memory parameters - set these to values <> 0 if bdb
  +# tables are used
  +set-variable = bdb_cache_size=@mysql_bdb_cache_size@
  +set-variable = bdb_log_buffer_size=@mysql_bdb_log_buffer_size@
  +set-variable = bdb_max_lock=@mysql_bdb_max_lock@
  +
  +#
  +# INNOBASE
  +#
  +
  +# The common part of the directory path for all InnoDB datafiles.
  +# default is the mysql data directory
  +#innodb_data_home_dir =
  +
  +# Tablespaces
  +# specify a list of pathtodatafile:sizespecification separated
  +# by semicolon. The last datafile can have options
  +# -   :autoextend              increment datafile in 8M chunks
  +# -   :max:sizespecification   max size of the datafile
  +#innodb_data_file_path=@innodb_data_file_path@
  +
  +# Tunings
  +# Set buffer pool size to 50 -80 % of your computer's memory
  +# Set the log file size to about 25 % of the buffer pool size
  +# Set ..flush_log_at_trx_commit to 0 if you can afford losing
  +#  some last transactions
  +# Set innodb_lock_wait_timeout to bail out of external deadlocks
  +#set-variable = innodb_buffer_pool_size=70M
  +#set-variable = innodb_additional_mem_pool_size=2M
  +#set-variable = innodb_log_files_in_group=3
  +#set-variable = innodb_log_file_size=20M
  +#set-variable = innodb_log_buffer_size=8M
  +#innodb_flush_log_at_trx_commit=1
  +#set-variable = innodb_lock_wait_timeout=50
   
  Index: openpkg-src/mysql/mysql.spec
  ============================================================
  $ cvs diff -u -r1.34 -r1.35 mysql.spec
  --- openpkg-src/mysql/mysql.spec      14 Oct 2002 18:38:27 -0000      1.34
  +++ openpkg-src/mysql/mysql.spec      4 Dec 2002 10:02:43 -0000       1.35
  @@ -36,6 +36,22 @@
   %define       with_gemini      no
   %endif
   
  +%if %{with_berkeleydb} == "yes"
  +%define       mysql_bdb_cache_size        8M
  +%define       mysql_bdb_log_buffer_size   32k
  +%define       mysql_bdb_max_lock          10000
  +%else
  +%define       mysql_bdb_cache_size        0
  +%define       mysql_bdb_log_buffer_size   0
  +%define       mysql_bdb_max_lock          0
  +%endif
  +
  +%if %{with_berkeleydb} == "yes" || %{with_innobase} == "yes" || %{with_gemini} == 
"yes"
  +%define       mysqld     mysqld
  +%else
  +%define       mysqld     mysqld-max
  +%endif
  +
   #   package information
   Name:         mysql
   Summary:      Fast Relational Database Management System
  @@ -46,13 +62,14 @@
   Group:        Database
   License:      GPL
   Version:      3.23.53
  -Release:      20021014
  +Release:      20021204
   
   #   list of sources
   Source0:      
http://sunsite.informatik.rwth-aachen.de/mysql/Downloads/MySQL-3.23/mysql-%{version}.tar.gz
   Source1:      my.cnf
   Source2:      rc.mysql
   Patch0:       mysql.patch
  +Patch1:       mysql-initdb.patch
   
   #   build information
   Prefix:       %{l_prefix}
  @@ -78,6 +95,7 @@
   %prep
       %setup -q
       %patch0 -p1
  +    %patch1 -p1
   
   %build
       #   determine additional configure options
  @@ -118,6 +136,11 @@
   %install
       rm -rf $RPM_BUILD_ROOT
   
  +    #   patch init script
  +    %{l_shtool} subst \
  +        -e 's;@l_prefix@;%{l_prefix};g' \
  +        $RPM_BUILD_ROOT%{l_prefix}/scripts/mysql_install_db.sh
  +
       #   perform standard installation procedure
       %{l_make} %{l_mflags} install \
           AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" \
  @@ -140,13 +163,23 @@
       %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/mysql
       %{l_shtool} install -c -m 644 \
           -e 's;@l_prefix@;%{l_prefix};g' \
  -        -e 's;@l_musr@;%{l_musr};g' \
  +        -e 's;@l_rusr@;%{l_rusr};g' \
  +        -e 's;@mysql_bdb_cache_size@;%{mysql_bdb_cache_size};g' \
  +        -e 's;@mysql_bdb_log_buffer_size@;%{mysql_bdb_log_buffer_size};g' \
  +        -e 's;@mysql_bdb_max_lock@;%{mysql_bdb_max_lock};g' \
           %{SOURCE my.cnf} \
           $RPM_BUILD_ROOT%{l_prefix}/etc/mysql/
  +    %{l_shtool} install -c -m 600 \
  +        %{SOURCE my.pwd} \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/mysql/
   
       #   install run-command 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' \
  +    %{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;@mysqld@;%{mysqld};g' \
           %{SOURCE rc.mysql} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
   
       #   make sure the database directory exists
  @@ -155,7 +188,8 @@
       #   determine the package files
       %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
           %{l_files_std} \
  -        '%config %{l_prefix}/etc/mysql/my.cnf'
  +        '%config %{l_prefix}/etc/mysql/my.cnf' \
  +        '%config %{l_prefix}/etc/mysql/my.pwd'
   
   %files -f files
   
  @@ -164,5 +198,13 @@
   
   %post
       $RPM_INSTALL_PREFIX/bin/mysql_install_db
  -    chown -R %{l_musr}:%{l_mgrp} $RPM_INSTALL_PREFIX/var/mysql/
  -
  +    chown %{l_rusr}:%{l_rgrp} \
  +        $RPM_INSTALL_PREFIX/etc/mysql/my.cnf \
  +        $RPM_INSTALL_PREFIX/etc/mysql/my.pwd
  +    chown -R %{l_rusr}:%{l_rgrp} $RPM_INSTALL_PREFIX/var/mysql/
  +    #   display information about next steps
  +    ( echo "The MySQL package includes automated maintenance procedures"
  +      echo "that require administrator access to the database. For this"
  +      echo "to work you must keep a copy (plain text) of the administrator"
  +      echo "account in '$RPM_INSTALL_PREFIX/etc/mysql/my.pwd'."
  +    ) | %{l_rpmtool} msg -b -t notice
  Index: openpkg-src/mysql/rc.mysql
  ============================================================
  $ cvs diff -u -r1.3 -r1.4 rc.mysql
  --- openpkg-src/mysql/rc.mysql        19 Apr 2002 09:11:52 -0000      1.3
  +++ openpkg-src/mysql/rc.mysql        4 Dec 2002 10:02:43 -0000       1.4
  @@ -5,21 +5,53 @@
   
   %config
       mysql_enable="yes"
  +    mysql_pwd_file=@l_prefix@/etc/mysql/my.pwd
  +    mysql_log_prolog="true"
  +    mysql_log_epilog="true"
  +    mysql_log_numfiles="10"
  +    mysql_log_minsize="1M"
  +    mysql_log_complevel="9"
  +    #
  +    # same files as in my.cnf
  +    mysql_pid_file=@l_prefix@/var/mysql/mysqld.pid
  +    mysql_log_err=@l_prefix@/var/mysql/mysqld.err
  +    mysql_log_common=@l_prefix@/var/mysql/common.log
  +    mysql_log_update=@l_prefix@/var/mysql/update.log
   
  -%start -p 200 -u root
  +%start -p 200 -u @l_rusr@
       opServiceEnabled mysql || exit 0
  -    @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 &
  +    cd @l_prefix@
  +    @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 \
  +        --mysqld=@mysqld@ \
  +        --pid-file="$mysql_pid_file" \
  +        --err-log="$mysql_log_err" &
   
  -%stop -p 200 -u root
  +%stop -p 200 -u @l_rusr@
       opServiceEnabled mysql || exit 0
  -    #   standard (but would require admin password!)
  -    #@l_prefix@/bin/mysqladmin shutdown
  -    #   alternative (does not require admin password)
  -    kill -TERM `cat @l_prefix@/var/mysql/\`hostname\`.pid`
  +    @l_prefix@/bin/mysqladmin \
  +        --defaults-extra-file=${mysql_pwd_file} \
  +        shutdown
   
  -%restart -u root
  +%restart -u @l_rusr@
       opServiceEnabled mysql || exit 0
  -    kill -TERM `cat @l_prefix@/var/mysql/\`hostname\`.pid`
  -    sleep 2
  -    @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 &
  +    cd @l_prefix@
  +    @l_prefix@/bin/mysqladmin \
  +        --defaults-extra-file=${mysql_pwd_file} \
  +        shutdown
  +    @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 \
  +        --mysqld=@mysqld@ \
  +        --pid-file="$mysql_pid_file" \
  +        --err-log="$mysql_log_err" &
   
  +%daily -u @l_rusr@
  +    opServiceEnabled mysql || exit 0
  +    shtool rotate -f \
  +        -n${mysql_log_numfiles} -s${mysql_log_minsize} -d \
  +        -z${mysql_log_complevel} -o@l_rusr@ -g@l_rgrp@ -m644 \
  +        -P "${mysql_log_prolog}" \
  +        -E "@l_prefix@/bin/mysqladmin \
  +            --defaults-extra-file=${mysql_pwd_file} \
  +            flush-logs ; ${mysql_log_epilog}" \
  +        ${mysql_log_common} \
  +        ${mysql_log_update} \
  +        ${mysql_log_err}
  Index: openpkg-web/news.txt
  ============================================================
  $ cvs diff -u -r1.2182 -r1.2183 news.txt
  --- openpkg-web/news.txt      4 Dec 2002 09:48:08 -0000       1.2182
  +++ openpkg-web/news.txt      4 Dec 2002 10:02:42 -0000       1.2183
  @@ -1,3 +1,4 @@
  +04-Dec-2002: Upgraded package: P<mysql-3.23.53-20021204>
   04-Dec-2002: New package: P<cfengine-2.0.5pre2-20021204>
   04-Dec-2002: Upgraded package: P<tidy-20021202-20021204>
   04-Dec-2002: Upgraded package: P<mozilla-1.2.1-20021204>
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to