Commit graph

896 commits

Author SHA1 Message Date
Joerg Bruehe
a7662cf0a9 Merge bug fix 42969 into main 5.5 branch. 2011-02-14 15:53:51 +01:00
Joerg Bruehe
bb956c1ea2 Fix bug#42969 Please add a MANIFEST to each build
With this change, there will be new files "INFO_SRC"
and "INFO_BIN", which describe the source and the
binaries.
They will be contained in all packages:
- in "tar.gz" and derived packages, in "docs/",
- in RPMs, in "/usr/share/doc/packages/MySQL-server".

"INFO_SRC" is also part of a source tarball.
It gives the version as exact as possible, preferably
by calling "bzr version-info" on the source tree.
If that is not possible, it just contains the three
level version number.

"INFO_BIN" contains some info when and where the
binaries were built, the options given to the compiler,
and the flags controlling the included features.

The tests (test "mysql" in the main suite) are extended
to verify the existence of both "INFO_SRC" and "INFO_BIN",
as well as some of the expected contents.


CMakeLists.txt:
  For the new files describing the source and the build
  ("INFO_SRC" and "INFO_BIN"), we need a new file
  "cmake/info_macros.cmake.in" with the build rules.
  
  1) This file must be configured with the current variables.
  
  2) "INFO_SRC" can be created during the cmake phase,
     but this should be repeated with each "make" to
  protect against a developer doing only "make" after
  a "bzr pull" (or "bzr commit").
  So have it both as a cmake rule and as a custom target.
  
  3) "INFO_BIN" must be created during the make phase
     only, because it contains information from files
  which will be written at the end of the cmake phase only.
  Therefore, it must be a custom target which is included
  in all "make" targets.
  
  4) The resulting "INFO_*" files must be included in packages.
cmake/info_bin.cmake:
  This is the file to create "INFO_BIN",
  by calling the "CREATE_INFO_BIN()" macro.
  
  It must be a separate file, so that the macro
  definitions can be included in other cmake scripts
  without that file inclusion causing a side effect,
  the macro call.
  That call would modify the source tree which should
  be trated read-only.
cmake/info_macros.cmake.in:
  This new file contains the macros to create the
  "INFO_*" files during various steps of the build,
  the calls will be at other places.
  
  1) For source: If running from a BZR tree, always create
     (update) "INFO_SRC" by running "bzr version-info".
     Outside a BZR tree, try to take it from exported
     sources, and create it only if missing, in that
     case put the three level version number into it.
  
  2) "INFO_BIN" contains
     - date/time and host name of the build host,
     - information about the platform,
     - information about the C and CXX compiler
       and the options given to them (Unix only),
     - the feature flags as reported by "cmake -L".
cmake/info_src.cmake:
  This is the file to create "INFO_SRC",
  by calling the "CREATE_INFO_SRC()" macro.
  
  It must be a separate file, so that the macro
  definitions can be included in other cmake scripts
  without that file inclusion causing a side effect,
  the macro call.
  That call would modify the source tree which should
  be trated read-only.
cmake/make_dist.cmake.in:
  Create a "VERSION_src" file during "make dist".
  
  In case it already exists from a preceding "cmake" run
  or tree export (which is quite likely), a new
  "make dist" must not modify it.
mysql-test/r/file_contents.result:
  Result of test for bug#42969.
mysql-test/t/file_contents.test:
  Perl test scriptlet for bug#42969.
support-files/mysql.spec.sh:
  Add "INFO_SRC" and "INFO_BIN" to the RPM contents.
2011-02-11 15:55:25 +01:00
Joerg Bruehe
c7531d4e32 Upmerge the fix for bug#56581 from 5.1 to 5.5. 2011-02-09 14:31:30 +01:00
Joerg Bruehe
106e590086 Fix Bug #56581 RPM scripts use hardcoded datadir location
When fixing the 27072 bug, the shell snippets running before/after
a RPM upgrade got expanded to look at files in the data directory
and at the PID file.
In this expansion, the standard locations were used.

There are users who configure their installations to use non-standard
locations for the data directory, the PID file, and other objects.
For these users, the fix of 27072 did not work.
As a result, the fact that a server was running at upgrade start was
not noticed, and the new server was not started after the upgrade.

