=== modified file 'MANIFEST.in' --- MANIFEST.in 2008-12-31 10:47:32 +0000 +++ MANIFEST.in 2009-03-09 01:49:25 +0000 @@ -7,10 +7,12 @@ include bin/server.cert include bin/server.pkey include bin/gpl.txt +include bin/openerp-configuredb include man/openerp-server.1 include man/openerp_serverrc.5 recursive-include pixmaps recursive-include doc * +recursive-include etc * recursive-include bin *xml *xsl *sql *rml *sxw *csv *rng graft bin/addons/ global-exclude *pyc *~ === modified file 'rpminstall_sh.txt' --- rpminstall_sh.txt 2009-01-30 15:19:03 +0000 +++ rpminstall_sh.txt 2009-03-09 06:03:45 +0000 @@ -13,3 +13,19 @@ SUFFIX=gz sed "s!\(/share/man/.*\)!\1.$SUFFIX!" -i INSTALLED_FILES +sed "s!^\(/etc/openerp-server.conf\)!%attr(-,root,root) %config(noreplace) \1!" -i INSTALLED_FILES +sed "s!^\(/etc/logrotate.d/openerp-server\)!%attr(-,root,root) %config(noreplace) \1!" -i INSTALLED_FILES +sed "s!^\(/etc/init.d/openerp-server\)!%attr(755,root,root) %config(noreplace) \1!" -i INSTALLED_FILES + +%post +echo "Checking 'openerp' user and group ..." +id openerp 2>/dev/null || ((groupadd -r openerp && useradd -r -g openerp openerp -c "OpenERP Server" -d /var/spool/openerp -s /sbin/nologin) && id openerp) + +[ ! -e /var/log/openerp ] && mkdir -p /var/log/openerp +[ ! -e /var/spool/openerp ] && mkdir -p /var/spool/openerp +chown openerp:openerp /var/log/openerp /var/spool/openerp + +openerp-configuredb +echo "If 'openerp-configuredb' did not create 'openerp' user and database, rerun 'openerp-configuredb' after RPM installation." +echo +/etc/init.d/openerp-server status === modified file 'setup.py' --- setup.py 2009-02-12 23:39:46 +0000 +++ setup.py 2009-03-10 15:51:56 +0000 @@ -42,6 +42,51 @@ opj = os.path.join +class setrelease(Command): + # tagged revision: 'official' release, so we DON'T want revno in the VERSION-RELEASE (eg: 5.0.0-3) + # non-tagged revision: 'unofficial' release, so we DO want revno in the VERSION-RELEASE (eg: 5.0.0-3_00004567) + # note: be sure to 'bzr pull' before running 'setrelease' so that all tags can be found + # note: setrelease should always be run before running 'sdist' + + user_options = [('install-dir=', 'd', "directory to install the files to")] + + def initialize_options (self): + self.install_dir = None + self.outfiles = [] + + def finalize_options (self): + self.install_dir = None + self.outfiles = [] + + def run(self): + import commands + (status, revno) = commands.getstatusoutput('bzr revno') + if status == 0: # if we are in a 'bzr' tree, then use revno, otherwise just leave existing 'release' strings as is + print 'setrelease: bzr revno = %s' % revno + execfile(opj('bin', 'release.py')) # we need the current 'release' string + (status, tags) = commands.getstatusoutput('bzr tags --sort=time | grep "^'+str(version)+'"') + taglist = tags.splitlines() + taggedrevno = False + for tagline in taglist: + (tag, tagrevno) = tagline.split() + if revno == tagrevno: + taggedrevno = True + if taggedrevno == False: + # this is a non-tagged revision, so add/replace revno in 'release' string in bin/release.py and setup.cfg + newrelease = str(release).split('_')[0] + "_" + "%(#)08d"%{'#':int(revno)} + print 'setrelease: non-tagged revision found; setting release strings to "%s" in bin/release.py and setup.cfg.' % newrelease + filename = opj('bin', 'release.py') + sedcmd = "sed -i -e \"s/^ *release =.*/release = '" + newrelease + "'/\" " + str(filename) + (status, output) = commands.getstatusoutput( sedcmd ) + filename = 'setup.cfg' + sedcmd2 = "sed -i -e \"/^\[bdist_rpm\]/,/^\[/ s/^release=.*/release=" + newrelease + "/\" " + str(filename) + (status, output) = commands.getstatusoutput( sedcmd2 ) + else: + print 'setrelease: tagged revision found; leaving release strings as "%s" in bin/release.py and setup.cfg.' % release + + else: + print 'setrelease: not in a bzr tree, leaving release strings as "%s" in bin/release.py and setup.cfg.' % release + execfile(opj('bin', 'release.py')) if sys.argv[1] != 'bdist_rpm': @@ -101,6 +146,18 @@ files.append((opj(doc_directory, 'migrate', '3.3.0-3.4.0'), [f for f in glob.glob('doc/migrate/3.3.0-3.4.0/*') if os.path.isfile(f)])) files.append((opj(doc_directory, 'migrate', '3.4.0-4.0.0'), [f for f in glob.glob('doc/migrate/3.4.0-4.0.0/*') if os.path.isfile(f)])) + config_directory = opj('/etc') + files.append((config_directory, [f for f in glob.glob('etc/*') if os.path.isfile(f)])) + + config_directory = opj('/etc', 'logrotate.d') + files.append((config_directory, [f for f in glob.glob('etc/logrotate.d/*') if os.path.isfile(f)])) + + config_directory = opj('/etc', 'init.d') + files.append((config_directory, [f for f in glob.glob('etc/init.d/*') if os.path.isfile(f)])) + + bin_directory = opj('bin') + files.append((bin_directory, ['bin/openerp-configuredb'])) + openerp_site_packages = opj('lib', 'python%s' % py_short_version, 'site-packages', 'openerp-server') files.append((openerp_site_packages, [opj('bin', 'import_xml.rng'), @@ -131,7 +188,10 @@ class openerp_server_install(install): def run(self): # create startup script - start_script = "#!/bin/sh\ncd %s\nexec %s ./openerp-server.py $@\n" % (opj(self.install_libbase, "openerp-server"), sys.executable) + # start_script = "#!/bin/sh\ncd %s\nexec %s ./openerp-server.py $@\n" % (opj(self.install_libbase, "openerp-server"), sys.executable) + opj = os.path.join + openerp_site_packages = opj('/usr', 'lib', 'python%s' % py_short_version, 'site-packages', 'openerp-server') + start_script = "#!/bin/sh\ncd %s\nexec %s ./openerp-server.py $@\n" % (openerp_site_packages, sys.executable) # write script f = open('openerp-server', 'w') f.write(start_script) @@ -163,6 +223,7 @@ data_files = data_files(), cmdclass = { 'install' : openerp_server_install, + 'setrelease' : setrelease, }, scripts = ['openerp-server'], packages = ['openerp-server',