ENH: Adding cygwin packaging script to release directory.
This commit is contained in:
parent
68d9a5d404
commit
c1e2b027c0
|
@ -0,0 +1,155 @@
|
|||
#!/bin/sh
|
||||
|
||||
TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
|
||||
SELF_NAME=`basename "$0" .sh`
|
||||
PKG=`echo ${SELF_NAME} | sed -e 's/\-[^\-]*\-[^\-]*$//'`
|
||||
VER=`echo ${SELF_NAME} | sed -e 's/^[^\-]*\-//' -e 's/\-[^\-]*$//'`
|
||||
REL=`echo ${SELF_NAME} | sed -e 's/^[^\-]*\-[^\-]*\-//'`
|
||||
FULLPKG=${PKG}-${VER}-${REL}
|
||||
|
||||
SOURCE_DIR="${TOP_DIR}/${PKG}-${VER}"
|
||||
BINARY_DIR=${SOURCE_DIR}/.build
|
||||
INSTALL_DIR=${SOURCE_DIR}/.inst
|
||||
SPKG_DIR=${SOURCE_DIR}/.sinst
|
||||
SOURCE_PACKAGE="${TOP_DIR}/${FULLPKG}-src.tar.bz2"
|
||||
SOURCE_TARBALL="${TOP_DIR}/${PKG}-${VER}.tar.bz2"
|
||||
SOURCE_PATCH="${TOP_DIR}/${FULLPKG}.patch"
|
||||
PREFIX="/usr"
|
||||
|
||||
BINARY_PACKAGE="${TOP_DIR}/${FULLPKG}.tar.bz2"
|
||||
|
||||
mkdirs()
|
||||
{
|
||||
(
|
||||
mkdir -p "${BINARY_DIR}" "${INSTALL_DIR}" "${SPKG_DIR}"
|
||||
)
|
||||
}
|
||||
|
||||
prep()
|
||||
{
|
||||
(
|
||||
cd ${TOP_DIR} &&
|
||||
tar xvjf "${SOURCE_TARBALL}" &&
|
||||
patch -p0 < "${SOURCE_PATCH}" &&
|
||||
mkdirs
|
||||
)
|
||||
}
|
||||
|
||||
conf()
|
||||
{
|
||||
(
|
||||
cd ${BINARY_DIR} &&
|
||||
${SOURCE_DIR}/configure --prefix=${PREFIX}
|
||||
)
|
||||
}
|
||||
|
||||
build()
|
||||
{
|
||||
(
|
||||
cd ${BINARY_DIR} &&
|
||||
make
|
||||
)
|
||||
}
|
||||
|
||||
install()
|
||||
{
|
||||
(
|
||||
cd ${BINARY_DIR} &&
|
||||
make install DESTDIR="${INSTALL_DIR}" &&
|
||||
mkdir -p ${INSTALL_DIR}${PREFIX}/doc/Cygwin &&
|
||||
mkdir -p ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
|
||||
cp ${SOURCE_DIR}/CMake.pdf ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
|
||||
cp ${SOURCE_DIR}/CMake.rtf ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
|
||||
cp ${SOURCE_DIR}/Copyright.txt ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
|
||||
cp ${SOURCE_DIR}/CYGWIN-PATCHES/cmake.README \
|
||||
${INSTALL_DIR}${PREFIX}/doc/Cygwin/${FULLPKG}.README &&
|
||||
touch ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER}/MANIFEST &&
|
||||
cd ${INSTALL_DIR} &&
|
||||
FILES=`/usr/bin/find .${PREFIX} -type f |sed 's/^\.\//\//'` &&
|
||||
(
|
||||
cat >> ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER}/MANIFEST <<EOF
|
||||
${FILES}
|
||||
EOF
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
strip()
|
||||
{
|
||||
(
|
||||
cd ${INSTALL_DIR} &&
|
||||
/usr/bin/find . -name "*.dll" | xargs strip >/dev/null 2>&1
|
||||
/usr/bin/find . -name "*.exe" | xargs strip >/dev/null 2>&1
|
||||
true
|
||||
)
|
||||
}
|
||||
|
||||
clean()
|
||||
{
|
||||
(
|
||||
cd ${BINARY_DIR} &&
|
||||
make clean
|
||||
)
|
||||
}
|
||||
|
||||
pkg()
|
||||
{
|
||||
(
|
||||
cd ${INSTALL_DIR} &&
|
||||
tar cvjf "${BINARY_PACKAGE}" *
|
||||
)
|
||||
}
|
||||
|
||||
mkpatch()
|
||||
{
|
||||
(
|
||||
cd ${SOURCE_DIR} &&
|
||||
tar xvjf "${SOURCE_TARBALL}" &&
|
||||
mv ${PKG}-${VER} ../${PKG}-${VER}-orig &&
|
||||
cd ${TOP_DIR} &&
|
||||
diff -urN -x '.build' -x '.inst' -x '.sinst' \
|
||||
"${PKG}-${VER}-orig" "${PKG}-${VER}" > "${SPKG_DIR}/${FULLPKG}.patch" ;
|
||||
rm -rf "${TOP_DIR}/${PKG}-${VER}-orig"
|
||||
)
|
||||
}
|
||||
|
||||
spkg()
|
||||
{
|
||||
(
|
||||
mkpatch &&
|
||||
cp ${SOURCE_TARBALL} ${SPKG_DIR} &&
|
||||
cp "$0" ${SPKG_DIR} &&
|
||||
cd ${SPKG_DIR} &&
|
||||
tar cvjf ${SOURCE_PACKAGE} *
|
||||
)
|
||||
}
|
||||
|
||||
finish()
|
||||
{
|
||||
(
|
||||
rm -rf "${SOURCE_DIR}"
|
||||
)
|
||||
}
|
||||
|
||||
case $1 in
|
||||
prep) prep ; STATUS=$? ;;
|
||||
mkdirs) mkdirs ; STATUS=$? ;;
|
||||
conf) conf ; STATUS=$? ;;
|
||||
build) build ; STATUS=$? ;;
|
||||
check) check ; STATUS=$? ;;
|
||||
clean) clean ; STATUS=$? ;;
|
||||
install) install ; STATUS=$? ;;
|
||||
strip) strip ; STATUS=$? ;;
|
||||
package) pkg ; STATUS=$? ;;
|
||||
pkg) pkg ; STATUS=$? ;;
|
||||
mkpatch) mkpatch ; STATUS=$? ;;
|
||||
src-package) spkg ; STATUS=$? ;;
|
||||
spkg) spkg ; STATUS=$? ;;
|
||||
finish) finish ; STATUS=$? ;;
|
||||
all) (
|
||||
prep && conf && build && install && strip && pkg && spkg && finish ;
|
||||
STATUS=$?
|
||||
) ;;
|
||||
*) echo "Error: bad arguments" ; exit 1 ;;
|
||||
esac
|
||||
exit ${STATUS}
|
Loading…
Reference in New Issue