Clayton Craft
4259478755
doc/mkinitfs.1: add manpage
2023-02-21 00:47:03 -08:00
Clayton Craft
347668caa3
cmd/mkinitfs: use filelist/hookdirs when creating initramfs
2023-02-21 00:47:03 -08:00
Clayton Craft
b0e28b4215
filelist/hookdirs: add new FileLister implementation for creating dirs
2023-02-21 00:47:03 -08:00
Clayton Craft
c1d96f699c
filelist/hookscripts: don't fail if directory not found
2023-02-21 00:47:02 -08:00
Clayton Craft
25c3c03e24
filelist/osksdl: fix crash when osk-sdl isn't found
...
Should have returned an empty FileList in this case
2023-02-21 00:47:02 -08:00
Clayton Craft
07c8c711c7
filelist/hookfiles: don't error out if dir is not found
...
Just print a message that it wasn't found, instead of sending an error
that may stop the entire app.
2023-02-21 00:47:02 -08:00
Clayton Craft
e772fe0c87
filelist/hookfiles: support specifying src:dest in .files
2023-02-21 00:47:02 -08:00
Clayton Craft
6f05222018
filelist/modules: add support for directories in .modules files
...
This is kinda janky, passing both a list of modules and a directory path
is just because we support modules in deviceinfo and in directory file
lists... Maybe one day we can move away from having modules in the
deviceinfo...
2023-02-21 00:45:58 -08:00
Clayton Craft
c23af8b541
cmd/mkinitfs: simplify archive creation by using filelisters/features
...
I'm going to rename "filelist" to "feature" soon...
2023-02-21 00:45:58 -08:00
Clayton Craft
bd09de9232
archive: accept a FileLister in the AddItems method
2023-02-21 00:45:58 -08:00
Clayton Craft
22692e48d2
filelist/initramfs: add new type for slurping up file listers
2023-02-21 00:45:58 -08:00
Clayton Craft
6c2f7b972b
filelist/*: implement FileLister in existing types
2023-02-21 00:45:57 -08:00
Clayton Craft
e5002f5750
filelist/FileList: add Import method
2023-02-21 00:45:16 -08:00
Clayton Craft
662f559286
filelist: Add FileList type
...
This adds a new type, FileList, to manage another new type (File). File
contains the mapping of source --> dest for a file or directory.
2023-02-21 00:45:16 -08:00
Clayton Craft
a4be663e13
filelist/*.List(): print to stdout when starting to generate FileList
2023-02-21 00:45:16 -08:00
Clayton Craft
14873015c0
cmd/mkinitfs: move getInitfsFiles into generateInitfs
...
Prep for simplifying things a bit...
2023-02-21 00:45:16 -08:00
Clayton Craft
6fdc8937b5
internal/archive: make archiveItem.add private
2023-02-21 00:45:16 -08:00
Clayton Craft
fb52066d8f
filelist/modules: remove postmarketos- from config dir name
2023-02-21 00:45:15 -08:00
Clayton Craft
b7f520cba4
filelist/modules: drop "required modules"
...
Breaking change. These should be provided in /*/modules/* lists
2023-02-21 00:45:15 -08:00
Clayton Craft
31bf38f663
cmd/mkinitfs: don't hardcode splash images
...
No longer supported/used on pmOS since pbsplash was merged.
2023-02-21 00:45:15 -08:00
Clayton Craft
71d8131bb0
cmd/mkinitfs: don't hardcode required directories
...
Another breaking change, these directories should be specified via
hook files
2023-02-21 00:45:15 -08:00
Clayton Craft
8b99b5f45b
cmd/mkinitfs: don't hardcode binaries/files for including in archives
...
Obvious breaking change... These files should be provided by "hook file"
lists instead.
2023-02-21 00:45:15 -08:00
Clayton Craft
e8854ff88d
cmd/mkinitfs: drop getHookFiles
2023-02-21 00:45:15 -08:00
Clayton Craft
1eb35cf8ef
cmd/mkinitfs: drop getHookScripts
2023-02-21 00:45:14 -08:00
Clayton Craft
696633629a
cmd/mkinitfs: drop getFiles + friends
...
moved to misc package
2023-02-21 00:45:14 -08:00
Clayton Craft
d9b68843a3
cmd/mkinitfs: use misc.GetFiles
2023-02-21 00:45:14 -08:00
Clayton Craft
93005527e0
cmd/mkinitfs: drop getKernelVersion and getKernelReleaseFile
2023-02-21 00:45:14 -08:00
Clayton Craft
1c5f16762f
cmd/mkinitfs: use misc.GetKernelVersion
2023-02-21 00:45:14 -08:00
Clayton Craft
af97d4654f
cmd/mkinitfs: use filelist/hookfiles
2023-02-21 00:45:14 -08:00
Clayton Craft
b25c9bd390
filelist/hookfiles: add new implementation
2023-02-21 00:45:13 -08:00
Clayton Craft
1a0d00e39f
cmd/mkinitfs: use filelist/hookscripts
2023-02-21 00:45:13 -08:00
Clayton Craft
af3c47c784
filelist/hookscripts: add new implementation
2023-02-21 00:45:13 -08:00
Clayton Craft
e7bbd1cadf
cmd/mkinitfs: use filelist/modules
2023-02-21 00:45:13 -08:00
Clayton Craft
1531d7e790
filelist/modules: add new implementation
2023-02-21 00:45:13 -08:00
Clayton Craft
6d77b7a2d1
cmd/mkinitfs: drop osksdl-related stuff
2023-02-21 00:45:13 -08:00
Clayton Craft
2dd83da480
cmd/mkinitfs: use filelist/osksdl
2023-02-21 00:45:12 -08:00
Clayton Craft
e00e5faf6e
filelist/osksdl: just use fmt.Errorf to create an error
2023-02-21 00:45:12 -08:00
Clayton Craft
5e07b63084
filelist/osksdl: add new implementation
2023-02-21 00:45:12 -08:00
Clayton Craft
95582ee034
misc: add GetFiles and supporting functions
2023-02-18 11:22:26 -08:00
Clayton Craft
94584050ee
cmd/mkinitfs: use misc.Exists, drop exists()
2023-02-18 11:22:25 -08:00
Clayton Craft
e0977b4ac1
misc: add Exists()
2023-02-18 11:22:25 -08:00
Clayton Craft
4176a8a661
misc: add GetKernelVersion()
...
Allows re-using across different packages
2023-02-18 11:22:25 -08:00
Clayton Craft
73fd85f68c
filelist: add FileLister interface
2023-02-18 11:22:25 -08:00
Clayton Craft
7e80107bbe
misc: add TimeFunc()
...
This allows it to be re-used easily when things are broken up into
more packages later.
2023-02-17 14:21:14 -08:00
Clayton Craft
f714f110a1
cmd/mkinitfs: rename binary and move
...
This moves the main package to cmd/mkinitfs, and configures the compiled
binary to be named 'mkinitfs'. calling the full name
'postmarketos-mkinitfs' was unlikely to be used by anyone...
This move makes the project source layout more consistent with other Go
projects, and allows for adding more cmd/* things with their own main
packages later if we want
2023-02-17 14:21:14 -08:00
Clayton Craft
690d008643
internal/{archive,misc}: move from pkgs
...
These should be internal-only to this project
2023-02-09 13:34:06 -08:00
Clayton Craft
731a805a9e
getBinaryDeps: properly handle circular lib dependencies
...
This moves the recursive bit outside of getBinaryDeps and properly
handles circular dependencies.
1.6.1
2023-02-09 12:42:06 -08:00
Clayton Craft
b90624d7dd
getBinaryDeps: move recursive bit to new function
2023-02-09 12:41:34 -08:00
Oliver Smith
2a75cf9b4e
getInitfsExtraFiles: add scripts from hooks-extra (MR 27)
...
Put scripts from /etc/postmarketos-mkinitfs/hooks-extra into the extra
initramfs instead of the regular one, similar to how it is possible with
files listed in /etc/postmarketos-mkinitfs/files-extra.
This way we will be able to launch hooks not only very early in the
initramfs as it's currently the case. But also later on after the
initramfs-extra was extracted, and more files are available. ondev2 will
make use of this feature.
1.6
2023-01-17 08:12:03 +01:00
Oliver Smith
d52cc16c88
getBinaryDeps: search in /usr/lib/expect* (MR 28)
...
Instead of only searching for shared libraries in /usr/lib and /lib,
also search in /usr/lib/expect* (currently the expect binary links
against /usr/lib/expect5.45.4/libexpect5.45.4.so).
I've also considered searching /usr/lib recursively, but that would be a
major performance hit.
Expect gets added to the initramfs-extra in a script that runs the
ondev2 testsuite inside qemu.
2023-01-16 22:55:36 -08:00