Skip to content

Commit

Permalink
fix python packaging using latest methods
Browse files Browse the repository at this point in the history
- Change python packaging method following instructions from
  https://packaging.python.org/en/latest/tutorials/packaging-projects
- Remove scripts as they can be created automatically from setup.cfg
- move the sources to src
- setup.py: remove captialization in package names, conflicts with other
  packaging methods like debian's
- modify licence to gpl3+
- Add setup.cfg and pyproject.toml
- modify MANIFEST.in to include assets
- WoeUSB-ng.desktop: add version and change icon; fixes #11
  • Loading branch information
hsbasu committed Feb 21, 2023
1 parent 18e8918 commit f9d54c9
Show file tree
Hide file tree
Showing 31 changed files with 58 additions and 71 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
\.idea/
doc/_build
venv/
WoeUSB_ng\.egg-info/
*.egg-info*
dist/

build/
Expand Down
5 changes: 2 additions & 3 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
graft WoeUSB/data
graft WoeUSB/locale
graft src/WoeUSB/data*
graft src/WoeUSB/locale*
graft miscellaneous
include README.md
include WoeUSB/woeusbgui
7 changes: 5 additions & 2 deletions miscellaneous/WoeUSB-ng.desktop
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=WoeUSB-ng
Comment=Create your own usb stick windows installer from an iso image or a real DVD.
Exec=woeusbgui
Icon=/usr/share/icons/WoeUSB-ng/icon.ico
Icon=woeusb-logo
Terminal=false
Type=Application
Categories=Utility;
Encoding=UTF-8
Categories=Application;Utility;
StartupNotify=true
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools>=42"]
build-backend = "setuptools.build_meta"
42 changes: 42 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
[metadata]
name = woeusb-ng
version = 0.2.12
author = Jakub Szymański
author_email = [email protected]
description = WoeUSB-ng is a simple tool that enable you to create your own usb stick windows installer from an iso image or a real DVD. This is a rewrite of original WoeUSB.
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/WoeUSB/WoeUSB-ng
project_urls =
Bug Tracker = https://github.com/WoeUSB/WoeUSB-ng/issues
classifiers =
Development Status :: 5 - Production/Stable
Environment :: X11 Applications :: GTK
Intended Audience :: End Users/Desktop
License :: OSI Approved
:: GNU General Public License v3 or later (GPLv3+)
Operating System :: POSIX
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3 :: Only
Topic :: System :: Operating System

[options]
package_dir =
= src
packages = find:
python_requires = >=3.6
include_package_data = True

[options.packages.find]
where = src

[options.entry_points]
gui_scripts =
woeusbgui = WoeUSB.gui:run
console_scripts =
woeusb = WoeUSB.core:run
70 changes: 5 additions & 65 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,73 +1,13 @@
import os
import shutil
import stat

from setuptools import setup
from setuptools.command.develop import develop
from setuptools.command.install import install

this_directory = os.path.abspath(os.path.dirname(__file__))

with open(os.path.join(this_directory, 'README.md'), encoding='utf-8') as f:
long_description = f.read()


def post_install():
path = '/usr/local/bin/woeusbgui' # I give up, I have no clue how to get bin path that is used by pip
shutil.copy2(this_directory + '/WoeUSB/woeusbgui', path) # I'll just hard code it until someone finds better way

shutil.copy2(this_directory + '/miscellaneous/com.github.woeusb.woeusb-ng.policy', "/usr/share/polkit-1/actions")

try:
os.makedirs('/usr/share/icons/WoeUSB-ng')
except FileExistsError:
pass

shutil.copy2(this_directory + '/WoeUSB/data/icon.ico', '/usr/share/icons/WoeUSB-ng/icon.ico')
shutil.copy2(this_directory + '/miscellaneous/WoeUSB-ng.desktop', "/usr/share/applications/WoeUSB-ng.desktop")

os.chmod('/usr/share/applications/WoeUSB-ng.desktop',
stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH | stat.S_IEXEC) # 755


class PostDevelopCommand(develop):
"""Post-installation for development mode."""

def run(self):
# TODO
develop.run(self)


class PostInstallCommand(install):
"""Post-installation for installation mode."""

def run(self):
post_install()
install.run(self)


setup(
name='WoeUSB-ng',
version='0.2.12',
description='WoeUSB-ng is a simple tool that enable you to create your own usb stick windows installer from an iso image or a real DVD. This is a rewrite of original WoeUSB. ',
long_description=long_description,
long_description_content_type='text/markdown',
url='https://github.com/WoeUSB/WoeUSB-ng',
author='Jakub Szymański',
author_email='[email protected]',
license='GPL-3',
zip_safe=False,
packages=['WoeUSB'],
include_package_data=True,
scripts=[
'WoeUSB/woeusb',
data_files=[
("share/applications", ["miscellaneous/WoeUSB-ng.desktop"]),
("share/polkit-1/actions", ["miscellaneous/com.github.woeusb.woeusb-ng.policy"]),
("share/icons/hicolor/scalable/apps", ["src/WoeUSB/data/woeusb-logo.png"]),
],
install_requires=[
'termcolor',
'wxPython',
],
cmdclass={
'develop': PostDevelopCommand,
'install': PostInstallCommand
}
]
)
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit f9d54c9

Please sign in to comment.