1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Description: Serveur de base de données MySQL
# URL: http://www.mysql.com
# Maintainer: NuTyX core team
# Packager: thierryn1 at hispeed dot ch
# Depends on: cmake, mysqlclient
# Run on: mysqlclient
name=mysql
version=5.5.14
release=1
source=(http://mirror.switch.ch/mirror/mysql/Downloads/MySQL-${version%.*}/$name-$version.tar.gz)
build () {
source /etc/blfs-bootscripts
wget http://www.linuxfromscratch.org/blfs/downloads/svn/$scripts-$scriptsversion.tar.bz2
tar xvf $scripts-$scriptsversion.tar.bz2
cd $SRC
mkdir build
cd build
CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer"
CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti"
cmake ../mysql-$version \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMYSQL_DATADIR=/srv/mysql \
-DSYSCONFDIR=/etc/mysql \
-DINSTALL_INFODIR=share/mysql/docs \
-DINSTALL_MANDIR=share/man \
-DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_DOCREADMEDIR=share/mysql \
-DINSTALL_SUPPORTFILESDIR=share/mysql \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_SHAREDIR=share/mysql \
-DWITH_READLINE=ON \
-DWITH_ZLIB=system \
-DWITH_SSL=system \
-DWITH_LIBWRAP=ON \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_EMBEDDED_SERVER=ON \
-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
-DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
make
cd $SRC/build
make DESTDIR=$PKG install
# install -Dm644 $SRC/my.cnf $PKG/etc/mysql/my.cnf
# install -Dm755 $SRC/mysqld $PKG/etc/rc.d/mysqld
# provided by libmysqlclient
rm $PKG/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
rm $PKG/usr/lib/libmysql*
rm -r $PKG/usr/include/
rm $PKG/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
# provided by mysql-clients
rm $PKG/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
rm $PKG/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
# not needed
rm -r $PKG/usr/{mysql-test,sql-bench}
# These shouldn't be here
rm -r $PKG/usr/docs
install -d $PKG/srv/mysql
cp -r $PKG/usr/data/* $PKG/srv/mysql/
chmod -R 700 $PKG/srv/mysql
# cd $name-$version
# libtoolize --force
# aclocal
# autoconf
# automake
# ./configure --prefix=/usr \
# --sysconfdir=/etc \
# --libexecdir=/usr/sbin \
# --localstatedir=/srv/mysql \
# --enable-assembler \
# --enable-thread-safe-client \
# --enable-local-infile \
# --with-unix-socket-path=/var/run/mysql/mysql.sock \
# --with-extra-charsets=all \
# --with-plugins=partition,innobase,innodb_plugin \
# --without-debug \
# --without-readline \
# --without-docs \
# --without-bench
# make
# make DESTDIR=$PKG install
# rm -r $PKG/usr/{mysql-test,sql-bench}
# for i in mysql mysql_upgrade \
# mysqladmin mysqlbinlog \
# mysqlcheck mysqldump mysqlimport mysqlshow \
# mysqlslap mysqltest mysql_config
# do rm -r $PKG/usr/bin/$i
# done
# rm $PKG/usr/share/mysql/charsets/README
mkdir -p $PKG/etc
install -v -m644 $PKG/usr/share/mysql/my-medium.cnf \
$PKG/etc/my.cnf
sed -i -e s/^skip-federated/#skip-federated/ \
$PKG/etc/my.cnf
cd ../$scripts-$scriptsversion
make DESTDIR=$PKG install-mysql
# # Suppression des librairies
# rm -r $PKG/usr/{include,lib}
}
|