mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 09:04:29 +02:00
- cleanup: removed the empty NEW-RPMS directory and all references
- cleanup: removed obsolete support-files/MacOSX/make_mysql_pkg.pl script (we now use Do-pkg for building OS X packages) BitKeeper/deleted/.del-.cvsignore~4c7a1f88a5a62a24: Delete: NEW-RPMS/.cvsignore BitKeeper/deleted/.del-make_mysql_pkg.pl~caac82eb901cc206: Delete: support-files/MacOSX/make_mysql_pkg.pl netware/BUILD/compile-linux-tools: - removed reference to the NEW-RPMS directory netware/BUILD/compile-netware-END: - removed reference to the NEW-RPMS directory netware/BUILD/compile-netware-src: - removed reference to the NEW-RPMS directory
This commit is contained in:
parent
0ffe070cee
commit
ac22cdc577
5 changed files with 0 additions and 479 deletions
|
|
@ -1 +0,0 @@
|
||||||
MySQL-*.rpm
|
|
||||||
|
|
@ -18,7 +18,6 @@ path=`dirname $0`
|
||||||
if test -e "Makefile"; then make -k clean; fi
|
if test -e "Makefile"; then make -k clean; fi
|
||||||
|
|
||||||
# remove files
|
# remove files
|
||||||
rm -f NEW-RPMS/*
|
|
||||||
rm -f */.deps/*.P
|
rm -f */.deps/*.P
|
||||||
rm -f */*.linux
|
rm -f */*.linux
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ path=`dirname $0`
|
||||||
if test -e "Makefile"; then make -k clean; fi
|
if test -e "Makefile"; then make -k clean; fi
|
||||||
|
|
||||||
# remove files
|
# remove files
|
||||||
rm -f NEW-RPMS/*
|
|
||||||
rm -f */.deps/*.P
|
rm -f */.deps/*.P
|
||||||
rm -rf Makefile.in.bk
|
rm -rf Makefile.in.bk
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ if test -e "Makefile"; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# remove other files
|
# remove other files
|
||||||
rm -f NEW-RPMS/*
|
|
||||||
rm -f */.deps/*.P
|
rm -f */.deps/*.P
|
||||||
rm -rf Makefile.in.bk
|
rm -rf Makefile.in.bk
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,475 +0,0 @@
|
||||||
#!/usr/bin/perl -w
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# make_mysql_pkg.pl
|
|
||||||
#
|
|
||||||
# This script creates a Mac OS X installation package
|
|
||||||
# of MySQL for Apple's Installer application.
|
|
||||||
#
|
|
||||||
# To use it:
|
|
||||||
#
|
|
||||||
# 1.) Unpack the mysql source tarball and cd into the directory
|
|
||||||
# 2.) execute this script
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Written by Marc Liyanage (http://www.entropy.ch)
|
|
||||||
#
|
|
||||||
# History:
|
|
||||||
#
|
|
||||||
# When Who What
|
|
||||||
# ------------------------------------------------------------------
|
|
||||||
# 2001-09-16 Marc Liyanage First version
|
|
||||||
# 2001-11-18 Marc Liyanage Improved configure directory options
|
|
||||||
#
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use DirHandle;
|
|
||||||
|
|
||||||
my $data = {};
|
|
||||||
|
|
||||||
$data->{PREFIX_DIR} = "/usr/local/mysql";
|
|
||||||
$data->{CONFIG} = join(" ",
|
|
||||||
"--prefix=$data->{PREFIX_DIR}",
|
|
||||||
"--localstatedir=$data->{PREFIX_DIR}/data",
|
|
||||||
"--libdir=$data->{PREFIX_DIR}/lib",
|
|
||||||
"--includedir=$data->{PREFIX_DIR}/include",
|
|
||||||
"--with-named-z-libs=/usr/local/libz.a",
|
|
||||||
"--with-innodb",
|
|
||||||
"--with-server-suffix='-entropy.ch'",
|
|
||||||
"--with-comment='http://www.entropy.ch/software/macosx/mysql/'",
|
|
||||||
"--with-mysqld-user=mysql",
|
|
||||||
"--enable-assembler",
|
|
||||||
"CFLAGS=\"-DHAVE_BROKEN_REALPATH -lncurses\"",
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
prepare($data);
|
|
||||||
configure_source($data);
|
|
||||||
make($data);
|
|
||||||
make_binary_distribution($data);
|
|
||||||
create_pax_root($data);
|
|
||||||
create_package($data);
|
|
||||||
cleanup($data);
|
|
||||||
|
|
||||||
print "Package $data->{PACKAGE_TARBALL_FILENAME} created\n";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Subroutines follow here...
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Prepares data in the global $data hash, like version numbers,
|
|
||||||
# directory names etc. Also makes sure that no old stuff
|
|
||||||
# is in our way.
|
|
||||||
#
|
|
||||||
sub prepare {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
# Keep the current wd for reference
|
|
||||||
#
|
|
||||||
$data->{OLDWD} = `pwd`;
|
|
||||||
chomp($data->{OLDWD});
|
|
||||||
|
|
||||||
# Look for configure script
|
|
||||||
#
|
|
||||||
unless (-f "configure") {
|
|
||||||
abort($data, "Unable to find 'configure', make sure you're in the MySQL source toplevel directory!");
|
|
||||||
}
|
|
||||||
|
|
||||||
# Try to find version number there
|
|
||||||
#
|
|
||||||
my $mysql_version_h = `cat configure`;
|
|
||||||
($data->{VERSION}) = $mysql_version_h =~ /^VERSION=(.+?)$/m;
|
|
||||||
|
|
||||||
unless ($data->{VERSION} =~ /\d+/) {
|
|
||||||
abort($data, "Unable to find MySQL version number!");
|
|
||||||
}
|
|
||||||
|
|
||||||
debug($data, "found MySQL version number $data->{VERSION}");
|
|
||||||
|
|
||||||
|
|
||||||
# PAXROOT_DIR is where we will build our own little
|
|
||||||
# fake /usr/local directory. Make sure it doesn't exist,
|
|
||||||
# then try to create it.
|
|
||||||
#
|
|
||||||
$data->{PAXROOT_DIR} = "/tmp/mysql-$data->{VERSION}-paxroot";
|
|
||||||
|
|
||||||
if (-e $data->{PAXROOT_DIR}) {
|
|
||||||
abort($data, "$data->{PAXROOT_DIR} exists, please remove first");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (system("mkdir $data->{PAXROOT_DIR}")) {
|
|
||||||
abort($data, "Unable to mkdir $data->{PAXROOT_DIR}, please make sure you have the right permissions!");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# PACKAGE_DIR is where we will build the package directory
|
|
||||||
# hierarchy, according to the standard .pkg layout.
|
|
||||||
#
|
|
||||||
$data->{PACKAGE_NAME} = "mysql-$data->{VERSION}.pkg";
|
|
||||||
$data->{PACKAGE_DIR} = "/tmp/$data->{PACKAGE_NAME}";
|
|
||||||
|
|
||||||
if (-e $data->{PACKAGE_DIR}) {
|
|
||||||
abort($data, "$data->{PACKAGE_DIR} exists, please remove first");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (system("mkdir $data->{PACKAGE_DIR}")) {
|
|
||||||
abort($data, "Unable to mkdir $data->{PACKAGE_DIR}, please make sure you have the right permissions!");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Configure the MySQL source with our options
|
|
||||||
#
|
|
||||||
sub configure_source {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
if (system("./configure $data->{CONFIG}")) {
|
|
||||||
abort($data, "Unable to configure!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Build the software
|
|
||||||
#
|
|
||||||
sub make {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
if (system("make")) {
|
|
||||||
abort($data, "Unable to make!");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# We don't ever install the software, but instead we use an
|
|
||||||
# included script to create a binary distribution
|
|
||||||
# tarball.
|
|
||||||
#
|
|
||||||
sub make_binary_distribution {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
if (system("./scripts/make_binary_distribution > make_binary_distribution.out")) {
|
|
||||||
abort($data, "Unable to make_binary_distribution!");
|
|
||||||
}
|
|
||||||
|
|
||||||
my @output = `cat make_binary_distribution.out`;
|
|
||||||
my $last_line = $output[-1];
|
|
||||||
unlink("make_binary_distribution.out");
|
|
||||||
|
|
||||||
my ($tarball_filename, $tarball_directory) = $last_line =~ /^((.+)\.tar\.gz) created/i;
|
|
||||||
|
|
||||||
unless ($tarball_filename and -f $tarball_filename) {
|
|
||||||
abort($data, "Unable determine the output filename of scripts/make_binary_distribution!");
|
|
||||||
}
|
|
||||||
|
|
||||||
$data->{BINARY_TARBALL_FILENAME} = $tarball_filename;
|
|
||||||
$data->{BINARY_TARBALL_DIRECTORY} = $tarball_directory;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Now we build a fake /usr/local directory hierarchy.
|
|
||||||
# This will be fed to the pax tool to create the archive.
|
|
||||||
#
|
|
||||||
sub create_pax_root {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
# Go there and try to extract the binary distribution
|
|
||||||
# tarball which we created in the previous step.
|
|
||||||
#
|
|
||||||
chdir($data->{PAXROOT_DIR});
|
|
||||||
my $tarfile = "$data->{OLDWD}/$data->{BINARY_TARBALL_FILENAME}";
|
|
||||||
|
|
||||||
if (system("tar -xzf $tarfile")) {
|
|
||||||
abort($data, "Unable to extract $tarfile inside $data->{PAXROOT_DIR}");
|
|
||||||
}
|
|
||||||
|
|
||||||
# Rename it to what we want it to be in the
|
|
||||||
# installed /usr/local directory later on, i.e.
|
|
||||||
# mysql-<version>. Then create a symlink from
|
|
||||||
# mysql to mysql-<version>
|
|
||||||
#
|
|
||||||
rename($data->{BINARY_TARBALL_DIRECTORY}, "mysql-$data->{VERSION}");
|
|
||||||
symlink("mysql-$data->{VERSION}", "mysql");
|
|
||||||
|
|
||||||
|
|
||||||
# We create a bunch of symlinks in /usr/local/bin and
|
|
||||||
# /usr/local/share/man so that the end-user will not
|
|
||||||
# have to adjust PATH and MANPATH to include the
|
|
||||||
# /usr/local/mysql/bin and man directories.
|
|
||||||
#
|
|
||||||
system("mkdir -p $_") foreach qw(bin share/man);
|
|
||||||
|
|
||||||
|
|
||||||
# First create the symlinks in the bin directory
|
|
||||||
#
|
|
||||||
# 2001-02-13: we no longer use symlinks for the binaries, we
|
|
||||||
# use small dummy scripts instead because the
|
|
||||||
# mysql scripts do a lot of guesswork with their
|
|
||||||
# own path and that will not work when called via the symlink
|
|
||||||
#
|
|
||||||
# symlink("../mysql/bin/$_", "$_") foreach (grep {$_ !~ /^\.+$/} DirHandle->new("../mysql/bin")->read());
|
|
||||||
|
|
||||||
chdir("bin");
|
|
||||||
|
|
||||||
foreach my $command (grep {$_ !~ /^\.+$/} DirHandle->new("../mysql/bin")->read()) {
|
|
||||||
|
|
||||||
my $scriptcode = qq+#!/bin/sh\n# Part of the entropy.ch mysql package\ncd /usr/local/mysql/\nexec ./bin/$command "\$\@"\n+;
|
|
||||||
open(SCRIPTFILE, ">$command") or die "Unable to write open $command\n";
|
|
||||||
print SCRIPTFILE $scriptcode;
|
|
||||||
close(SCRIPTFILE);
|
|
||||||
chmod(0755, $command);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Now include the man pages. Two problems here:
|
|
||||||
# 1.) the make_binary_distribution script does not seem
|
|
||||||
# to include the man pages, so we have to copy them over
|
|
||||||
# now. [outdated, was fixed by MySQL!]
|
|
||||||
# 2.) The man pages could be in different sections, so
|
|
||||||
# we have to recursively copy *and* symlink them.
|
|
||||||
#
|
|
||||||
|
|
||||||
# First find out what's there in the source distribution.
|
|
||||||
# Store the names of the manpages in anonymous
|
|
||||||
# arrays which in turn will be stored in a hash, using
|
|
||||||
# the section numbers as hash keys.
|
|
||||||
#
|
|
||||||
chdir("$data->{PAXROOT_DIR}/mysql");
|
|
||||||
my %man_sections;
|
|
||||||
foreach my $manpage (grep {$_ =~ /^.+\.(\d+)$/} DirHandle->new("man")->read()) {
|
|
||||||
|
|
||||||
my ($section) = $manpage =~ /\.(\d+)$/;
|
|
||||||
|
|
||||||
$man_sections{$section} ||= [];
|
|
||||||
push @{$man_sections{$section}}, "$manpage";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Now iterate through the sections and man pages,
|
|
||||||
# and copy/symlink the man pages
|
|
||||||
#
|
|
||||||
chdir("$data->{PAXROOT_DIR}/share/man/");
|
|
||||||
|
|
||||||
foreach my $section (keys(%man_sections)) {
|
|
||||||
|
|
||||||
system("mkdir -p man$section");
|
|
||||||
chdir("man$section");
|
|
||||||
|
|
||||||
foreach my $manpage (@{$man_sections{$section}}) {
|
|
||||||
|
|
||||||
symlink("../../../mysql/man/$manpage", $manpage)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
chdir("..");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Fix up the library and lib directories. They are packed up wrong in the
|
|
||||||
# binary distribution tarball.
|
|
||||||
#
|
|
||||||
# (no longer needed as of 3.23.47)
|
|
||||||
# (oops, still needed because 3.23.47 is broken...)
|
|
||||||
#
|
|
||||||
# if (-d "$data->{PAXROOT_DIR}/mysql/lib/mysql") {
|
|
||||||
# abort($data, "$data->{PAXROOT_DIR}/mysql/lib/mysql exists, layout has changed!");
|
|
||||||
# }
|
|
||||||
# chdir("$data->{PAXROOT_DIR}/mysql/lib/");
|
|
||||||
# system("mkdir -p mysql");
|
|
||||||
# system("mv * mysql");
|
|
||||||
|
|
||||||
# if (-d "$data->{PAXROOT_DIR}/mysql/include/mysql") {
|
|
||||||
# abort($data, "$data->{PAXROOT_DIR}/mysql/include/mysql exists, layout has changed!");
|
|
||||||
# }
|
|
||||||
# chdir("$data->{PAXROOT_DIR}/mysql/include/");
|
|
||||||
# system("mkdir -p mysql");
|
|
||||||
# system("mv * mysql");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Take the pax root directory, create a few auxiliary
|
|
||||||
# files and then pack everything up into a tarball
|
|
||||||
#
|
|
||||||
sub create_package {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
# Create the resources directory in which all
|
|
||||||
# interesting files for this package will be stored
|
|
||||||
#
|
|
||||||
$data->{PKG_RESOURCES_DIR} = "$data->{PACKAGE_DIR}/Contents/Resources";
|
|
||||||
|
|
||||||
if (system("mkdir -p $data->{PKG_RESOURCES_DIR}")) {
|
|
||||||
abort("Unable to create package resources dir $data->{PKG_RESOURCES_DIR}");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Create the big archive with all the files using
|
|
||||||
# the pax tool
|
|
||||||
#
|
|
||||||
chdir($data->{PAXROOT_DIR});
|
|
||||||
if(system("pax -w . | gzip -c > $data->{PKG_RESOURCES_DIR}/mysql-$data->{VERSION}.pax.gz")) {
|
|
||||||
abort("Unable to create package pax file");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Create the "Bill Of Materials" (bom) file.
|
|
||||||
#
|
|
||||||
if(system("mkbom . $data->{PKG_RESOURCES_DIR}/mysql-$data->{VERSION}.bom")) {
|
|
||||||
abort("Unable to create package bom file");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Create the ".sizes" file with some information about the package
|
|
||||||
#
|
|
||||||
my $size_uncompressed = `du -sk $data->{PAXROOT_DIR} | cut -f 1`;
|
|
||||||
chomp($size_uncompressed);
|
|
||||||
|
|
||||||
my $size_compressed = `du -sk $data->{PACKAGE_DIR} | cut -f 1`;
|
|
||||||
chomp($size_compressed);
|
|
||||||
|
|
||||||
my $numfiles = `find /tmp/mysql-$data->{VERSION}-paxroot | wc -l`;
|
|
||||||
$numfiles--;
|
|
||||||
|
|
||||||
open(SIZESFILE, ">$data->{PKG_RESOURCES_DIR}/mysql-$data->{VERSION}.sizes") or abort("Unable to write open sizes file $data->{PKG_RESOURCES_DIR}/mysql-$data->{VERSION}.sizes");
|
|
||||||
print SIZESFILE "NumFiles $numfiles\n";
|
|
||||||
print SIZESFILE "InstalledSize $size_uncompressed\n";
|
|
||||||
print SIZESFILE "CompressedSize $size_compressed\n";
|
|
||||||
close(SIZESFILE);
|
|
||||||
|
|
||||||
|
|
||||||
# Create the ".info" file with more information abou the package.
|
|
||||||
#
|
|
||||||
open(INFOFILE, ">$data->{PKG_RESOURCES_DIR}/mysql-$data->{VERSION}.info") or abort("Unable to write open sizes file $data->{PKG_RESOURCES_DIR}/mysql-$data->{VERSION}.info");
|
|
||||||
my $infodata = join("", <DATA>);
|
|
||||||
$infodata =~ s/<%(.+?)%>/$data->{$1}/eg;
|
|
||||||
abort("Unable to get info file data from __DATA__!") unless ($infodata =~ /\w+/);
|
|
||||||
print INFOFILE $infodata;
|
|
||||||
close(INFOFILE);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Finally, create the .tar.gz file for the package,
|
|
||||||
# this is our end result
|
|
||||||
#
|
|
||||||
chdir($data->{PACKAGE_DIR});
|
|
||||||
chdir("..");
|
|
||||||
|
|
||||||
$data->{PACKAGE_TARBALL_FILENAME} = "$data->{PACKAGE_NAME}.tar.gz";
|
|
||||||
|
|
||||||
if(system("tar -czf $data->{OLDWD}/$data->{PACKAGE_TARBALL_FILENAME} $data->{PACKAGE_NAME}")) {
|
|
||||||
abort("Unable to create package tar file $data->{OLDWD}/$data->{PACKAGE_TARBALL_FILENAME}");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Abort with an error message
|
|
||||||
#
|
|
||||||
sub abort {
|
|
||||||
|
|
||||||
my ($data, $errormessage) = @_;
|
|
||||||
|
|
||||||
my ($caller) = (caller(1))[3];
|
|
||||||
$caller =~ s/^main:://;
|
|
||||||
|
|
||||||
print "*** Error: $caller(): $errormessage\n";
|
|
||||||
|
|
||||||
exit 1;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Output informative messages
|
|
||||||
#
|
|
||||||
sub debug {
|
|
||||||
|
|
||||||
my ($data, $message) = @_;
|
|
||||||
|
|
||||||
my ($caller) = (caller(1))[3];
|
|
||||||
$caller =~ s/^main:://;
|
|
||||||
|
|
||||||
print "*** Info: $caller(): $message\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Remove temporary items
|
|
||||||
#
|
|
||||||
sub cleanup {
|
|
||||||
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
chdir($data->{OLDWD});
|
|
||||||
|
|
||||||
system("rm -rf $data->{PACKAGE_DIR}");
|
|
||||||
system("rm -rf $data->{PAXROOT_DIR}");
|
|
||||||
system("rm $data->{BINARY_TARBALL_FILENAME}");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
__DATA__
|
|
||||||
Title MySQL
|
|
||||||
Version <%VERSION%>
|
|
||||||
Description The MySQL database server in a convenient Mac OS X package. Some additional configuration is necessary, please see http://www.entropy.ch/software/macosx/mysql/
|
|
||||||
DefaultLocation /usr/local
|
|
||||||
Diskname (null)
|
|
||||||
DeleteWarning
|
|
||||||
NeedsAuthorization YES
|
|
||||||
DisableStop NO
|
|
||||||
UseUserMask NO
|
|
||||||
Application NO
|
|
||||||
Relocatable NO
|
|
||||||
Required NO
|
|
||||||
InstallOnly NO
|
|
||||||
RequiresReboot NO
|
|
||||||
InstallFat NO
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue