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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
#!/usr/bin/python
# Copyright 2016 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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.
"""Create a Python package of the Linux guest environment."""
import glob
import os
import sys
import setuptools
def GetInitFiles(path):
"""Get the list of relative paths to init files.
Args:
path: string, the relative path to the source directory.
Returns:
list, the relative path strings for init files.
"""
valid = '%s/*' % path
invalid = '%s/*.sh' % path
return list(set(glob.glob(valid)) - set(glob.glob(invalid)))
data_files_dict = {
'systemd': [('/usr/lib/systemd/system', GetInitFiles('package/systemd'))],
'sysvinit': [('/etc/init.d', GetInitFiles('package/sysvinit'))],
'upstart': [('/etc/init', GetInitFiles('package/upstart'))],
}
if os.environ.get('CONFIG') not in data_files_dict.keys():
keys = ', '.join(data_files_dict.keys())
sys.exit('Expected "CONFIG" environment variable set to one of [%s].' % keys)
setuptools.setup(
author='Google Compute Engine Team',
author_email='gc-team@google.com',
data_files=data_files_dict.get(os.environ['CONFIG']),
description='Google Compute Engine',
include_package_data=True,
install_requires=['boto>=2.25.0'],
license='Apache Software License',
long_description='Google Compute Engine guest environment.',
name='google_compute_engine_%s' % os.environ['CONFIG'],
packages=setuptools.find_packages(),
scripts=glob.glob('scripts/*'),
url='https://github.com/GoogleCloudPlatform/compute-image-packages',
version='2.0.0',
# Entry points create scripts in /usr/bin that call a function.
entry_points={
'console_scripts': [
'google_accounts_daemon=accounts.accounts_daemon:main',
'google_clock_skew_daemon=clock_skew.clock_skew_daemon:main',
'google_ip_forwarding_daemon=ip_forwarding.ip_forwarding_daemon:main',
'google_instance_setup=instance_setup.instance_setup:main',
'google_metadata_script_runner=metadata_scripts.script_manager:main',
],
},
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: No Input/Output (Daemon)',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: Apache Software License',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Internet',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: System :: Installation/Setup',
'Topic :: System :: Systems Administration',
],
)
|