efibootdude 0.5__tar.gz → 0.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of efibootdude might be problematic. Click here for more details.

@@ -0,0 +1,6 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ .vscode/
4
+ *.egg-info/
5
+ *.tar.gz
6
+ *.whl
@@ -1,20 +1,18 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: efibootdude
3
- Version: 0.5
3
+ Version: 0.5.2
4
4
  Summary: A visual wrapper for efibootmgr
5
- Author-email: Joe Defen <joedef@duck.com>
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/joedefen/efibootdude
8
- Project-URL: Bug Tracker, https://github.com/joedefen/efibootdude/issues
9
5
  Keywords: app,installer,manager,appimages
6
+ Author-email: Joe Defen <joedef@duck.com>
7
+ Requires-Python: >=3.8
8
+ Description-Content-Type: text/markdown
10
9
  Classifier: Programming Language :: Python :: 3
11
10
  Classifier: License :: OSI Approved :: MIT License
12
11
  Classifier: Operating System :: POSIX :: Linux
13
- Requires-Python: >=3.8
14
- Description-Content-Type: text/markdown
15
12
  License-File: LICENSE
16
- Requires-Dist: importlib-metadata; python_version < "3.8"
17
- Requires-Dist: psutil>=5.9
13
+ Requires-Dist: importlib-metadata; python_version<"3.8"
14
+ Project-URL: Bug Tracker, https://github.com/joedefen/efibootdude/issues
15
+ Project-URL: Homepage, https://github.com/joedefen/efibootdude
18
16
 
19
17
  # EfiBootDude
20
18
  `efibootdude` presents a visual (curses) interface to `efibootmgr` which allows editing the bios
@@ -56,9 +54,12 @@ At this point
56
54
  active by typing `*` for the corresponding entries.
57
55
  * Press `ESC` key to abandon any changes and reload the boot information.
58
56
  * When ready to write the changes to the BIOS, enter `w`.
59
- * When the changes look good, type `b` to reboot, if you wish.
60
57
  * When writing the changes, `efibootdude` drops out of menu mode so you can
61
58
  verify the underlying commands, error codes, and error messages.
59
+ * After you write changes, type `b` to reboot, if you wish and the boot menu looks OK.
60
+ * BTW, the top-line keys vary per context; e.g.:
61
+ * `w` is only shown with pending changes, and
62
+ * `b` is only shown w/o pending changes.
62
63
 
63
64
  ## Caveats
64
65
  * Some operations may not work permanently even though there is no indication from `efibootmgr`
