# generated by other debhelper scripts.
[ -x /sbin/udevadm ] && /sbin/udevadm control --reload-rules
-chmod 666 /etc/litmus/topology
-chmod 666 /etc/litmus/projects
-groupadd -f litmus
-usermod -aG litmus ${SUDO_USER}
#DEBHELPER#
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+import os
__version__ = '0.2.1'
-_duts_ = '/etc/litmus/topology'
-_projects_ = '/etc/litmus/projects'
+_homedir_ = os.path.expanduser('~')
+_confdir_ = os.path.join(_homedir_, '.litmus')
+_duts_ = os.path.join(_confdir_, 'topology')
+_projects_ = os.path.join(_confdir_, 'projects')
_tmpdir_ = '/tmp'
_path_for_locks_ = '/var/lock/litmus/'
_dev_types_ = ('u3', 'xu3', 'empty')
project_path = os.path.abspath(args.project_path)
sys.path.append(project_path)
- call(['chgrp', '-R', 'litmus', project_path])
call(['chmod', '-R', '775', project_path])
import userscript
description = args.description
os.mkdir(path)
copy(orig['path'], path)
- call(['chgrp', '-R', 'litmus', path])
call(['chmod', '-R', '775', path])
with open(_projects_, 'a') as f:
raise Exception('There\'s no litmus project scripts at {0}'
.format(prj_path))
- call(['chgrp', '-R', 'litmus', prj_path])
call(['chmod', '-R', '775', prj_path])
with open(_projects_, 'a') as f:
src = os.path.join(os.path.join(litmus.__path__[0], 'templates'),
dev_type)
copy(src, path)
- call(['chgrp', '-R', 'litmus', path])
call(['chmod', '-R', '775', path])
with open(_projects_, 'a') as f:
gotten_tlock = dev['tlock'].acquire(blocking=False)
gotten_ilock = dev['ilock'].acquire(blocking=False)
try:
- shutil.chown(dev['ilock'].path, group='litmus')
os.chmod(dev['ilock'].path, 0o664)
except PermissionError:
- logging.debug('Can\'t change owner and permission')
+ logging.debug('Can\'t change lock file permission')
# if acquire tlock and ilock, assign a device.
if gotten_tlock and gotten_ilock:
import os
import time
import serial
-import shutil
import logging
import fasteners
from threading import Thread, Lock
self._global_ilock.acquire()
# set gid of ilock file
try:
- shutil.chown(self._global_ilock.path, group='litmus')
os.chmod(self._global_ilock.path, 0o664)
except PermissionError:
- pass
+ logging.debug('Can\'t change lock file permission')
+
if self._global_tlock.locked() and self._global_ilock.acquired:
logging.debug('global lock acquired for {}'
.format(self.get_id()))
from setuptools import setup, find_packages
PROJECT_NAME = 'litmus'
-ETC_PATH = os.path.join('/etc', PROJECT_NAME)
version = re.search("__version__.*'(.+)'",
open(os.path.join(PROJECT_NAME, '__init__.py'))
url="http://www.tizen.org",
package_dir={PROJECT_NAME: 'litmus'},
packages=find_packages(exclude=['litmus.templates']),
- data_files=[(ETC_PATH, ['tools/projects', 'tools/topology'])],
include_package_data=True,
license="Apache",
platforms='any',
import os
import sys
import signal
-import shutil
import functools
import logging
import traceback
from argparse import ArgumentParser, RawTextHelpFormatter
-from litmus import __version__, _path_for_locks_
+from litmus import __version__, _path_for_locks_, _duts_, _projects_, _confdir_
from litmus.core.util import init_logger
"""docstring for init_lockdir"""
if not os.path.exists(_path_for_locks_):
os.mkdir(_path_for_locks_)
- try:
- shutil.chown(_path_for_locks_, group='litmus')
- os.chmod(_path_for_locks_, 0o775)
- except PermissionError:
- pass
+ try:
+ os.chmod(_path_for_locks_, 0o775)
+ except PermissionError:
+ logging.debug('Can\'t change lock directory permission')
+
+
+def init_confdir():
+ """docstring for init_confdir"""
+ if not os.path.exists(_confdir_):
+ os.mkdir(_confdir_)
+ try:
+ os.chmod(_confdir_, 0o775)
+ except PermissionError:
+ logging.debug('Can\'t change config directory permission')
+
+ if not os.path.exists(_duts_):
+ open(_duts_, 'a').close()
+ try:
+ os.chmod(_duts_, 0o664)
+ except PermissionError:
+ logging.debug('Can\'t change topology file permission')
+
+ if not os.path.exists(_projects_):
+ open(_projects_, 'a').close()
+ try:
+ os.chmod(_duts_, 0o664)
+ except PermissionError:
+ logging.debug('Can\'t change projects file permission')
def main(argv=None):
try:
init_logger()
init_lockdir()
+ init_confdir()
signal.signal(signal.SIGTERM, sigterm_handler)
sys.exit(main(sys.argv))
except KeyboardInterrupt: