diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2010-05-11 19:34:58 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2010-05-11 19:34:58 +0200 |
commit | 264fef834ab10fc672eb72bbf7da822e2a93a578 (patch) | |
tree | a7bcce1a09755e7dde3afe825baa15d849959ec0 | |
parent | abc4db5913bebc4d16b22d8856dba16c695a1477 (diff) | |
parent | 8c016e8ace989e3e1d0dadd7e54e61849341168f (diff) | |
download | portato-264fef834ab10fc672eb72bbf7da822e2a93a578.tar.gz portato-264fef834ab10fc672eb72bbf7da822e2a93a578.tar.bz2 portato-264fef834ab10fc672eb72bbf7da822e2a93a578.zip |
Pre-release merge
Merge branch '0.14'
* 0.14:
Fix release script pathes
Add '--plugin-dir' option
Add a README message to the release
Add a release file
Improve setup.py for release script
Improve constants.py for release script
-rw-r--r-- | portato/__init__.py | 10 | ||||
-rw-r--r-- | portato/constants.py | 17 | ||||
-rwxr-xr-x | release.sh | 58 | ||||
-rw-r--r-- | setup.py | 11 |
4 files changed, 86 insertions, 10 deletions
diff --git a/portato/__init__.py b/portato/__init__.py index ed5c94b..b4ea214 100644 --- a/portato/__init__.py +++ b/portato/__init__.py @@ -17,7 +17,7 @@ import sys, os from optparse import OptionParser, SUPPRESS_HELP from .log import start as logstart -from .constants import LOCALE_DIR, APP, VERSION, REVISION +from .constants import LOCALE_DIR, APP, VERSION, REVISION, PLUGIN_DIR from .helper import debug, info, error # set better version info @@ -53,6 +53,9 @@ def get_parser (use_ = False): parser.add_option("-F", "--no-fork", action = "store_true", dest = "nofork", default = False, help = _("do not fork off as root")) + parser.add_option("--plugin-dir", action = "store_true", dest = "pdir", default = False, + help = _("print the directory the plugins are located in")) + return parser def _sub_start (): @@ -71,6 +74,11 @@ def start(): # run parser (options, args) = get_parser().parse_args() + # plugin dir + if options.pdir: + print PLUGIN_DIR + return + if options.nofork or os.getuid() == 0: # start GUI # close listener at exit diff --git a/portato/constants.py b/portato/constants.py index 059017e..5faefe1 100644 --- a/portato/constants.py +++ b/portato/constants.py @@ -26,13 +26,16 @@ These should be set during the installation. @var CONFIG_LOCATION: L{CONFIG_DIR} plus name of the config file. @type CONFIG_LOCATION: string +@var ROOT_DIR: Overall root -- normally just '/'. +@type ROOT_DIR: string +@var DATA_DIR: Directory which contains all shared files. +@type DATA_DIR: string + @var ICON_DIR: directory containing the icons @type ICON_DIR: string @var APP_ICON: the path of the application icon @type APP_ICON: string -@var DATA_DIR: Directory which contains all shared files. -@type DATA_DIR: string @var LOCALE_DIR: the path to the directory where the locale files (*.mo) are stored. @type LOCALE_DIR: string @var PLUGIN_DIR: Directory containing the plugin xmls. @@ -54,8 +57,11 @@ from os.path import join as pjoin if os.getuid() == 0: os.environ["HOME"] = "/root" +ROOT_DIR = "" +DATA_DIR = "./" + # icons -ICON_DIR = "icons/" +ICON_DIR = pjoin(ROOT_DIR, DATA_DIR, "icons/") APP_ICON = pjoin(ICON_DIR, "portato-icon.png") # general @@ -64,14 +70,13 @@ VERSION = "9999" HOME = os.environ["HOME"] # config -CONFIG_DIR = "etc/" +CONFIG_DIR = pjoin(ROOT_DIR, "etc/") CONFIG_LOCATION = pjoin(CONFIG_DIR, "portato.cfg") SESSION_DIR = pjoin(os.environ["HOME"], ".portato") # misc dirs -DATA_DIR = "./" LOCALE_DIR = "i18n/" -PLUGIN_DIR = pjoin(DATA_DIR, "plugins/") +PLUGIN_DIR = pjoin(ROOT_DIR, DATA_DIR, "plugins/") SETTINGS_DIR = pjoin(HOME, "."+APP) TEMPLATE_DIR = "portato/gui/templates/" diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..9a3936f --- /dev/null +++ b/release.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +fail () +{ + echo ERROR: $1 + exit $2 +} + +replace_by () +{ + echo ">>> ** Replace $1 by $2" + + sed -i -e "s#^\($1\s*=\s*\).*#\1$2#" portato/constants.py \ + || fail "Failure replacing $1" 1 +} + +ver=$(git describe --tags | sed -e "s/^v//") +name=portato-$ver + +echo ">>> Cloning..." +git clone . $name || fail "Cloning" 1 + +pushd $name > /dev/null + +echo ">>> Compiling Cython sources" +find -name '*.pyx' | xargs cython || fail "Cython" 1 + +echo ">>> Patching constants.py" +replace_by VERSION "'$ver'" +replace_by ROOT_DIR "'/'" +replace_by LOCALE_DIR "pjoin(ROOT_DIR, '/usr/share/locale')" +replace_by TEMPLATE_DIR "pjoin(ROOT_DIR, DATA_DIR, 'templates')" +replace_by DATA_DIR "'/usr/share/portato/'" + +echo ">>> Patching setup.py." +sed -i -e "s/^.*#!REMOVE\$//" setup.py || fail "Failure removing lines" 1 +sed -i -e "s/^\(\s*\)#!INSERT \(.*\)/\1\2/" setup.py || fail "Failure inserting lines" 1 + +echo ">>> Creating README" +cat << EOF > README +This package is intended solely for being used system-wide (normally installed via Portage). + +If you want to have a packed version (for whatever reason), please use one of the following sources: + +* Packed snapshot: http://git.necoro.eu/portato.git/snapshot/portato-v${ver}.tar.gz +* Git Tree: git clone git://necoro.eu/portato.git --> cd portato --> git checkout -b v${ver} v${ver} + +In both cases you should read: http://necoro.eu/portato/development + +EOF + +popd > /dev/null + +echo ">>> Packing" +tar -zcvf ${name}.tar.gz $name --exclude ".git*" || fail "Packing" 1 + +echo ">>> Removing temp dir" +rm -rf $name || fail "Removing" 1 @@ -42,17 +42,22 @@ data_files = [ cmdclass = {'build_manpage': build_manpage} # remove useless options / they are the default -for o in ("cython", "eix"): +for o in ( + "eix", + "cython", #!REMOVE + ): try: sys.argv.remove("--enable-"+o) except ValueError: pass # extension stuff -if "--disable-cython" in sys.argv: - sys.argv.remove("--disable-cython") +#!INSERT if not "--enable-cython" in sys.argv: +if "--disable-cython" in sys.argv: #!REMOVE + sys.argv.remove("--disable-cython") #!REMOVE ext = "c" else: + #!INSERT sys.argv.remove("--enable-cython") from Cython.Distutils import build_ext cmdclass['build_ext'] = build_ext ext = "pyx" |