efibootdude 0.0__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.
- efibootdude-0.0/LICENSE +21 -0
- efibootdude-0.0/PKG-INFO +63 -0
- efibootdude-0.0/README.md +45 -0
- efibootdude-0.0/pyproject.toml +97 -0
- efibootdude-0.0/setup.cfg +4 -0
- efibootdude-0.0/src/efibootdude/PowerWindow.py +740 -0
- efibootdude-0.0/src/efibootdude/__init__.py +0 -0
- efibootdude-0.0/src/efibootdude/main.py +498 -0
- efibootdude-0.0/src/efibootdude.egg-info/PKG-INFO +63 -0
- efibootdude-0.0/src/efibootdude.egg-info/SOURCES.txt +12 -0
- efibootdude-0.0/src/efibootdude.egg-info/dependency_links.txt +1 -0
- efibootdude-0.0/src/efibootdude.egg-info/entry_points.txt +2 -0
- efibootdude-0.0/src/efibootdude.egg-info/requires.txt +4 -0
- efibootdude-0.0/src/efibootdude.egg-info/top_level.txt +1 -0
efibootdude-0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Joe D
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
efibootdude-0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: efibootdude
|
|
3
|
+
Version: 0.0
|
|
4
|
+
Summary: A visual wrapper for efibootmgr
|
|
5
|
+
Author-email: Joe Defen <joedef@google.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`.
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
After running `efibootdude`, you'll see a screen like this:
|
|
39
|
+
.
|
|
40
|
+
At this point
|
|
41
|
+
* The current line starts with `>` and is highlighted.
|
|
42
|
+
* The top line shows actions for the current line.
|
|
43
|
+
* Enter `?` for a more complete explanation of the keys, navigation keys, etc.
|
|
44
|
+
* With this current line, we can:
|
|
45
|
+
* Use `u` or `d` to move it up or down in the boot order.
|
|
46
|
+
* Use `t` to relabel the boot entry.
|
|
47
|
+
* Use `r` to remove it.
|
|
48
|
+
* And so forth.
|
|
49
|
+
* When ready to write the changes to the BIOS, enter 'w'.
|
|
50
|
+
* When writing the changes, `efibootdude` drops out of menu mode so you can
|
|
51
|
+
verify the underlying commands, error codes, and error messages.
|
|
52
|
+
|
|
53
|
+
## Caveats
|
|
54
|
+
* Some operations may not work permanently even though there is no indication from `efibootmgr`
|
|
55
|
+
(e.g., on my desktop, I cannot re-label boot entries).
|
|
56
|
+
* Some operations may only work (again) after re-booting (e.g., you might find activating
|
|
57
|
+
an entry does not work, but it does so after a reboot).
|
|
58
|
+
|
|
59
|
+
## About this Project
|
|
60
|
+
This project was inspired by [Elinvention/efiboots](https://github.com/Elinvention/efiboots). Relative to that project, the aims of `efibootdude` are:
|
|
61
|
+
* to be easier to install especially when not in your distro's repos.
|
|
62
|
+
* to clearly present the partition of the boot entries (as a mount point if mounted and, otherwise, the device pathname).
|
|
63
|
+
* to show the underlying commands being run for education, for verification, and for help on investigating issues.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# EfiBootDude
|
|
2
|
+
`efibootdude` presents a visual (curses) interface to `efibootmgr` which allows editing the bios
|
|
3
|
+
boot menu and parameters while running Linux.
|
|
4
|
+
|
|
5
|
+
* Install `efibootdude` using `pipx install efibootdude`, or however you do so.
|
|
6
|
+
* Prerequisites: install [rhboot/efibootmgr](https://github.com/rhboot/efibootmgr)
|
|
7
|
+
* For example, on a Debian derived distro, use `sudo apt install efibootmgr`.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
`efibootdude` covers only the most commonly used capabilities of `efibootmgr` including:
|
|
11
|
+
* reordering boot entries,
|
|
12
|
+
* removing boot entries,
|
|
13
|
+
* setting the boot entry for the next boot only,
|
|
14
|
+
* setting boot entries active or inactive, and
|
|
15
|
+
* setting the boot menu timeout value (until it boots the default entry).
|
|
16
|
+
|
|
17
|
+
To be sure, there are many other esoteric uses of `efibootmanager`.
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
After running `efibootdude`, you'll see a screen like this:
|
|
21
|
+
.
|
|
22
|
+
At this point
|
|
23
|
+
* The current line starts with `>` and is highlighted.
|
|
24
|
+
* The top line shows actions for the current line.
|
|
25
|
+
* Enter `?` for a more complete explanation of the keys, navigation keys, etc.
|
|
26
|
+
* With this current line, we can:
|
|
27
|
+
* Use `u` or `d` to move it up or down in the boot order.
|
|
28
|
+
* Use `t` to relabel the boot entry.
|
|
29
|
+
* Use `r` to remove it.
|
|
30
|
+
* And so forth.
|
|
31
|
+
* When ready to write the changes to the BIOS, enter 'w'.
|
|
32
|
+
* When writing the changes, `efibootdude` drops out of menu mode so you can
|
|
33
|
+
verify the underlying commands, error codes, and error messages.
|
|
34
|
+
|
|
35
|
+
## Caveats
|
|
36
|
+
* Some operations may not work permanently even though there is no indication from `efibootmgr`
|
|
37
|
+
(e.g., on my desktop, I cannot re-label boot entries).
|
|
38
|
+
* Some operations may only work (again) after re-booting (e.g., you might find activating
|
|
39
|
+
an entry does not work, but it does so after a reboot).
|
|
40
|
+
|
|
41
|
+
## About this Project
|
|
42
|
+
This project was inspired by [Elinvention/efiboots](https://github.com/Elinvention/efiboots). Relative to that project, the aims of `efibootdude` are:
|
|
43
|
+
* to be easier to install especially when not in your distro's repos.
|
|
44
|
+
* to clearly present the partition of the boot entries (as a mount point if mounted and, otherwise, the device pathname).
|
|
45
|
+
* to show the underlying commands being run for education, for verification, and for help on investigating issues.
|
|
@@ -0,0 +1,97 @@
|
|
|
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.0"
|
|
59
|
+
description = "A visual wrapper for efibootmgr"
|
|
60
|
+
authors = [
|
|
61
|
+
{ name = "Joe Defen", email = "joedef@google.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
|
+
|