Skip to content

Commit be4c8d9

Browse files
committed
update to version 8.4.0
1 parent a149f76 commit be4c8d9

21 files changed

+383
-285
lines changed

CHANGELOG

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
Version - 8.4.0
2+
---------------
3+
* Bug fix in selection of persistence size
4+
* Fixed crashing of application when selecting extended drive
5+
* Introduction of log file (/tmp/multibootusb.log on linux and C:\Program Files (x86)\multibootusb\multibootusb.log under Windows)
6+
* Added F Secure Rescue CD
7+
* Added Tail
8+
* Support for latest wifislax
9+
* Fix for ROSA boot issue
10+
* Various other minor bug fixes
11+
112
Version - 8.3.0
213
---------------
314
* Added React OS

build_pkg

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class pkg():
6565
print("Ensure thta you have python-stdeb package installed!")
6666
stdcfg = """[DEFAULT]
6767
Package: multibootusb
68-
Depends3: python3-pyqt5, parted, util-linux, mtools, python3-dbus, p7zip-full
68+
Depends3: python3-pyqt5, parted, util-linux, mtools, python3-dbus, p7zip-full, python3-six
6969
Build-Depends: python3-all
7070
Section: system
7171
XS-Python-Version: = 3.5
@@ -88,9 +88,9 @@ class pkg():
8888
result = True
8989
elif self.pkg_name == 'rpm' or self.pkg_name == 'suse' or self.pkg_name == 'mageia':
9090
if self.pkg_name == 'suse' or self.pkg_name == 'mageia':
91-
require = "python3-qt5, parted, util-linux, mtools, python3-dbus, p7zip, p7zip-plugins"
91+
require = "python3-qt5, parted, util-linux, mtools, python3-dbus, p7zip, p7zip-plugins, python3-six"
9292
else:
93-
require = "PyQt5, parted, util-linux, mtools, python3-dbus, p7zip, p7zip-plugins"
93+
require = "PyQt5, parted, util-linux, mtools, python3-dbus, p7zip, p7zip-plugins, python3-six"
9494
setup_cfg = ("[bdist_rpm]\n"
9595
"Group = Applications/System\n"
9696
"Vendor = Sundar <feedback.multibootusb@gmail.com>\n"

data/version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.3.0
1+
8.4.0

multibootusb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
# Licence: This file is a part of multibootusb package. You can redistribute it or modify
77
# under the terms of GNU General Public License, v.2 or above
88

9+
import logging
910
import getopt
1011
import sys
1112
import os
@@ -16,10 +17,12 @@ import platform
1617
try:
1718
from scripts.mbusb_cli import *
1819
from scripts import admin
20+
from scripts import gen
1921
except:
2022
try:
2123
from .scripts.mbusb_cli import *
2224
from .scripts import admin
25+
from .scripts import gen
2326
except:
2427
import scripts
2528

@@ -44,16 +47,16 @@ def usage():
4447

4548
def start_gui():
4649
from scripts import mbusb_gui
47-
print('Starting multibootusb GUI...')
50+
gen.log('Starting multibootusb GUI...')
4851
if platform.system() == 'Linux':
4952
if os.getuid() != 0:
50-
print('\n\n\nAdmin privilege is required to run multibootusb.\n If you are running from source try '
51-
'\'sudo python3 ./multibootusb\'\n or you can try \'multibootusb-pkexec\' (post install)\n\n\n')
53+
gen.log('\n\nAdmin privilege is required to run multibootusb.\n If you are running from source try '
54+
'\'sudo python3 ./multibootusb\'\n or you can try \'multibootusb-pkexec\' (post install)\n\n',
55+
info=False, debug=True)
5256
mbusb_gui.main_gui()
5357

5458

5559
if __name__ == '__main__':
56-
5760
if platform.system() == 'Windows':
5861
if not admin.isUserAdmin():
5962
admin.runAsAdmin()

multibootusb.nsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
;--------------------------------
22
;NSIS script for creating multibootusb setup file
33

4-
Name "multibootusb 8.2.0"
5-
OutFile "multibootusb-8.2.0-setup.exe"
4+
Name "multibootusb 8.4.0"
5+
OutFile "multibootusb-8.4.0-setup.exe"
66

77
SetCompressor lzma
88

scripts/_7zip.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def extract_iso(src, dst, pattern=None, suppress_out=True):
3939
suppress_out = ' 2> /dev/null'
4040

4141
if not os.path.exists(src):
42-
print('ISO file could not be found on the location specified.')
42+
gen.log('ISO file could not be found on the location specified.')
4343
return False
4444
if not os.path.exists(dst):
4545
os.makedirs(dst, exist_ok=True)
@@ -48,13 +48,13 @@ def extract_iso(src, dst, pattern=None, suppress_out=True):
4848
_cmd = _7zip + cli_option + ' x -y -o' + gen.quote(dst) + ' ' + gen.quote(src) + suppress_out
4949
else:
5050
_cmd = _7zip + ' -y x ' + gen.quote(src) + ' -o' + dst + ' ' + gen.quote(pattern) + ' -r' + suppress_out
51-
# print('Executing', _cmd)
51+
# gen.log('Executing', _cmd)
5252
_7zip_process = subprocess.Popen(_cmd, universal_newlines=True, stdin=subprocess.PIPE, stderr=subprocess.PIPE,
5353
stdout=subprocess.PIPE, shell=True)
5454
config.status_text = 'Extracting ' + os.path.basename(src)
5555
while True:
5656
line = _7zip_process.stdout.readline()
57-
# print(line)
57+
# gen.log(line)
5858
if line.startswith('- '):
5959
config.status_text = 'Extracting ' + line[2:]
6060
elif platform.system() == 'Linux': # line.startswith('Extracting'): # Under Linux it prints directly all the process (may be due to version diff).
@@ -71,12 +71,12 @@ def list_iso(iso_link, suppress_out=True):
7171
if suppress_out is True:
7272
suppress_out = ' 2> /dev/null'
7373
if not os.path.exists(iso_link):
74-
print('Path to ISO link does not exist.')
74+
gen.log('Path to ISO link does not exist.')
7575
return False
7676
else:
7777
file_list = []
7878
_cmd = _7zip + ' l ' + gen.quote(iso_link) + suppress_out
79-
# print('Executing', _cmd)
79+
# gen.log('Executing', _cmd)
8080
_cmd_out = subprocess.check_output(_cmd, universal_newlines=True, stderr=subprocess.PIPE, shell=True).splitlines()
8181
for line in _cmd_out:
8282
line = line.split()
@@ -109,7 +109,7 @@ def test_iso(iso_link, suppress_out=True):
109109

110110
_cmd = _7zip + ' t ' + iso_link + suppress_out
111111

112-
# print('Executing', _cmd)
112+
# gen.log('Executing', _cmd)
113113

114114
rc = subprocess.call(_cmd, shell=True)
115115

scripts/admin.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import sys
3939
import subprocess
4040
from PyQt5 import QtWidgets
41+
from . import gen
4142

4243

4344
def isUserAdmin():
@@ -46,7 +47,7 @@ def isUserAdmin():
4647
(root on Unix), otherwise False.
4748
4849
Warning: The inner function fails unless you have Windows XP SP2 or
49-
higher. The failure causes a traceback to be printed and this
50+
higher. The failure causes a traceback to be gen.loged and this
5051
function to return False.
5152
"""
5253

@@ -57,7 +58,7 @@ def isUserAdmin():
5758
return ctypes.windll.shell32.IsUserAnAdmin()
5859
except:
5960
traceback.print_exc()
60-
print("Admin check failed, assuming not an admin.")
61+
gen.log("Admin check failed, assuming not an admin.")
6162
return False
6263
elif platform.system() == "Linux":
6364
return os.getuid() == 0
@@ -103,7 +104,7 @@ def runAsAdmin(cmdLine=None, wait=True):
103104
#showCmd = win32con.SW_HIDE
104105
lpVerb = 'runas' # causes UAC elevation prompt.
105106

106-
#print("Running", cmd, params)
107+
#gen.log("Running", cmd, params)
107108

108109
# ShellExecute() doesn't seem to allow us to fetch the PID or handle
109110
# of the process, so we can't get anything useful from it. Therefore
@@ -121,7 +122,7 @@ def runAsAdmin(cmdLine=None, wait=True):
121122
procHandle = procInfo['hProcess']
122123
obj = win32event.WaitForSingleObject(procHandle, win32event.INFINITE)
123124
rc = win32process.GetExitCodeProcess(procHandle)
124-
#print "Process handle %s returned code %s" % (procHandle, rc)
125+
#gen.log "Process handle %s returned code %s" % (procHandle, rc)
125126
else:
126127
rc = None
127128

@@ -157,10 +158,10 @@ def adminCmd(cmd, fork=False, gui=False):
157158
'Could not find any of: pkexec, sudo, gksu, kdesu, gksudo, or kdesudo. Please install one then restart multibootusb.')
158159
sys.exit(0)
159160
final_cmd = ' '.join(sudo_cmd + ['"' + ' '.join(cmd).replace('"', '\\"') + '"'])
160-
print("Executing ==> " + final_cmd)
161+
gen.log("Executing ==> " + final_cmd)
161162
if fork:
162163
return subprocess.Popen(final_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=1, shell=True)
163164
else:
164165
ret = subprocess.call(final_cmd, shell=True)
165-
print("Process returned ==> " + str(ret))
166+
gen.log("Process returned ==> " + str(ret))
166167
return ret

scripts/distro.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def distro(iso_cfg_ext_dir, iso_link):
6464
return "solydx"
6565
elif re.search(r'knoppix', string, re.I):
6666
return "knoppix"
67-
elif re.search(r'root=live', string, re.I):
67+
elif re.search(r'root=live:CDLABEL=', string, re.I):
6868
return "fedora"
6969
elif re.search(r'redhat', string, re.I):
7070
return "redhat"
@@ -74,7 +74,7 @@ def distro(iso_cfg_ext_dir, iso_link):
7474
re.I):
7575
return "opensuse"
7676
elif re.search(
77-
r'slitaz|dban|ophcrack|tinycore|rescue.cpi|xpud|untangle|4mlinux|partition wizard|'
77+
r'slitaz|dban |ophcrack|tinycore|rescue.cpi|xpud|untangle|4mlinux|partition wizard|android-x86.png|'
7878
r'riplinux|lebel dummy|http://pogostick.net/~pnh/ntpasswd/|AVG Rescue CD', string, re.I):
7979
return "slitaz"
8080
elif re.search(r'boot=casper', string, re.I):
@@ -123,6 +123,8 @@ def distro(iso_cfg_ext_dir, iso_link):
123123
return "Windows"
124124
elif re.search(r'ReactOS', string, re.I):
125125
return "ReactOS"
126+
elif re.search(r'fsecure', string, re.I):
127+
return "fsecure"
126128

127129
distro = detect_iso_from_file_list(iso_link)
128130
if distro:
@@ -159,11 +161,11 @@ def detect_iso_from_file_list(iso_link):
159161
elif any("menu.lst" in s.lower() for s in iso_file_list):
160162
return "grub4dos"
161163
else:
162-
print(iso_file_list)
164+
log(iso_file_list)
163165

164166
if __name__ == '__main__':
165167
iso_cfg_ext_dir = os.path.join(multibootusb_host_dir(), "iso_cfg_ext_dir")
166168
#iso_link = '../../../DISTROS/2016/debian-live-8.3.0-amd64-lxde-desktop.iso'
167169
iso_link = '/media/sundar/Data/DISTROS/ubuntu_14_04_backup/Downloads/clonezilla-live-2.4.2-32-amd64.iso'
168170
iso_extract_file(iso_link, iso_cfg_ext_dir, 'cfg')
169-
print(distro(iso_cfg_ext_dir))
171+
log(distro(iso_cfg_ext_dir))

0 commit comments

Comments
 (0)