#!/bin/sh -x # variables BRANCH=master VERSION=${VERSION:-${BRANCH}_$(date +"%Y.%m.%d_%H.%M")} ARCH=${ARCH:-$(uname -m)} BUILD=${BUILD:-1} PACKAGER=cyco TMP=/tmp/$PACKAGER OUTPUT=/tmp CWD=$(pwd) APP_NAME=$(basename $CWD) PKG=$TMP/$PACKAGER/pkg-$APP_NAME REPOSITORY=/home/cycojesus/projets/packages/repositories/$APP_NAME PREFIX=/usr EMACS=$(basename $(ls /usr/bin/emacs-2*)) EMACS_VERSION=$(echo "$EMACS" | grep -o "[0-9\.]*") # nettoyage préalable rm -fr $PKG $TMP/$APP_NAME-$VERSION mkdir -p $PKG # mise en place cd $TMP if [ ! -e $REPOSITORY ] ; then mkdir -p $(dirname $REPOSITORY) cd $(dirname $REPOSITORY) git clone git://repo.or.cz/org-mode.git fi ( cd $REPOSITORY git pull ) cp -R $REPOSITORY $TMP/$APP_NAME-$VERSION ( cd $TMP/$APP_NAME-$VERSION sed -i "s|EMACS=emacs|EMACS=$EMACS|" Makefile sed -i "s|prefix=/usr/local|prefix=$PREFIX|" Makefile sed -i 's|infodir = $(prefix)/share/info|infodir = $(prefix)/info|' Makefile make # installation sed -i "s|prefix=$PREFIX|prefix=$PKG$PREFIX|" Makefile # May we have your ATTENTION please: # next line Emacs' bundled org-mode TO BE REPLACED !! #sed -i "s|lispdir = \$(prefix)/share/emacs/site-lisp|lispdir = \$(prefix)/share/emacs/$EMACS_VERSION/lisp/org|" Makefile # you can now resume your normal existence, cảm ơn lắm. make install make install-info rm $PKG$PREFIX/info/dir # # install contrib # cp -R contrib/lisp $PKG$PREFIX/share/emacs/site-lisp/org-mode-contrib # # install org-babel # cp -R contrib/babel/lisp $PKG$PREFIX/share/emacs/site-lisp/org-mode-contrib/babel # ( cd $PKG$PREFIX/share/emacs/site-lisp/org-mode-contrib # emacs -batch -f batch-byte-compile-file *.el # ) # ( cd $PKG$PREFIX/share/emacs/site-lisp/org-mode-contrib/babel # emacs -batch -f batch-byte-compile-file *.el # ) mkdir -p $PKG$PREFIX/doc/$APP_NAME cp -R contrib $PKG$PREFIX/doc/$APP_NAME ) # correction ( cd $PKG chown -R root:root * [ -d $PKG/usr/man ] && find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; [ -d $PKG/usr/info ] && find $PKG/usr/info -type f -name "*" -exec gzip -9f {} \; # [ -d $PKG$PREFIX/share/emacs/$EMACS_VERSION/lisp/org ] && \ # find $PKG$PREFIX/share/emacs/$EMACS_VERSION/lisp/org -type f -name "*.el" -exec gzip -9f {} \; # [ -d $PKG$PREFIX/share/emacs/site-lisp ] && \ # find $PKG$PREFIX/share/emacs/site-lisp -type f -name "*.el" -exec gzip -9f {} \; # gunzip $PKG/usr/info/dir.gz ) # embaumement mkdir -p $PKG/install cat < $PKG/install/doinst.sh cd /usr/info for file in \$(ls *.gz | grep -v ".*\-[0-9]\+\.gz") do install-info \$file ./dir done EOF cat < $PKG/install/slack-desc # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| $APP_NAME: $APP_NAME (an Emacs Mode for Notes, Project Planning, and Authoring) $APP_NAME: $APP_NAME: Org-mode is for keeping notes, maintaining ToDo lists, doing project $APP_NAME: planning, and authoring with a fast and effective plain-text system. $APP_NAME: $APP_NAME: $APP_NAME: $APP_NAME: $APP_NAME: $APP_NAME: $APP_NAME: http://orgmode.org/ EOF # empaquetage cd $PKG makepkg -l y -c n $OUTPUT/$APP_NAME-$VERSION-$ARCH-$BUILD$PACKAGER.txz