mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 14:30:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env python3
 | 
						|
 | 
						|
from setuptools import Command
 | 
						|
from setuptools import setup
 | 
						|
import os
 | 
						|
import re
 | 
						|
import subprocess
 | 
						|
import sys
 | 
						|
 | 
						|
 | 
						|
class VersionCheckCommand(Command):
 | 
						|
    """Make sure git tag and version match before uploading"""
 | 
						|
    user_options = []
 | 
						|
 | 
						|
    def initialize_options(self):
 | 
						|
        """Abstract method that is required to be overwritten"""
 | 
						|
 | 
						|
    def finalize_options(self):
 | 
						|
        """Abstract method that is required to be overwritten"""
 | 
						|
 | 
						|
    def run(self):
 | 
						|
        version = self.distribution.get_version()
 | 
						|
        version_git = subprocess.check_output(['git', 'describe', '--tags', '--always']).rstrip().decode('utf-8')
 | 
						|
        if version != version_git:
 | 
						|
            print('ERROR: Release version mismatch! setup.py (%s) does not match git (%s)'
 | 
						|
                  % (version, version_git))
 | 
						|
            sys.exit(1)
 | 
						|
        print('Upload using: twine upload --sign dist/fdroidserver-%s.tar.gz' % version)
 | 
						|
 | 
						|
 | 
						|
def get_data_files():
 | 
						|
    # workaround issue on OSX or --user installs, where sys.prefix is not an installable location
 | 
						|
    if os.access(sys.prefix, os.W_OK | os.X_OK):
 | 
						|
        data_prefix = sys.prefix
 | 
						|
    else:
 | 
						|
        data_prefix = '.'
 | 
						|
 | 
						|
    data_files = []
 | 
						|
    with open('MANIFEST.in') as fp:
 | 
						|
        data = fp.read()
 | 
						|
 | 
						|
    data_files.append((data_prefix + '/share/doc/fdroidserver/examples',
 | 
						|
                       ['buildserver/config.buildserver.yml', ]
 | 
						|
                       + re.findall(r'include (examples/.*)', data)))
 | 
						|
 | 
						|
    for f in re.findall(r'include (locale/[a-z][a-z][a-zA-Z_]*/LC_MESSAGES/fdroidserver.mo)', data):
 | 
						|
        d = os.path.join(data_prefix, 'share', os.path.dirname(f))
 | 
						|
        data_files.append((d, [f, ]))
 | 
						|
    return data_files
 | 
						|
 | 
						|
 | 
						|
with open("README.md", "r") as fh:
 | 
						|
    long_description = fh.read()
 | 
						|
 | 
						|
setup(name='fdroidserver',
 | 
						|
      version='2.0a5',
 | 
						|
      description='F-Droid Server Tools',
 | 
						|
      long_description=long_description,
 | 
						|
      long_description_content_type='text/markdown',
 | 
						|
      author='The F-Droid Project',
 | 
						|
      author_email='team@f-droid.org',
 | 
						|
      url='https://f-droid.org',
 | 
						|
      license='AGPL-3.0',
 | 
						|
      packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'],
 | 
						|
      scripts=['fdroid', 'makebuildserver'],
 | 
						|
      data_files=get_data_files(),
 | 
						|
      python_requires='>=3.4',
 | 
						|
      cmdclass={'versioncheck': VersionCheckCommand},
 | 
						|
      setup_requires=[
 | 
						|
          'babel',
 | 
						|
      ],
 | 
						|
      install_requires=[
 | 
						|
          'androguard >= 3.1.0rc2, != 3.3.0, != 3.3.1, != 3.3.2',
 | 
						|
          'clint',
 | 
						|
          'defusedxml',
 | 
						|
          'GitPython',
 | 
						|
          'mwclient',
 | 
						|
          'paramiko',
 | 
						|
          'Pillow',
 | 
						|
          'apache-libcloud >= 0.14.1',
 | 
						|
          'pyasn1 >=0.4.1, < 0.5.0',
 | 
						|
          'pyasn1-modules >= 0.2.1, < 0.3',
 | 
						|
          'python-vagrant',
 | 
						|
          'PyYAML',
 | 
						|
          'qrcode',
 | 
						|
          'ruamel.yaml >= 0.15',
 | 
						|
          'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0',
 | 
						|
          'yamllint',
 | 
						|
      ],
 | 
						|
      extras_require={
 | 
						|
          'test': ['pyjks'],
 | 
						|
      },
 | 
						|
      classifiers=[
 | 
						|
          'Development Status :: 4 - Beta',
 | 
						|
          'Intended Audience :: Developers',
 | 
						|
          'Intended Audience :: Information Technology',
 | 
						|
          'Intended Audience :: System Administrators',
 | 
						|
          'Intended Audience :: Telecommunications Industry',
 | 
						|
          'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
 | 
						|
          'Operating System :: POSIX',
 | 
						|
          'Operating System :: MacOS :: MacOS X',
 | 
						|
          'Operating System :: Unix',
 | 
						|
          'Topic :: Utilities',
 | 
						|
      ],
 | 
						|
      )
 |