main → init
This commit is contained in:
parent
204ef539fc
commit
331f39e157
5 changed files with 153 additions and 127 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
__pycache__
|
||||||
|
/.idea
|
132
__init__.py
Normal file
132
__init__.py
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
import lsgm
|
||||||
|
import rwx.arg
|
||||||
|
import rwx.fs
|
||||||
|
import rwx.grub
|
||||||
|
import rwx.ps
|
||||||
|
|
||||||
|
CHARSET = 'UTF-8'
|
||||||
|
|
||||||
|
PGP = 'git@marc.beninca.link'
|
||||||
|
|
||||||
|
MODULES = (
|
||||||
|
('regexp'),
|
||||||
|
('memdisk', 'tar'),
|
||||||
|
('search'),
|
||||||
|
('part_gpt', 'part_msdos'),
|
||||||
|
('btrfs', 'ext2', 'fat', 'iso9660', 'udf'),
|
||||||
|
('exfat', 'hfs', 'hfspluscomp', 'ntfscomp'),
|
||||||
|
('linux', 'loopback', 'squash4'),
|
||||||
|
#
|
||||||
|
('at_keyboard', 'keylayouts', 'keystatus', 'read'),
|
||||||
|
('halt', 'reboot'),
|
||||||
|
('all_video', 'videoinfo'),
|
||||||
|
('gfxterm_background', 'jpeg', 'png', 'tga'),
|
||||||
|
#
|
||||||
|
('date', 'echo', 'eval', 'help', 'sleep', 'test', 'true'),
|
||||||
|
('cpuid', 'lspci'),
|
||||||
|
('cat', 'configfile', 'loadenv', 'progress', 'testspeed'),
|
||||||
|
('hashsum', 'gcry_sha512', 'gcry_sha256'),
|
||||||
|
('pgp', 'gcry_dsa', 'gcry_rsa'),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def build(esp_root: str, data_uuid: str=None) -> None:
|
||||||
|
esp_uuid = rwx.fs.get_path_uuid(esp_root)
|
||||||
|
#
|
||||||
|
memdisk_root = os.path.join(esp_root, 'memdisk')
|
||||||
|
efi_root = os.path.join(esp_root, 'efi')
|
||||||
|
efi_directory = os.path.join(efi_root, 'boot')
|
||||||
|
bios_root = os.path.join(esp_root, 'bios')
|
||||||
|
grub_root = os.path.join(esp_root, 'grub')
|
||||||
|
grub_env = os.path.join(esp_root, 'grub.env')
|
||||||
|
#
|
||||||
|
print(f'''
|
||||||
|
esp_root: {esp_root}
|
||||||
|
data_uuid: {data_uuid}
|
||||||
|
↓
|
||||||
|
esp_uuid: {esp_uuid}
|
||||||
|
↓
|
||||||
|
memdisk_root: {memdisk_root}
|
||||||
|
efi_root: {efi_root}
|
||||||
|
efi_directory: {efi_directory}
|
||||||
|
bios_root: {bios_root}
|
||||||
|
grub_root: {grub_root}
|
||||||
|
grub_env: {grub_env}
|
||||||
|
''', end=str())
|
||||||
|
#
|
||||||
|
memdisk_directory = os.path.join(memdisk_root, 'boot', 'grub')
|
||||||
|
memdisk_file = os.path.join(memdisk_directory, 'grub.cfg')
|
||||||
|
memdisk_archive = os.path.join(memdisk_root, 'boot.tar')
|
||||||
|
#
|
||||||
|
print(f'''
|
||||||
|
memdisk_directory: {memdisk_directory}
|
||||||
|
memdisk_file: {memdisk_file}
|
||||||
|
memdisk_archive: {memdisk_archive}
|
||||||
|
''', end=str())
|
||||||
|
#
|
||||||
|
rwx.fs.wipe(memdisk_root)
|
||||||
|
rwx.fs.make_directory(memdisk_directory)
|
||||||
|
rwx.fs.empty_file(memdisk_file)
|
||||||
|
# EFI
|
||||||
|
rwx.fs.wipe(efi_root)
|
||||||
|
rwx.fs.make_directory(efi_directory)
|
||||||
|
# BIOS
|
||||||
|
rwx.fs.wipe(bios_root)
|
||||||
|
rwx.fs.make_directory(bios_root)
|
||||||
|
#
|
||||||
|
rwx.fs.wipe(memdisk_root)
|
||||||
|
# GRUB
|
||||||
|
rwx.fs.wipe(grub_root)
|
||||||
|
# GRUB / environment
|
||||||
|
rwx.fs.write(grub_env,
|
||||||
|
rwx.grub.ENV_HEADER.ljust(rwx.grub.ENV_BYTES, rwx.grub.ENV_COMMENT))
|
||||||
|
|
||||||
|
|
||||||
|
def __main__():
|
||||||
|
esp()
|
||||||
|
|
||||||
|
|
||||||
|
def main(main_file: str) -> None:
|
||||||
|
function, _ = os.path.splitext(os.path.basename(main_file))
|
||||||
|
getattr(lsgm, function)()
|
||||||
|
|
||||||
|
|
||||||
|
def doc():
|
||||||
|
root = os.path.dirname(__file__)
|
||||||
|
file = os.path.join(root, 'todo')
|
||||||
|
subprocess.run([
|
||||||
|
'dot',
|
||||||
|
f'{file}.gv',
|
||||||
|
'-T', 'svg',
|
||||||
|
'-o', f'{file}.svg',
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
def esp():
|
||||||
|
command, args = rwx.arg.split()
|
||||||
|
if args:
|
||||||
|
data, *args = args
|
||||||
|
else:
|
||||||
|
data = None
|
||||||
|
project_file = os.path.realpath(__file__)
|
||||||
|
project_root = os.path.dirname(project_file)
|
||||||
|
parent_root, project_name = os.path.split(project_root)
|
||||||
|
#
|
||||||
|
print(f'''
|
||||||
|
command: {command}
|
||||||
|
data: {data}
|
||||||
|
args: {args}
|
||||||
|
↓
|
||||||
|
project_file: {project_file}
|
||||||
|
project_root: {project_root}
|
||||||
|
parent_root: {parent_root}
|
||||||
|
project_name: {project_name}
|
||||||
|
''', end=str())
|
||||||
|
#
|
||||||
|
if project_name:
|
||||||
|
build(parent_root, data_uuid=data)
|
121
__main__.py
Normal file → Executable file
121
__main__.py
Normal file → Executable file
|
@ -1,116 +1,7 @@
|
||||||
#! /usr/bin/env python3
|
|
||||||
|
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
|
|
||||||
import rwx.arg
|
|
||||||
import rwx.fs
|
|
||||||
import rwx.grub
|
|
||||||
import rwx.ps
|
|
||||||
|
|
||||||
CHARSET = 'UTF-8'
|
|
||||||
|
|
||||||
PGP = 'git@marc.beninca.link'
|
|
||||||
|
|
||||||
MODULES = (
|
|
||||||
('regexp'),
|
|
||||||
('memdisk', 'tar'),
|
|
||||||
('search'),
|
|
||||||
('part_gpt', 'part_msdos'),
|
|
||||||
('btrfs', 'ext2', 'fat', 'iso9660', 'udf'),
|
|
||||||
('exfat', 'hfs', 'hfspluscomp', 'ntfscomp'),
|
|
||||||
('linux', 'loopback', 'squash4'),
|
|
||||||
#
|
|
||||||
('at_keyboard', 'keylayouts', 'keystatus', 'read'),
|
|
||||||
('halt', 'reboot'),
|
|
||||||
('all_video', 'videoinfo'),
|
|
||||||
('gfxterm_background', 'jpeg', 'png', 'tga'),
|
|
||||||
#
|
|
||||||
('date', 'echo', 'eval', 'help', 'sleep', 'test', 'true'),
|
|
||||||
('cpuid', 'lspci'),
|
|
||||||
('cat', 'configfile', 'loadenv', 'progress', 'testspeed'),
|
|
||||||
('hashsum', 'gcry_sha512', 'gcry_sha256'),
|
|
||||||
('pgp', 'gcry_dsa', 'gcry_rsa'),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def build(esp_root: str, data_uuid: str=None) -> None:
|
|
||||||
esp_uuid = rwx.fs.get_path_uuid(esp_root)
|
|
||||||
#
|
|
||||||
memdisk_root = os.path.join(esp_root, 'memdisk')
|
|
||||||
efi_root = os.path.join(esp_root, 'efi')
|
|
||||||
efi_directory = os.path.join(efi_root, 'boot')
|
|
||||||
bios_root = os.path.join(esp_root, 'bios')
|
|
||||||
grub_root = os.path.join(esp_root, 'grub')
|
|
||||||
grub_env = os.path.join(esp_root, 'grub.env')
|
|
||||||
#
|
|
||||||
print(f'''
|
|
||||||
esp_root: {esp_root}
|
|
||||||
data_uuid: {data_uuid}
|
|
||||||
↓
|
|
||||||
esp_uuid: {esp_uuid}
|
|
||||||
↓
|
|
||||||
memdisk_root: {memdisk_root}
|
|
||||||
efi_root: {efi_root}
|
|
||||||
efi_directory: {efi_directory}
|
|
||||||
bios_root: {bios_root}
|
|
||||||
grub_root: {grub_root}
|
|
||||||
grub_env: {grub_env}
|
|
||||||
''', end=str())
|
|
||||||
#
|
|
||||||
memdisk_directory = os.path.join(memdisk_root, 'boot', 'grub')
|
|
||||||
memdisk_file = os.path.join(memdisk_directory, 'grub.cfg')
|
|
||||||
memdisk_archive = os.path.join(memdisk_root, 'boot.tar')
|
|
||||||
#
|
|
||||||
print(f'''
|
|
||||||
memdisk_directory: {memdisk_directory}
|
|
||||||
memdisk_file: {memdisk_file}
|
|
||||||
memdisk_archive: {memdisk_archive}
|
|
||||||
''', end=str())
|
|
||||||
#
|
|
||||||
rwx.fs.wipe(memdisk_root)
|
|
||||||
rwx.fs.make_directory(memdisk_directory)
|
|
||||||
rwx.fs.empty_file(memdisk_file)
|
|
||||||
# EFI
|
|
||||||
rwx.fs.wipe(efi_root)
|
|
||||||
rwx.fs.make_directory(efi_directory)
|
|
||||||
# BIOS
|
|
||||||
rwx.fs.wipe(bios_root)
|
|
||||||
rwx.fs.make_directory(bios_root)
|
|
||||||
#
|
|
||||||
rwx.fs.wipe(memdisk_root)
|
|
||||||
# GRUB
|
|
||||||
rwx.fs.wipe(grub_root)
|
|
||||||
# GRUB / environment
|
|
||||||
rwx.fs.write(grub_env,
|
|
||||||
rwx.grub.ENV_HEADER.ljust(rwx.grub.ENV_BYTES, rwx.grub.ENV_COMMENT))
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
|
||||||
command, args = rwx.arg.split()
|
|
||||||
if args:
|
|
||||||
data, *args = args
|
|
||||||
else:
|
|
||||||
data = None
|
|
||||||
project_file = os.path.realpath(__file__)
|
|
||||||
project_root = os.path.dirname(project_file)
|
|
||||||
parent_root, project_name = os.path.split(project_root)
|
|
||||||
#
|
|
||||||
print(f'''
|
|
||||||
command: {command}
|
|
||||||
data: {data}
|
|
||||||
args: {args}
|
|
||||||
↓
|
|
||||||
project_file: {project_file}
|
|
||||||
project_root: {project_root}
|
|
||||||
parent_root: {parent_root}
|
|
||||||
project_name: {project_name}
|
|
||||||
''', end=str())
|
|
||||||
#
|
|
||||||
if project_name:
|
|
||||||
build(parent_root, data_uuid=data)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
import os
|
||||||
|
import sys
|
||||||
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
#
|
||||||
|
import lsgm
|
||||||
|
lsgm.main(__file__)
|
||||||
|
|
18
doc.py
18
doc.py
|
@ -1,13 +1,7 @@
|
||||||
import os
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
root = os.path.dirname(__file__)
|
import os
|
||||||
file = os.path.join(root, 'todo')
|
import sys
|
||||||
subprocess.run([
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||||||
'dot',
|
#
|
||||||
f'{file}.gv',
|
import lsgm
|
||||||
'-T', 'svg',
|
lsgm.main(__file__)
|
||||||
'-o', f'{file}.svg',
|
|
||||||
])
|
|
||||||
|
|
7
esp.py
Normal file
7
esp.py
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
#
|
||||||
|
import lsgm
|
||||||
|
lsgm.main(__file__)
|
Loading…
Reference in a new issue