With this patch, the shell snippets now try to get these locations
from "my_print_defaults" before falling back to the defaults.
Now, the fact that the old server is running is again noticed (even
with non-standard locations), and the new server is started.

Also, the upgrade log is written to the correct data directory.

support-files/mysql.spec.sh:
  See the global comment for the purpose of this change.
  
  In tests on SuSE 11, it was found necessary to use the full path name
  of "my_print_defaults", it seems $PATH die not include "/usr/bin".
2011-02-03 18:16:22 +01:00
Kent Boortz
be6c3fd8aa Merge 2010-12-29 01:26:31 +01:00
Kent Boortz
4acfdb9df1 Merge 2010-12-29 00:47:05 +01:00
Kent Boortz
85323eda8a - Added/updated copyright headers
- Removed files specific to compiling on OS/2
- Removed files specific to SCO Unix packaging
- Removed "libmysqld/copyright", text is included in documentation
- Removed LaTeX headers for NDB Doxygen documentation
- Removed obsolete NDB files
- Removed "mkisofs" binaries
- Removed the "cvs2cl.pl" script
- Changed a few GPL texts to use "program" instead of "library"
2010-12-28 19:57:23 +01:00
Jonathan Perkin
b1b89865c6 bug#51264: MySQL.prefPane fails to run
@prefix@ was erroneously set to '.' with the STANDALONE install
layout, when it should instead be set to CMAKE_INSTALL_PREFIX,
this was likely accidentally copied from scripts/CMakeLists.txt
which has similar handling specifically for mysql_install_db.sh

mysql.server init script can now find the install, assuming the
defaults have been chosen.
2010-12-17 23:03:23 +00:00
Alexander Nozdrin
07a07e29bb - Fix changelog (remove duplicated entry)
- Mark main.gis experimental
2010-11-24 18:55:23 +03:00
Alexander Nozdrin
6f1c49321f Merge from mysql-5.5-bugteam. 2010-11-24 13:43:20 +03:00
Alexander Nozdrin
9c7629fda3 Merge from mysql-5.1-bugteam. 2010-11-24 13:23:44 +03:00
Alexander Nozdrin
1e43b94c70 Merge from mysql-5.0-bugteam. 2010-11-24 13:07:37 +03:00
Alexander Nozdrin
85f855e0ed A follow-up for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file) -- remove all
EXCEPTIONS-CLIENT from all the places.
2010-11-24 12:53:39 +03:00
Jonathan Perkin
8cc51eb1c2 EXCEPTIONS-CLIENT was removed, update the RPM spec file.
While here, support supplying a '-j' flag to make(1) from
the environment.
2010-11-23 15:24:14 +00:00
Ramil Kalimullin
fb8a31caaf Auto-merge with mysql-5.5-bugteam. 2010-11-23 16:44:26 +03:00
Ramil Kalimullin
bd557f04f6 Manual merge from mysql-5.5-bugteam. 2010-11-22 14:47:28 +03:00
Davi Arnaut
af67d8ae02 WL#5665: Removal of the autotools-based build system
Remove some more leftovers from the initial removal:

o Update relevant mentions of configure.in throughout
the source code.

o Remove win/configure.js, which at this point just
duplicates logic already present in CMake based build
system.

o Remove support files which relied on the autotools
build system. In any case, MySQL is no longer officially
supported on SCO.

o Remove files which are no longer part of the build.
2010-11-20 20:56:09 -02:00
Davi Arnaut
8664de2230 WL#5665: Removal of the autotools-based build system
The autotools-based build system has been superseded and
is being removed in order to ease the maintenance burden on
developers tweaking and maintaining the build system.

In order to support tools that need to extract the server
version, a new file that (only) contains the server version,
called VERSION, is introduced. The file contents are human
and machine-readable. The format is:

MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=8
MYSQL_VERSION_EXTRA=-rc

The CMake based version extraction in cmake/mysql_version.cmake
is changed to extract the version from this file. The configure
to CMake wrapper is retained for backwards compatibility and to
support the BUILD/ scripts. Also, a new a makefile target
show-dist-name that prints the server version is introduced.

VERSION:
  Add top-level version file.
