美味しいもの

初心に帰って調べもの。

全体表示

[ リスト ]

書くとこんな感じ・・・
$ vi rpm/SPECS/sampl_mysql-5.0.90.1.spec

# 初期設定
%define mysql_version   5.0.90
%define mysqld_user     mysql
%define mysqld_group    mysql
%define mysqldatadir    /usr/local/mysql

%define app_user    aaaaa
%define app_group   users
%define app_dir     /home/aaaaa
%define app_pass   "*****"

# ヘッダー部
Summary: sample rpms.
Name: sampl_mysql
Version: %{mysql_version}
Release: 1
Group: Applications/Databases
License: GPL
Source0: mysql-5.0.90.tar.gz
Source1: my.cnf

Requires: grep /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/usermod /sbin/chkconfig
AutoReqProv: no

BuildRoot: /home/${user}/rpm/ROOT

%description
Samole rpms.

%prep
rm -rf $RPM_BUILD_ROOT/*

%setup -n mysql-%{mysql_version}

%build

RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}

PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
export PATH

if [ -z "$CXX" -a -z "$CC" ];
then
	export CC="gcc"
	export CXX="gcc"
fi

CFLAGS=${MYSQL_BUILD_CFLAGS:-$RPM_OPT_FLAGS}
CXXFLAGS=${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS -felide-constructors -fno-exceptions -fno-rtti -fno-strict-aliasing }


PATH="${MYSQL_BUILD_PATH:-$PATH}" \
	CC="${MYSQL_BUILD_CC:-$CC}" \
	CXX="${MYSQL_BUILD_CXX:-$CXX}" \
	CFLAGS="$CFLAGS" \
	CXXFLAGS="$CXXFLAGS" \
	LDFLAGS="$MYSQL_BUILD_LDFLAGS" \
./configure \
	--prefix=%{mysqldatadir} \
	--libdir=/usr/lib64 \
	--with-mysqld-user=%{mysqld_user} \
	--with-charset=utf8 \
	--with-extra-charsets=all \
	--with-zlib-dir=/usr \
	--enable-thread-safe-client \
	--enable-assembler \
	--disable-dependency-tracking \
	--with-named-thread-libs=-lpthread
make

# インストール
%install
RBR=$RPM_BUILD_ROOT
MBD=$RPM_BUILD_DIR/mysql-%{mysql_version}

# ☆必要なディレクトリを作っておく
install -d $RBR%{_sysconfdir}/{logrotate.d,init.d}
%__mkdir -p $RBR/usr/lib64

# ☆自分環境にインストールする
make install-strip DESTDIR=$RBR

install -d -m 755 %{app_dir} $RBR%{app_dir}
install -d -m 777 logs $RBR%{app_dir}/logs
install -d -m 777 data $RBR%{app_dir}/data

install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{app_dir}/scripts/

install -m 644 $MBD/support-files/mysql-log-rotate $RBR%{_sysconfdir}/logrotate.d/mysql
install -m 755 $MBD/support-files/mysql.server $RBR%{_sysconfdir}/init.d/mysql


%clean
[ "$RBR" != "/" ] && rm -rf $RBR

# インストール後にする処理
%post
mysql_datadir=%{mysqldatadir}

if test -x /sbin/insserv
then
        /sbin/insserv %{_sysconfdir}/init.d/mysql
# use chkconfig on Red Hat and newer SuSE releases
elif test -x /sbin/chkconfig
then
        /sbin/chkconfig --add mysql
fi

groupadd -r %{mysqld_group} 2> /dev/null || true
useradd -M -r -d $mysql_datadir -s /sbin/nologin -c "MySQL server" -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true 
usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true

$mysql_datadir/bin/mysql_install_db --rpm --user=%{mysqld_user}

if [test ! -f "%{_sysconfdir}/ld.so.conf.d/usr-local-mysql.conf"];
then
	echo "/usr/lib64/mysql" > %{_sysconfdir}/ld.so.conf.d/usr-local-mysql.conf
	/sbin/ldconfig
fi

%{_sysconfdir}/init.d/mysql start
sleep 2

%{mysqldatadir}/bin/mysqladmin --user=root --default-character-set=ujis create hogehoge

%files
# ☆配置してほしい本当の場所
%attr(755, root, root) %{_bindir}/myisamchk
%attr(-, root, root) %{_libdir}/mysql/*

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

開く トラックバック(1)


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事