@@ -71,3 +72,4 @@ This project was inspired by [Elinvention/efiboots](https://github.com/Elinventi
71
72
  * to be easier to install especially when not in your distro's repos.
72
73
  * to clearly present the partition of the boot entries (as a mount point if mounted and, otherwise, the device pathname).
73
74
  * to show the underlying commands being run for education, for verification, and for help on investigating issues.
75
+
@@ -38,9 +38,12 @@ At this point
38
38
  active by typing `*` for the corresponding entries.
39
39
  * Press `ESC` key to abandon any changes and reload the boot information.
40
40
  * When ready to write the changes to the BIOS, enter `w`.
41
- * When the changes look good, type `b` to reboot, if you wish.
42
41
  * When writing the changes, `efibootdude` drops out of menu mode so you can
43
42
  verify the underlying commands, error codes, and error messages.
43
+ * After you write changes, type `b` to reboot, if you wish and the boot menu looks OK.
44
+ * BTW, the top-line keys vary per context; e.g.:
45
+ * `w` is only shown with pending changes, and
46
+ * `b` is only shown w/o pending changes.
44
47
 
45
48
  ## Caveats
46
49
  * Some operations may not work permanently even though there is no indication from `efibootmgr`
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+ script_dir=$(dirname "$0")
3
+ set -ex
4
+ cd ${script_dir}
5
+ rm -rf ./dist
6
+ python3 -m pip install build --break-system-packages
7
+ python3 -m build
8
+ pip install -e . --break-system-packages
@@ -358,7 +358,8 @@ class EfiBootDude:
358
358
  actions['m'] = 'modify'
359
359
  if self.mods.dirty:
360
360
  actions['w'] = 'write'
361
- actions['b'] = 'boot'
361
+ else:
362
+ actions['b'] = 'boot'
362
363
 
363
364
  return actions
364
365
 
@@ -500,6 +501,10 @@ class EfiBootDude:
500
501
  return None
501
502
 
502
503
  if key == ord('b'):
504
+ if self.mods.dirty:
505
+ self.win.alert('Pending changes (on return, use "w" to commit or "ESC" to discard)')
506
+ return
507
+
503
508
  answer = self.win.answer(prompt='Type "reboot" to reboot',
504
509
  seed='reboot', width=80)
505
510
  if answer.strip().lower().startswith('reboot'):
@@ -0,0 +1,30 @@
1
+ [build-system]
2
+ requires = ["flit_core>=3.4"]
3
+ build-backend = "flit_core.buildapi"
4
+
5
+ [project]
6
+ name = "efibootdude"
7
+ version = "0.5.2"
8
+ description = "A visual wrapper for efibootmgr"
9
+ authors = [
10
+ { name = "Joe Defen", email = "joedef@duck.com" }
11
+ ]
12
+ readme = "README.md"
13
+ license = { text = "MIT" }
14
+ requires-python = ">=3.8"
15
+ keywords = ["app", "installer", "manager", "appimages"]
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Operating System :: POSIX :: Linux"
20
+ ]
21
+ dependencies = [
22
+ 'importlib-metadata; python_version<"3.8"',
23
+ ]
24
+
25
+ [project.urls]
26
+ "Homepage" = "https://github.com/joedefen/efibootdude"
27
+ "Bug Tracker" = "https://github.com/joedefen/efibootdude/issues"
28
+
29
+ [project.scripts]
30
+ efibootdude = "efibootdude.main:main"
@@ -0,0 +1,13 @@
1
+ BootCurrent: 000A
2
+ Timeout: 0 seconds
3
+ BootOrder: 000A,0009,0007,0006,0005,0003,0000,0008
4
+ Boot0000* UEFI KBG40ZNS256G NVMe KIOXIA 256GB X0LPG5C2QUM1 1 PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,8C-E3-8E-04-01-4B-A2-BE)/HD(1,GPT,ff29365d-a734-4a11-a40d-24ee292cf494,0x800,0x4b000)/File(\EFI\Boot\BootX64.efi){auto_created_boot_option}
5
+ Boot0001* ONBOARD NIC (IPV4) PciRoot(0x0)/Pci(0x1d,0x5)/Pci(0x0,0x0)/MAC(b07b255eaf61,0)/IPv4(0.0.0.00.0.0.0,0,0){auto_created_boot_option}
6
+ Boot0002* ONBOARD NIC (IPV6) PciRoot(0x0)/Pci(0x1d,0x5)/Pci(0x0,0x0)/MAC(b07b255eaf61,0)/IPv6([::]:<->[::]:,0,0){auto_created_boot_option}
7
+ Boot0003* Windows Boot Manager HD(1,GPT,ff29365d-a734-4a11-a40d-24ee292cf494,0x800,0x4b000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d000000ffff0100000010000000040000007fff0400
8
+ Boot0005* Fedora HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\fedora\shimx64.efi)
9
+ Boot0006* neon HD(1,GPT,ff29365d-a734-4a11-a40d-24ee292cf494,0x800,0x4b000)/File(\EFI\neon\shimx64.efi)
10
+ Boot0007* Fedora HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\fedora\shimx64.efi)
11
+ Boot0008* UEFI KBG40ZNS256G NVMe KIOXIA 256GB X0LPG5C2QUM1 1 2 PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,8C-E3-8E-04-01-4B-A2-BE)/HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\Boot\BootX64.efi){auto_created_boot_option}
12
+ Boot0009* Linux Boot Manager HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\systemd\systemd-bootx64.efi)
13
+ Boot000A* Ubuntu HD(9,GPT,5dd8ef9c-ef8a-e24c-a3a3-d5ec461cf143,0x1af69000,0x400000)/File(\EFI\ubuntu\shimx64.efi)
efibootdude-0.5/PKG-INFO DELETED
@@ -1,73 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: efibootdude
3
- Version: 0.5
4
- Summary: A visual wrapper for efibootmgr
5
- Author-email: Joe Defen <joedef@duck.com>
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/joedefen/efibootdude
8
- Project-URL: Bug Tracker, https://github.com/joedefen/efibootdude/issues
9
- Keywords: app,installer,manager,appimages
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: License :: OSI Approved :: MIT License
12
- Classifier: Operating System :: POSIX :: Linux
13
- Requires-Python: >=3.8
14
- Description-Content-Type: text/markdown
15
- License-File: LICENSE
16
- Requires-Dist: importlib-metadata; python_version < "3.8"
17
- Requires-Dist: psutil>=5.9
18
-
19
- # EfiBootDude
20
- `efibootdude` presents a visual (curses) interface to `efibootmgr` which allows editing the bios
21
- boot menu and parameters while running Linux.
22
-
23
- * Install `efibootdude` using `pipx install efibootdude`, or however you do so.
24
- * Prerequisites: install [rhboot/efibootmgr](https://github.com/rhboot/efibootmgr)
25
- * For example, on a Debian derived distro, use `sudo apt install efibootmgr`.
26
-
27
-
28
- `efibootdude` covers only the most commonly used capabilities of `efibootmgr` including:
29
- * reordering boot entries,
30
- * removing boot entries,
31
- * setting the boot entry for the next boot only,
32
- * setting boot entries active or inactive, and
33
- * setting the boot menu timeout value (until it boots the default entry).
34
-
35
- To be sure, there are many other esoteric uses of `efibootmanager` including adding
36
- a new boot entry; for such needs, just use `efibootmgr` directly.
37
-
38
- ## Usage
39
- After running `efibootdude` and making some changes, you'll see a screen comparable to this:
40
-
41
- ![efibootdude-screenshot](https://github.com/joedefen/efibootdude/blob/main/images/efibootdude-screenshot.png?raw=true).
42
-
43
- At this point
44
- * The "current" line starts with `>` and is highlighted.
45
- * The top line shows actions for the current line; type the underscored letter
46
- to effect its action.
47
- * Type `?` for a more complete explanation of the keys, navigation keys, etc.
48
- * **ALWAYS** view the help at least once if unfamiliar with this tool,
49
- it navigation, and/or uncertain of keys not shown on top line.
50
- * With this current line, we can:
51
- * Type `u` or `d` to move it up or down in the boot order.
52
- * Type `t` to relabel the boot entry.
53
- * Type `r` to remove the boot entry.
54
- * And so forth.
55
- * The entries with `*` on the left are active boot entries; toggle whether
56
- active by typing `*` for the corresponding entries.
57
- * Press `ESC` key to abandon any changes and reload the boot information.
58
- * When ready to write the changes to the BIOS, enter `w`.
59
- * When the changes look good, type `b` to reboot, if you wish.
60
- * When writing the changes, `efibootdude` drops out of menu mode so you can
61
- verify the underlying commands, error codes, and error messages.
62
-
63
- ## Caveats
64
- * Some operations may not work permanently even though there is no indication from `efibootmgr`
65
- (e.g., on my desktop, I cannot re-label boot entries).
66
- * Some operations may only work (again) after re-booting (e.g., you might find activating
67
- an entry does not work, but it does so after a reboot).
68
-
69
- ## About this Project
70
- This project was inspired by [Elinvention/efiboots](https://github.com/Elinvention/efiboots). Relative to that project, the aims of `efibootdude` are:
71
- * to be easier to install especially when not in your distro's repos.
72
- * to clearly present the partition of the boot entries (as a mount point if mounted and, otherwise, the device pathname).
73
- * to show the underlying commands being run for education, for verification, and for help on investigating issues.
@@ -1,97 +0,0 @@
1
- # HOW TO DEVELOP
2
-
3
- #
4
- # Prep Work (ensure need modules are up-to-date):
5
- # sudo apt install python3-pip
6
- # sudo apt install python3-pip-whl
7
- # pip install build --break-system-packages
8
- # sudo apt install twine
9
- # -- antiquated way
10
- # sudo pacman -Syu python-pip
11
- # sudo pacman -Syu python-build
12
- # sudo pacman -Syu python-twine
13
- # -- antiquated way
14
- # python3 -m pip install --upgrade pip
15
- # python3 -m pip install --upgrade build
16
- # python3 -m pip install --upgrade twine
17
- #
18
- # Optionally, `python3 -m venv venv`, and then
19
- # - source env/bin/activate # to activate
20
- # - deactivate # to deactivate
21
- #
22
- # rm -rf ./dist && python3 -m build && pip install -e . --break-system-packages
23
- # pip-tray
24
- #
25
- # -OR-
26
- # python3 -m efibootdude.main
27
- #
28
- # -OR-
29
- # cd src/efibootdude && ./main.py
30
- #
31
- # -OR-
32
- # src/efibootdude/main.py
33
-
34
- # HOW TO PUBLISH...
35
- # PUBLIC Build and deploy (from project directory):
36
- # ## BUMP the version (below in [project])
37
- # rm -rf dist; python3 -m build; ls dist/.
38
- # python3 -m twine upload dist/* # keyring --disable # may be required
39
- # ## Enter __token__ and the saved TOKEN (in bitwarden)
40
- # pipx upgrade pwr-tray || pipx install pwr-tray # >= python3.11
41
- # --OR-- sudo python3 -m pip install pwr-tray # <= python3.10
42
- # ## VISIT https://pypi.org/project/pwr-tray and delete old versions
43
- #
44
- # TEST Build and test (from project directory):
45
- # ## BUMP the version (below in [project])
46
- # rm -r dist; python3 -m build
47
- # python3 -m twine upload --repository testpypi dist/* # keyring --disable # may be required
48
- # ## Enter __token__ and the saved TOKEN (in bitwarden)
49
- # sudo python3 -m pip install --upgrade --index-url https://test.pypi.org/simple/ --no-deps --break-system-packages my-sna
50
- # ## VISIT https://test.pypi.org/project/pwr-tray and delete old versions
51
-
52
- [build-system]
53
- requires = ["setuptools>=42", "wheel"]
54
- build-backend = "setuptools.build_meta"
55
-
56
- [project]
57
- name = "efibootdude"
58
- version = "0.5"
59
- description = "A visual wrapper for efibootmgr"
60
- authors = [
61
- { name = "Joe Defen", email = "joedef@duck.com" }
62
- ]
63
- readme = "README.md"
64
- license = { text = "MIT" }
65
- requires-python = ">=3.8"
66
-
67
- keywords = ["app", "installer", "manager", "appimages", ]
68
-
69
- classifiers = [
70
- "Programming Language :: Python :: 3",
71
- "License :: OSI Approved :: MIT License",
72
- "Operating System :: POSIX :: Linux"
73
- ]
74
- dependencies = [
75
- 'importlib-metadata; python_version<"3.8"',
76
- 'psutil>=5.9',
77
- ]
78
-
79
- [project.urls]
80
- "Homepage" = "https://github.com/joedefen/efibootdude"
81
- "Bug Tracker" = "https://github.com/joedefen/efibootdude/issues"
82
-
83
- [project.scripts]
84
- efibootdude = "efibootdude.main:main"
85
-
86
- [tool.setuptools]
87
- package-dir = {"" = "src"}
88
-
89
- [tool.setuptools.packages.find]
90
- where = ["src"]
91
-
92
- [tool.setuptools.package-data]
93
-
94
- exclude = [
95
- "__pycache__",
96
- ]
97
-
efibootdude-0.5/setup.cfg DELETED
@@ -1,4 +0,0 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
@@ -1,12 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- src/efibootdude/PowerWindow.py
5
- src/efibootdude/__init__.py
6
- src/efibootdude/main.py
7
- src/efibootdude.egg-info/PKG-INFO
8
- src/efibootdude.egg-info/SOURCES.txt
9
- src/efibootdude.egg-info/dependency_links.txt
10
- src/efibootdude.egg-info/entry_points.txt
11
- src/efibootdude.egg-info/requires.txt
12
- src/efibootdude.egg-info/top_level.txt
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- efibootdude = efibootdude.main:main
@@ -1,4 +0,0 @@
1
- psutil>=5.9
2
-
3
- [:python_version < "3.8"]
4
- importlib-metadata
@@ -1 +0,0 @@
1
- efibootdude
File without changes