#!/usr/bin/python # Copyright (C) 2008-2013 Lars Wirzenius # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from distutils.core import setup from distutils.cmd import Command from distutils.command.build import build from distutils.command.clean import clean import glob import os import shutil import cliapp class GenerateManpage(build): def run(self): build.run(self) print 'building manpage' with open('cachedir.1', 'w') as f: cliapp.runcmd( ['./cachedir', '--generate-manpage=cachedir.1.in'], stdout=f) class CleanMore(clean): def run(self): clean.run(self) dirty = ['cachedir.1'] for x in dirty: if os.path.exists(x): os.remove(x) if os.path.isdir('build'): shutil.rmtree('build') class Check(Command): user_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): cliapp.runcmd(['cmdtest', 'tests']) setup(name='cachedir', version='1.2', description='Tag/untag cache directories', author='Lars Wirzenius', author_email='liw@liw.fi', url='http://liw.fi/cachedir/', scripts=['cachedir'], data_files=[('share/man/man1', glob.glob('*.1'))], cmdclass={ 'build': GenerateManpage, 'check': Check, 'clean': CleanMore, }, )