From 51170975c79a2c3d568c51e99705aaf69477d888 Mon Sep 17 00:00:00 2001 From: R4SAS Date: Mon, 24 Jan 2022 22:39:03 +0300 Subject: [PATCH] add PyInstaller spec file, PrivateBin icon Signed-off-by: R4SAS --- .gitignore | 1 + contrib/privatebin.ico | Bin 0 -> 15086 bytes pbincli.spec | 67 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 contrib/privatebin.ico create mode 100644 pbincli.spec diff --git a/.gitignore b/.gitignore index dd86748..8486d26 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,7 @@ MANIFEST # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec +-pbincli.spec # Installer logs pip-log.txt diff --git a/contrib/privatebin.ico b/contrib/privatebin.ico new file mode 100644 index 0000000000000000000000000000000000000000..e3bc3e239dc3e16b4ae63ca55e1aaf2b40bb5158 GIT binary patch literal 15086 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 Rt?18a1L1YXFqS#Y{Xbs2mQVly literal 0 HcmV?d00001 diff --git a/pbincli.spec b/pbincli.spec new file mode 100644 index 0000000..1ba5d24 --- /dev/null +++ b/pbincli.spec @@ -0,0 +1,67 @@ +# -*- mode: python -*- + +from pkg_resources import parse_version +from PyInstaller.utils.win32.versioninfo import VSVersionInfo, FixedFileInfo, StringFileInfo, StringTable, StringStruct, VarFileInfo, VarStruct +from pbincli.__init__ import __version__ as pbincli_version, __copyright__ as pbincli_copyright + +pbincli_ver = parse_version(pbincli_version) + +block_cipher = None + +a = Analysis(['pbincli\\cli.py'], + pathex=[], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False) +pyz = PYZ(a.pure, a.zipped_data, + cipher=block_cipher) +exe = EXE(pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='pbincli-' + pbincli_version, + version=VSVersionInfo( + ffi=FixedFileInfo( + filevers=(pbincli_ver.major, pbincli_ver.minor, pbincli_ver.micro, 0), + prodvers=(pbincli_ver.major, pbincli_ver.minor, pbincli_ver.micro, 0), + mask=0x3f, + flags=0x0, + OS=0x40004, + fileType=0x1, + subtype=0x0, + date=(0, 0) + ), + kids=[ + StringFileInfo([ + StringTable( + u'040904B0', + [ + StringStruct(u'FileDescription', u'PrivateBin CLI'), + StringStruct(u'FileVersion', pbincli_version), + StringStruct(u'InternalName', u'pbincli'), + StringStruct(u'LegalCopyright', pbincli_copyright), + StringStruct(u'OriginalFilename', u'pbincli-' + pbincli_version + u'.exe'), + StringStruct(u'ProductName', u'PBinCLI'), + StringStruct(u'ProductVersion', pbincli_version) + ] + ) + ]), + VarFileInfo([VarStruct(u'Translation', [1033, 1200])]) + ] + ), + icon=['contrib\\privatebin.ico'], + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + runtime_tmpdir=None, + console=True)