Tritonn の ports を作ろう (その1)
※ Makefile は、行頭からのとこを tab にする(コピペする人はいないと思うけど)
とりあえず、コピーする
# cd /usr/ports/databases
# cp -R mysql50-server mysql50-tritonn-server
Makefile を変更していく
# cd /usr/ports/mysql50-tritonn-server
# vi MakefilePORTVERSION= 1.0.11
- Tritonn1.0.11 は mysql5.0.67 限定なので、DISTFILE で指定
DISTFILES= mysql-5.0.67.tar.gzPATCH_SITES= ${MASTER_SITE_SOURCEFORGE_JP} PATCH_SITE_SUBDIR= tritonn/33719 PATCHFILES= tritonn-${PORTVERSION}-mysql-5.0.67.diff PATCH_DIST_STRIP= -p1 PKGNAMESUFFIX?= -tritonn-serverSLAVEDIRS= databases/mysql50-tritonn-client databases/mysql50-tritonn-scriptsCONFIGURE_ARGS= --localstatedir=/var/db/mysql \ --without-debug \ --without-readline \ --without-libedit \ --without-bench \ --without-extra-tools \ --with-libwrap \ --with-mysqlfs \ --with-low-memory \ --with-comment='FreeBSD port: ${PKGNAME}' \ --enable-thread-safe-client \ --with-senna \ --with-mecabRUN_DEPENDS= ${LOCALBASE}/lib/libmecab.a:${PORTSDIR}/japanese/mecab \ ${LOCALBASE}/lib/libsenna.a:${PORTSDIR}/textproc/senna
- ビルド時に必要な ports
BUILD_DEPENDS= autoheader:${PORTSDIR}/devel/autotools \ bison:${PORTSDIR}/devel/bison \ ${RUN_DEPENDS}WRKSRC= ${WRKDIR}/mysql-5.0.67
変更前
.ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again.変更後
.ifdef USE_TRITONN .error You have `USE_TRITONN' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif .ifdef WANT_MYSQL_TRITONN_VER .error You have `WANT_MYSQL_TRITONN_VER' variable defined either in environment or in make(1) arguments. Please undefine and try again.
LATEST_LINK= mysql50-tritonn-server
- 通常のの MySQL すべて とぶつかるので
CONFLICTS= mysql-sever-*
- # MySQL-Client part も
LATEST_LINK= mysql50-tritonn-client CONFLICTS= mysql-client-*
変更前
USE_MYSQL= yes WANT_MYSQL_VER= 50変更後
USE_TRITONN= yes WANT_MYSQL_TRITONN_VER= 50
LATEST_LINK= mysql50-tritonn-scripts CONFLICTS= mysql-scripts-*
- tritonn パッチをあてた後の libtools とかを実行するようにする
変更前
.if defined(WITH_OPENSSL) && defined(BUILD_STATIC) pre-configure: @${ECHO} "You can't use the BUILD_STATIC option when using OpenSSL." @${FALSE} .endif変更後
pre-configure: .if defined(WITH_OPENSSL) && defined(BUILD_STATIC) @${ECHO} "You can't use the BUILD_STATIC option when using OpenSSL." @${FALSE} .else @cd ${WRKSRC} && libtoolize -c -f @cd ${WRKSRC} && aclocal-1.9 @cd ${WRKSRC} && autoheader @cd ${WRKSRC} && automake-1.9 -c -a -i @cd ${WRKSRC} && autoconf .endif
このあとに、Makefile 内で、 bsd.port.post.mk を呼び出して処理をするけど
USE_MYSQL と WANT_MYSQL_VER を変更してしまったので
USE_MYSQL, WANT_MYSQL_VER の処理を素通りしてしまう・・・
次のエントリ(その2)へ続く!?