File pinba.patch of Package mysql-community-server

Index: build.inc
===================================================================
--- build.inc	(revision 3fd960415e46704bb5c233903fe7b702)
+++ build.inc	(working copy)
@@ -12,10 +12,10 @@
 BuildMySQL() {
 	# The --enable-assembler simply does nothing on systems that do not
 	# support assembler speedups.
-	suffix="$1"; shift
-	mkdir _build$suffix
-	pushd _build$suffix
-	../configure \
+	#	suffix="$1"; shift
+	#	mkdir _build$suffix
+	#	pushd _build$suffix
+	./configure \
 		--enable-assembler \
 		--without-readline \
 		--infodir=%{_infodir} \
@@ -47,11 +47,13 @@
 		--with-plugins=%{builtin_plugins} \
 		HOSTNAME="/bin/hostname -f" \
 		"$@"
+	
+	cd include && make && cd ..
 	# Add this for MyISAM RAID support:
 	# --with-raid
 	# benchdir does not fit in above model. Fix when we make a separate package
-	make %{?jobs:-j%jobs}
-	nm --numeric-sort sql/mysqld > sql/mysqld.sym
+	#	make %{?jobs:-j%jobs}
+	#	nm --numeric-sort sql/mysqld > sql/mysqld.sym
 	# needed for make check, which is not VPATH aware
 	# copy the files unconditionally so that manual 'make check' after
 	# the build works, too
@@ -61,14 +63,14 @@
 	done
 	cp -a ../scripts/*.sql scripts/
 %if %{?_with_testsuite:1}0
-	pushd mysql-test; perl ./mysql-test-run.pl --force; popd
+	#	pushd mysql-test; perl ./mysql-test-run.pl --force; popd
 %endif
-	popd
+	#	popd
 }
 # Build the client, extra tools, libraries
 BuildMySQL "" --with-embedded-server
 # build mysqld-debug
-BuildMySQL "-debug" --with-debug --without-embedded-server
+#BuildMySQL "-debug" --with-debug --without-embedded-server
 
 %if 0%{?prefered} > 0
 mkdir -p _buildlibmysqld/tmp
@@ -85,9 +87,9 @@
 %else # cmake build
 
 BuildMySQL() {
-	mkdir _build$1
-	pushd _build$1
-	shift
+	#	mkdir _build$1
+	#	pushd _build$1
+	#	shift
 	cmake -DWITH_SSL=system                                            \
 			-DWITH_ZLIB=system                                           \
 			-DWITH_READLINE=0                                            \
@@ -101,13 +103,14 @@
 			-DWITH_PERFSCHEMA_STORAGE_ENGINE=1                           \
 			-DWITH_EMBEDDED_SERVER=true                                  \
 			-DDENABLE_DOWNLOADS=false                                    \
-			"$@" ..
-	make %{?jobs:-j%jobs}
-	nm --numeric-sort sql/mysqld > sql/mysqld.sym
-	popd
+			"$@" .
+	cd include && make && cd ..
+	#make %{?jobs:-j%jobs}
+	#nm --numeric-sort sql/mysqld > sql/mysqld.sym
+	#	popd
 }
 
 BuildMySQL "" -DCMAKE_BUILD_TYPE=Release -DINSTALL_SQLBENCHDIR=share
-BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
+#BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
 
 %endif
Index: install.inc
===================================================================
--- install.inc	(revision 3fd960415e46704bb5c233903fe7b702)
+++ install.inc	(working copy)
@@ -1,130 +1,4 @@
-# install the debug server first, so that we don't overwrite the standard
-# /usr/sbin/mysqld
-mkdir -p %buildroot%_libdir/mysql
-make -C _build-debug/sql install DESTDIR=%buildroot
-mv %buildroot/usr/sbin/mysqld %buildroot/usr/sbin/mysqld-debug
-install -m 644 _build-debug/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld-debug.sym
-# install the client, extra tools, libraries and the standard server
-make -C _build install DESTDIR=%buildroot benchdir_root=/usr/share/
-install -m 644 _build/sql/mysqld.sym %buildroot%_libdir/mysql/mysqld.sym
-# remove most static libs (FIXME: don't build them at all...)
-rm -f %buildroot%_libdir/libmysqlclient*a
-rm -f %buildroot%_libdir/libmysqlservices*a
-rm -f %buildroot%_libdir/mysql/*.a %buildroot%_libdir/mysql/*.la
-rm -f %buildroot%_libdir/mysql/plugin/*a
-# XXX: package these? The ndb tools are linked statically atm
-rm -f %buildroot%_libdir/mysql/libndbclient.*
-rm -f %{buildroot}/usr/share/mysql-test/mysql-test-run  
-rm -f %{buildroot}/usr/share/mysql-test/mtr  
-ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mtr  
-ln -sf mysql-test-run.pl %{buildroot}/usr/share/mysql-test/mysql-test-run 
-mv %{buildroot}/usr/share/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
-# generate filelist for binaries and their manpages (easier than enumerating
-# all the binaries and manapages manually, esp. when there are new manpages in
-# each release)
-filelist()
-{
-	echo '%%defattr(-, root, root)'
-	pushd %buildroot >/dev/null
-	for i; do
-		if test -e usr/sbin/"$i"; then
-			echo /usr/sbin/"$i"
-		fi
-		if test -e usr/bin/"$i"; then
-			echo /usr/bin/"$i"
-		fi
-		if ls usr/share/man/*/"$i".[1-9]* >/dev/null 2>&1; then
-			echo "%%doc %_mandir/*/$i.[1-9]*"
-		fi
-	done
-	popd >/dev/null
-}
-filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip {m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log xtstat >mysql.files
-filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
-filelist mysql_config >libmysqlclient-devel.files
-filelist mysqlslap >mysql-bench.files
-filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files
-# all binaries that don't need to be in a "default" install (mysql.rpm +
-# mysql-client.rpm)
-filelist msql2mysql mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded mysql_plugin >mysql-tools.files
-filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files
-filelist ndb_mgmd >mysql-ndb-management.files
-filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files
-filelist ndb_{cpcd,delete_all,drop_index,drop_table} >mysql-ndb-extra.files
-rm -f %{buildroot}%{_libdir}/mysql/plugin/daemon_example.ini
-### files not installed by make install
-# Create directory structure
-DOCS=(COPYING README EXCEPTIONS-CLIENT %_sourcedir/README.debug %_sourcedir/README.SuSE plugin/daemon_example/daemon_example.ini)
-DOCDIR=%buildroot%_defaultdocdir/%name
-install -d -m 755 ${DOCDIR}
-install -d -m 755 %buildroot/etc/logrotate.d
-install -d -m 755 %buildroot/etc/init.d
-install -m 644 _build/support-files/mysql-log-rotate %buildroot/etc/logrotate.d/mysql
-%if 0%{?prefered} > 0%{?use_cmake}
-install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
-ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0
-ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so
-%endif
-install -m 660 _build/support-files/my-medium.cnf %buildroot/etc/my.cnf
-install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
-for i in "${DOCS[@]}"; do
-	install -m 644 "${i}" "${DOCDIR}" || true
-done
-install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
-ln -sf ../../etc/init.d/mysql %buildroot/usr/sbin/rcmysql
-# this is used by the init script
-install -m 755 -d %buildroot/var/run/mysql
-# SuSEfirewall service description
-install -D -m 644 %_sourcedir/mysql.SuSEfirewall2 \
-	%buildroot/etc/sysconfig/SuSEfirewall2.d/services/mysql
-# testsuite
-mkdir -p '%buildroot'/usr/share/mysql-test/
-install -m 755 suse-test-run '%buildroot'/usr/share/mysql-test/
-# XXX this should go under /var/..., but some tests get confused by a symlink
-# var -> ../../../var/...
-#ln -sf ../../../var/lib/mysql/mysql-test %buildroot/usr/share/mysql-test/var
-mkdir '%buildroot'/usr/share/mysql-test/var
-# Final fixes
-find '%buildroot'/usr/share/mysql-test -name '*.orig' -delete
-%if 0%{?suse_version} > 1030
-%fdupes -s '%buildroot'/usr/share/mysql-test
-%endif
-%if 0%{?fedora_version} > 8
-fdupes -q -n -r '%buildroot'/usr/share/mysql-test
-%endif
-dos2unixConversion() {
-	%{__sed} -i 's/\r//g' "$1"
-}
-for i in `grep -Rl '\r' '%buildroot'/usr/share/sql-bench`; do
-	dos2unixConversion "$i"
-done
-%if ! 0%{cluster} > 0
-cat mysql-ndb-storage.files mysql-ndb-management.files  \
-	mysql-ndb-tools.files mysql-ndb-extra.files |   \
-	sed 's|^%%doc\ ||' | while read tmp; do
-	cd '%buildroot'
-	rm -f .$tmp
-done
-%endif
-%if ! 0%{prefered} > 0
-cat libmysqlclient-devel.files | while read tmp; do
-	cd '%buildroot'
-	rm -f .$tmp
-done
-rm -rf '%buildroot'/%_libdir/libmysqld.*
-rm -rf '%buildroot'/%_libdir/*.la
-rm -rf '%buildroot'/%_libdir/*.so
-rm -rf '%buildroot'/%_libdir/*.a
-rm -rf '%buildroot'/%_includedir  
-rm -rf '%buildroot'/%_datadir/man/*/mysql_config*  
-rm -rf '%buildroot'/%_datadir/aclocal
-%endif
-sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/etc/init.d/mysql
-ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
-ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
-ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
-if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
-	mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf
-fi
-mkdir -p '%buildroot'/etc/mysql
-[ -z "`ls -1 %_sourcedir/*.cnf`" ] || cp %_sourcedir/*.cnf '%buildroot'/etc/mysql
+cd ../pinba_engine-%{pinba_version}%{pinba_version_suffix}
+make install
+rm -rf %{buildroot}/%{_libdir}/mysql/plugin/*.la
+rm -rf %{buildroot}/%{_libdir}/mysql/plugin/*.a
Index: mysql-community-server.spec
===================================================================
--- mysql-community-server.spec	(revision 3fd960415e46704bb5c233903fe7b702)
+++ mysql-community-server.spec	(working copy)
@@ -18,10 +18,13 @@
 # norootforbuild
 
 # Few definitions which will alter build
-%define prefered   1
+%define prefered   0
 %define use_cmake  1
 %define cluster    0
 %define builtin_plugins partition,csv,heap,myisam,innobase
+
+%define pinba_version 1.0.0
+%define pinba_version_suffix -dev
 
 %if %{?rel:0}%{!?rel:1}
 %define rel 1
@@ -52,6 +55,7 @@
 Source12:       series
 Source13:       default_plugins.cnf
 Source14:       old-ssl.series
+Source100:      pinba_engine-%{pinba_version}%{pinba_version_suffix}.tar.gz
 Patch1:         mysql-5.5.15-arm.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if 0%{?suse_version}
@@ -117,6 +121,25 @@
     David Axmark <davida@mysql.com>
 
 
+%package -n pinba-mysql-engine
+Summary:        Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface
+License:        GPLv2
+Group:          Productivity/Databases/Servers
+Url:            http://pinba.org
+BuildRequires:  Judy-devel libevent-devel libprotobuf-lite7 protobuf-devel
+
+%description -n pinba-mysql-engine
+Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.
+
+It accumulates and processes data sent over UDP by multiple PHP processes and displays statistics 
+in a nice human-readable form of simple "reports", also providing read-only interface to the raw data 
+in order to make possible generation of more sophisticated reports and stats.
+
+With Pinba extension users also can measure particular parts of the code using timers with arbitrary tags.
+
+Pinba is not a debugging tool in a common sense, since you're not supposed to do debugging on production 
+servers, but its main goal is to help developers to monitor performance of PHP scripts, 
+locate bottlenecks in realtime and direct developers' attention to the code that really needs it. 
 
 %if 0%{?prefered} > 0
 #-------------------------------------------------------------------------------
@@ -396,6 +419,9 @@
 
 %prep
 #-------------------------------------------------------------------------------
+%setup -q -T -b 100 -n pinba_engine-%{pinba_version}%{pinba_version_suffix}
+cd ..
+
 %setup -q -n mysql-%version -D -a 9
 cp %_sourcedir/README.SuSE .
 cp %_sourcedir/suse-test-run .
@@ -415,11 +441,13 @@
 rm -f sql/sql_builtin.cc
 sed -i 's|@localstatedir@|/var/log|' support-files/mysql-log-rotate.sh
 
-#-------------------------------------------------------------------------------
-
 %build
 #-------------------------------------------------------------------------------
 %{expand:%(cat %_sourcedir/build.inc)}
+
+cd ../pinba_engine-%{pinba_version}%{pinba_version_suffix}
+%configure --with-mysql=../mysql-%{version} --libdir=%{buildroot}%{_libdir}/mysql/plugin --datadir=%{buildroot}%{_datadir} --disable-static
+make %{?jobs:-j%jobs}
 
 #-------------------------------------------------------------------------------
 
@@ -510,145 +538,13 @@
 
 #-------------------------------------------------------------------------------
 
-%files -f mysql.files
-#-------------------------------------------------------------------------------
+%files -n pinba-mysql-engine
 %defattr(-, root, root)
-%config(noreplace) %attr(0640, root, mysql) /etc/my.cnf
-%dir %attr(0750, root, mysql) /etc/mysql
-%config(noreplace) %attr(0640, root, mysql) /etc/mysql/*
-%config /etc/logrotate.d/mysql
-%doc %{_defaultdocdir}/%{name}
-%doc %{_infodir}/mysql.info.*
-/etc/init.d/mysql
-/usr/sbin/rcmysql
-/usr/share/mysql/
-%ghost %dir %attr(755,mysql,mysql)/var/run/mysql
-%dir %{_libdir}/mysql
-%{_libdir}/mysql/mysqld.sym
-%config /etc/sysconfig/SuSEfirewall2.d/services/mysql
+%dir %_libdir/mysql
 %dir %_libdir/mysql/plugin
-%_libdir/mysql/plugin/*.so
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files client -f mysql-client.files
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-%config /etc/mysqlaccess.conf
-#-------------------------------------------------------------------------------
-
-%if 0%{prefered} > 0
-#-------------------------------------------------------------------------------
-
-%files -n libmysqlclient-devel -f libmysqlclient-devel.files
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-/usr/include/mysql
-%{_libdir}/libmysqlclient.so
-%{_libdir}/libmysqlclient_r.so
-/usr/share/aclocal/mysql.m4
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files -n libmysqld-devel
-#-------------------------------------------------------------------------------
-%defattr(-,root,root)
-%_libdir/libmysqld.a
-%_libdir/libmysqld.so
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files -n libmysqld18
-#-------------------------------------------------------------------------------
-%defattr(-,root,root)
-%_libdir/libmysqld.so.*
-#-------------------------------------------------------------------------------
-%endif
-
-#-------------------------------------------------------------------------------
-
-%files -n libmysqlclient18
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-%{_libdir}/libmysqlclient.so.*
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files -n libmysqlclient_r18
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-%{_libdir}/libmysqlclient_r.so.*
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files bench -f mysql-bench.files
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-/usr/share/sql-bench
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-%if %{defined mdkversion}
-
-%files debuging
-%else
-
-%files debug
-%endif
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-/usr/sbin/mysqld-debug
-%{_libdir}/mysql/mysqld-debug.sym
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files test -f mysql-test.files
-#-------------------------------------------------------------------------------
-%defattr(-, root, root)
-%{_bindir}/my_safe_process
-%_mandir/man1/mysql-test-run.pl.1*
-%_mandir/man1/mysql-stress-test.pl.1*
-/usr/share/mysql-test/valgrind.supp
-%dir %attr(755, root, root)/usr/share/mysql-test
-/usr/share/mysql-test/[^v]*
-%dir %attr(755, mysql, mysql) /usr/share/mysql-test/var
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files tools -f mysql-tools.files
-%defattr(-, root, root)
-%_bindir/mysqlrepair
-%_bindir/mysqlanalyze
-%_bindir/mysqloptimize
-#-------------------------------------------------------------------------------
-
-%if 0%{cluster} > 0
-#-------------------------------------------------------------------------------
-
-%files ndb-storage -f mysql-ndb-storage.files
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files ndb-management -f mysql-ndb-management.files
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files ndb-tools -f mysql-ndb-tools.files
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-
-%files ndb-extra -f mysql-ndb-extra.files
-#-------------------------------------------------------------------------------
-%endif
+%_libdir/mysql/plugin/libpinba_engine.so*
+%dir %_datadir/pinba_engine
+%doc %_datadir/pinba_engine/README
+%_datadir/pinba_engine/default_tables.sql

 %changelog
openSUSE Build Service is sponsored by