1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#! /usr/bin/env python
from setuptools import setup, find_packages
import os
def get_version():
filename = os.path.join('fussy', 'version.py')
if not os.path.exists(filename):
return '1.0.0'
for line in open(filename):
if line.startswith('__version__'):
return line.split('=')[1].strip().strip('"').strip("'")
raise RuntimeError("Unable to determine version")
if __name__ == "__main__":
setup(
name='fussy',
version=get_version(),
description='Field-Upgradable Software Support',
long_description='''Fussy Software Packager
Fussy provides a collection of tools to create field-upgraded
software installations. The installation uses a "pivot" root
on your regular file system into which the current release of
your software is installed, and which can exist alongside a
number of other versions of the software.
It assumes a Linux-like operating system and requires certain
linux services and utilities for many of its functions.
Notable functionality:
* GPG signed/verified firmware packing and unpacking
* inotify support
* non-blocking process IO (nbio)
* transactional write operation
* process control operations (e.g. kill-kill-kill)
* simple structured log server
* cron locks
''',
classifiers=[
"Programming Language :: Python",
"Operating System :: POSIX :: Linux",
"License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)",
],
license="LGPL",
author='Mike C. Fletcher',
author_email='mcfletch@vrplumber.com',
url='http://www.vrplumber.com',
keywords='firmware,field,upgrade,embedding',
packages=find_packages(),
include_package_data=True,
# system-level requirements
# python2.6+
# gpg
# rsync
# tar
install_requires=['setuptools'],
entry_points=dict(
console_scripts=[
'fussy-install=fussy.install:main',
'fussy-install-bytes=fussy.install:install_bytes_main',
'fussy-clean=fussy.install:clean_main',
'fussy-unpack=fussy.unpack:main',
'fussy-pack=fussy.pack:main',
'fussy-sign=fussy.pack:sign_main',
'fussy-south-rollback=fussy.southrollback:main',
'fussy-link-tree=fussy.linktree:main',
'fussy-log-server=fussy.jsonlogserver:main',
'fussy-log-server-rotate=fussy.jsonlogserver:rotate_main',
'fussy-format-log=fussy.jsonlogserver:format_log_main',
'json-format=fussy.jsonformat:main',
'fussy-file-watch=fussy.filewatch:main',
'fussy-jsx-watcher=fussy.jsxwatcher:main',
'fussy-pack-unattended=fussy.unattendedset:main',
'fussy-deb-metadata=fussy.unattendedset:metadata_main',
'fussy-sse-server=fussy.sseserver:main',
'fussy-sse-client-demo=fussy.sseclient:main',
]
),
)
|