cmake/mysql_version.cmake:
  Get version information from the top-level VERSION file.
  Do not cache the version components (MAJOR_VERSION, etc).
  Add MYSQL_RPM_VERSION as a replacement for MYSQL_U_SCORE_VERSION.
2010-11-20 12:47:50 -02:00
Georgi Kodinov
05c9acaaf7 Bug #50021: Windows standard configuration files are showing Linux
options/settings
 
 1. Changed the default value for socket on Windows to the windows
 default
 2. Removed hard-coded trailing slashes from innodb_data_home_dir
 and innodb_log_group_name_dir.
 3. Added extra backslashes to the innodb directory example
 4. Made the tempdir platform "dependent"
 5. Fixed the comments in the .ini files
 6. Removed the tmpdir from the templates and the scripts
2010-11-18 18:02:37 +02:00
Ramil Kalimullin
3bae49d64c Manual-merge from 5.5-bugfixing. 2010-11-18 15:01:50 +03:00
Georgi Kodinov
c5e909b6eb merge 2010-11-19 15:56:08 +02:00
Vladislav Vaintroub
9893c5a248 merge 2010-11-13 23:17:22 +01:00
Vladislav Vaintroub
f0c2b9c5c6 add missing COMPONENT to all CMake INSTALL commands 2010-11-13 23:16:52 +01:00
Joerg Bruehe
b4d5039e71 Patch for bug#57596
MySQL-shared RPM no longer provides mysql-shared

The spec file is changed to explicitly "provide" "mysql-shared"
by the "shared" sub-RPM.
2010-11-12 22:22:55 +01:00
Joerg Bruehe
682f27266b Add the new "qa_auth_*" plugin files to the RPM spec file,
otherwise RPM builds will fail due to "unpackaged file".
2010-11-02 19:54:58 +01:00
Georgi Kodinov
c3b64853e9 fixed the .spec file to package the new QA plugins. 2010-11-01 15:10:02 +02:00
Georgi Kodinov
72f61e31d7 Fixed the .spec file to include the new wl1054 shared objects 2010-10-06 16:23:46 +03:00
Alexander Nozdrin
e28d6ee66a Auto-merge from mysql-5.5. 2010-08-18 11:48:38 +04:00
Joerg Bruehe
48bc7c028d Merge the fix for bug#55015. 2010-08-17 15:54:18 +02:00
Alexander Nozdrin
98f69947aa Auto-merge from mysql-5.5. 2010-08-16 10:46:21 +04:00
Alexander Nozdrin
8b645bed97 Patch for Bug#55854 (MySQL AB should not be AUTHOR, copyright incorrect).
Fixing copyright text.
2010-08-12 19:19:57 +04:00
Joerg Bruehe
5d458c6fdb Fix Bug#55015
"MySQL server is not restarted properly after RPM upgrade"

The problem is that with the general spec file cleanup and
alignment we also did a name change, dropping the "-community"
part from the package file name.

As a result of this, RPM (some versions of it) will report
file conflicts, because it considers this name difference
to imply different packages.
To avoid this, the spec file explicitly "obsoletes" the old
packages (with "-community" in the file name).

Now, RPM will first install these packages and the remove the
old ones, and part of that removal is running the "%preun"
section which stops the server and uninstalls the service
(removes the symlinks to "/etc/init.d/mysql" from the run
level directories).
This stop/uninstall will affect the new server!

The fix is to define a "%triggerpostun" in this spec file
which will watch for removal of the "-community" server.
If this is done (as part of this install/upgrade), the
trigger code will re-install the service and restart the
server process.

In addition, the "sleep" calls after starting the server
have been cleaned up: Rather than doing 2* "sleep 2",
it is now 1 "sleep 5".
2010-08-11 22:52:23 +02:00
Georgi Kodinov
a091964287 merge 2010-08-06 16:52:17 +03:00
Georgi Kodinov
ad97c62af8 Bug #54909: Confusing description about read_buffer_size and
read_rnd_buffer_size

Applied the updated description from Paul's patch.
2010-08-06 15:56:23 +03:00
Alexander Nozdrin
07702953a2 Auto-merge from mysql-trunk-stage. 2010-06-21 17:08:16 +04:00
Daniel Fischer
073943cd7d merge 2010-06-18 17:04:15 +02:00
Joerg Bruehe
766f6a76ca Fix bug#27072: RPM autostarts the server
This is the fix for 5.5, where the behaviour on both installation
and upgrade is changed:
On installation, we do not start the server, to allow automated
installs (which happen in some indeterminate machine status).
If the server was stopped when the upgrade begins, we assume the
administrator is taking manual action, so we do not start the (new)
server at the end of the upgrade.
We still install the start/stop script, so it will be started on reboot.


support-files/mysql.spec.sh:
  In the "pre" section of the spec file, check the server status, and write
  the result to a file.
  In the "post" section, evaluate the status file, and start the server if
  it was running during status analysis.
  In 5.5, we do *not* start the server if there is no status file (which will happen on first installation, when there is no data directory yet).
2010-06-15 22:46:29 +02:00
Joerg Bruehe
b3eac87c3c Fix bug#27072: RPM autostarts the server
This is the fix for 5.1, where only the behaviour on upgrade is changed:
If the server was stopped when the upgrade begins, we assume the
administrator is taking manual action, so we do not start the (new)
server at the end of the upgrade.
We still install the start/stop script, so it will be started on reboot.


support-files/mysql.spec.sh:
  In the "pre" section of the spec file, check the server status, and write
  the result to a file.
  In the "post" section, evaluate the status file, and start the server if
  it was running during status analysis.
  In 5.1, we start the server if there is no status file (which will happen
  on first installation, when there is no data directory yet).
2010-06-15 22:27:48 +02:00
Jonathan Perkin
e01117534c Revert Oracle Enterprise Linux changes. 2010-06-02 11:38:13 +01:00
Jonathan Perkin
99b5ca1f20 Add SELinux checks from distribution-specific spec file, missed in
previous.

Convert some shell bits to standard 2-space indent, 80 columns, etc.
2010-06-01 10:24:38 +01:00
Jonathan Perkin
ba36de4f2e Differentiate between Oracle Enterprise Linux and Red Hat Enterprise Linux. 2010-05-28 13:56:57 +01:00
Daniel Fischer
458d0e7ae0 merge 2010-05-27 16:11:13 +02:00
Jonathan Perkin
3c5aef7dc7 Split OEL/RHEL 2010-05-27 12:51:26 +02:00
Alexander Nozdrin
759d5bc535 Another incarnation of the patch for Bug#30708
(make relies GNU extentions). The patch was partially
backport from 6.0.

Original comment:
bug#30708: make relies GNU extensions.  Now that we no longer use
BitKeeper we can safely remove the SCCS handling with no loss of
functionality.
2010-05-19 17:00:23 +04:00
Jonathan Perkin
f9101d98b7 Revert back to new CMake names for audit_null/daemon_example plugins. 2010-05-12 16:32:31 +01:00
Jonathan Perkin
31f5867fc3 Remove comments. 2010-05-12 16:25:53 +01:00
Jonathan Perkin
05f682f653 Pointless commit to avoid unnecessary diffs and to trigger a new build 2010-05-12 14:12:20 +02:00
Jonathan Perkin
ce2aabb712 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Jonathan Perkin
240176bfa3 Large number of changes to support building RPMs using CMake, along
with other merges from the old distribution-specific spec file.

 - update copyright notices

 - remove __os_install_post override, it was only necessary as a
   hack to build debuginfo packages - now that we no longer make
   them we can revert to the distribution macro which likely has
   other useful bits we might want

 - remove _unpackaged_files_terminate_build override, we want to
   know of any orphaned files

 - include native distribution support

 - no longer build separate debuginfo RPMs, instead just include
   debug/symbols in all binaries, which is more useful for support

 - include support for building commercial RPMs, requires a
   commercial source tree

 - remove cluster RPM support, we don't build them from this
   source tree

 - use CMake for building, and update package lists to match the
   new install layout/files.  Remove any options which were only
   useful for automake builds (e.g. yassl/zlib).

 - other minor cleanups
2010-05-12 12:46:23 +01:00
Jonathan Perkin
27a89ae355 Update comment 2010-05-05 23:03:38 +02:00