You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
multibootusb/setup.py

88 lines
4.2 KiB
Python

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Name: setup.py
# Purpose: Module to create packages or install multibootusb package from source
# Authors: Sundar
# Licence: This file is a part of multibootusb package. You can redistribute it or modify
# under the terms of GNU General Public License, v.2 or above
from distutils.core import setup
#from setuptools import setup, find_packages
import os
from scripts.gen import mbusb_version
import shutil
Version = mbusb_version()
def get_data(_dir):
"""
Get path to all files, including sub directories
:param _dir: Path to top level directory
:return: Path to files as list
"""
data = []
for dirpath, dirnames, filenames in os.walk(_dir):
for f in filenames:
cfg_file = os.path.join(dirpath, f)
data.append(cfg_file)
return data
def root_files(_dir):
"""
Get path to all files of root directories
:param _dir: Path to a directory
:return: Path to files as list
"""
data = []
for _file in os.listdir(_dir):
path = os.path.join(_dir, _file)
if not os.path.isdir(path):
data.append(path)
return data
setup(
name='multibootusb',
version=Version,
packages=['scripts', 'scripts.pyudev', 'scripts.pyudev.device', 'scripts.pyudev._ctypeslib', 'scripts.pyudev._os',
'scripts.gui', 'scripts.progressbar'],
# packages=find_packages(),
include_package_data=True,
scripts=['multibootusb', 'multibootusb-pkexec'],
platforms=['Linux'],
url='http://multibootusb.org/',
license='General Public License (GPL)',
author='Sundar',
author_email='feedback.multibootusb@gmail.com',
description='Create multi boot live Linux on a USB disk...',
long_description='multibootusb is an advanced cross-platform application for installing/uninstalling Linux operating \
systems on to a single USB flash drives.',
data_files=[("/usr/share/applications", ["data/multibootusb.desktop"]),
('/usr/share/pixmaps', ["data/tools/multibootusb.png"]),
('/usr/share/polkit-1/actions/', ['org.debian.pkexec.run-multibootusb.policy']),
('/usr/share/multibootusb/data/tools', ["data/tools/mbr.bin"]),
('/usr/share/multibootusb/data/tools', ["data/tools/gptmbr.bin"]),
('/usr/share/multibootusb/data', ["data/version.txt"]),
('/usr/share/multibootusb/data/tools', ["data/tools/multibootusb.png"]),
('/usr/share/multibootusb/data/tools/dd', ["data/tools/dd/dd.exe"]),
('/usr/share/multibootusb/data/tools/dd', ["data/tools/dd/diskio.dll"]),
('/usr/share/multibootusb/data/tools/mkfs', ["data/tools/mkfs/mke2fs.exe"]),
('/usr/share/multibootusb/data/EFI/BOOT', get_data('data/EFI')),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/chain.c32"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/bg.png"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/extlinux.cfg"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/grub.exe"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/memdisk"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/menu.c32"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/menu.lst"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/syslinux.cfg"]),
('/usr/share/multibootusb/data/multibootusb', ["data/multibootusb/vesamenu.c32"]),
('/usr/share/multibootusb/data/multibootusb/grub', root_files('data/multibootusb/grub')),
('/usr/share/multibootusb/data/multibootusb/grub/i386-pc', get_data('data/multibootusb/grub/i386-pc')),
('/usr/share/multibootusb/data/multibootusb/grub/x86_64-efi', get_data('data/multibootusb/grub/x86_64-efi')),
('/usr/share/multibootusb/data/tools/syslinux', get_data('data/tools/syslinux'))]
)