1
0
Fork 0
mirror of https://github.com/pygos/build.git synced 2024-11-24 20:10:42 +01:00
Commit graph

39 commits

Author SHA1 Message Date
0ef38e31ee cleanup: new pkg tool can be built with default root/repodir
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-06-10 17:03:06 +02:00
5bc2523af5 Create regular package for root filesystem, use pkg2sqfs in release
This commit overhauls the rootfs package to create a regular package
for the root filesystem instead of creating a packaged squashfs. The
release packages then use pkg2sqfs to turn it into a squashfs image.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-04-18 22:02:21 +02:00
882ce4a8f4 Cleanup handling of linux packages and modules
- All linux packages generate "linux" and "linux-modules"
 - Preference mechanism is used to select the right source package
 - Rootfs depends on "linux-modules" to install the selected kernels
   modules into the squashfs image
 - The release pacakge depends on "linux" to install the appropriate
   kernel to the boot partition

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-31 16:46:50 +02:00
01256c6ab9 Bump pkg-utils version
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-09 15:26:29 +01:00
31ca494ce8 cleanup: remove /usr/root setup from rootfs package
Add root home directory to basefiles, make every package that
touches /etc/skel also provide defaults for root home.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-07 20:15:08 +01:00
26a9b8002f Cleanup rootfs package
- move the skeleton setup stuff out of the rootfs package into a
   sperate package called "basefiles"
 - remove manual unpacking from rootfs, we already have all the dependencies
   installed in the toolchain sysroot.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-07 20:12:19 +01:00
8fa44569d8 cleanup: remove deploy directory argument from package command
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-06 10:03:12 +01:00
c8d01f966a Use pkgtool to resolve and manage dependencies, add sub package support
Been working on this for too long, don't remember the specifics, will add
documentation.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-03 17:47:02 +01:00
b7e5ce8118 Add package files for rootfs and rpi3 bootup files
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-03 17:47:02 +01:00
d2432c1d1e Use pkg for managing binaries and their dependencies
- rewrite the rootfs_files.txt listings to the format used by pkg
 - create package files from each package
 - use "pkg install" to manage installation of packages and dependencies
   into the rootfs and initrd staging dirs

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
2019-03-03 17:47:02 +01:00
David Oberhollenzer
62345ef7bb Cleanup nginx user and directory setup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-10-07 16:35:25 +02:00
David Oberhollenzer
51a2c5ea17 Fix permissions for root user home directory
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-09-15 20:25:27 +02:00
David Oberhollenzer
d515f0dde2 Minor default settings cleanup
- Add 'rm -I' and 'cp -i' aliases to bashrc
 - Make sure tmpfsvar creates the log files that the login program expects
 - Restore 'tty' group; some scripts actually rely on that

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-09-15 16:01:06 +02:00
David Oberhollenzer
79ac5f1293 Propperly handle symlinks to directories in rootfs package
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-09-08 14:51:52 +02:00
David Oberhollenzer
9684f7bb92 Cleanup users and groups
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-08-19 15:57:06 +02:00
David Oberhollenzer
39c0c2c98d Handle boot files via regular rootfs package machanisms
Just install the kernel package to the rootfs /boot directory and add a step
to the rootfs package to move /boot data out of the squasfs image.

Add linux package as regular dependency to the rootfs.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-07-15 16:19:44 +02:00
David Oberhollenzer
2c73c4b9c6 Make sure local DNS queries are resolved by dnsmasq
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-19 18:33:30 +02:00
David Oberhollenzer
90b2586ea4 Restructure assembly of root filesystem image
Every package now has or generates a rootfs_files.txt containing a list
of files that should be packed into the rootfs, their permissions and
their owner.

This gives us fine grained controll over the owners and permissions of the
rootfs files (by generating a squashfs pseudo file).

In subsequent steps, this allows us to remove the deploy/devdeploy split and
actually simplifiy most of the build scripts.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-06-17 20:22:10 +02:00
David Oberhollenzer
b1bdce20a9 Add automatic update chacking script
Crunch project websites and try to find the latest version for each
package without having to do the work manually.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-05-08 15:01:23 +02:00
David Oberhollenzer
b7de7a0ccb cleanup: remove w flag from all read only files
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-20 13:24:36 +02:00
David Oberhollenzer
2df0ef2945 cleanup: remove /opt and /srv from default filesystem
Let packages decide if they want to install something to /opt or /srv,
but there is no reason to have empty directories by default in the read
only root filesystem.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-20 13:24:30 +02:00
David Oberhollenzer
7f5f64978d cleanup: restructure user directories
Instead of having an overlay mounted /root in the root filesystem,
move it to the other user directories, i.e. /usr/root.

We then overlay mount the entire /usr directory. This still allows
us to mount /usr from somewhere else if we wish, but cleans
up/simplifies the filesystem for now and implements some default
management of general user directories.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-04-20 13:24:24 +02:00
David Oberhollenzer
94cc2d2c46 Implement board/product config schema
- build needs a pair of product and board name
 - some products can only be built for some boards
 - Config files in product/<name> directory override those in board/<name>
 - For some config files, like LDPATH or ROOTFS, the files are merged
 - product/common provides defaults

Add default config for various services:
 - Add default config for unbound
 - Add default config for dnsmasq

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-03-24 18:28:29 +01:00
David Oberhollenzer
80353cf9a3 Use xz compression for root squashfs
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-03-24 18:28:29 +01:00
David Oberhollenzer
fc0b587074 Cleanup deployed files and directories
- Remove empty directories installed to / by install targets
 - Make sure we strip everything
 - Remove charset.alias file installed by every pacakge, add
   centralized version to rootfs package

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-24 22:44:59 +01:00
David Oberhollenzer
fc278364e5 Cleanup package command arguments
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-17 03:02:16 +01:00
David Oberhollenzer
1636fc8aac Merge management of regular and toolchain packages
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-15 23:47:54 +01:00
David Oberhollenzer
5dd2790a67 Add os-name & release
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-15 13:56:16 +01:00
David Oberhollenzer
aae7925ee2 Add OpenSSH package
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-15 13:56:16 +01:00
David Oberhollenzer
ae57b55b9c Rename board configuration directory to "board"
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-09 18:06:16 +01:00
David Oberhollenzer
63fc33657d Filesystem skeleton cleanup
- move all bash related files to bash package
 - don't clutter files in package directory, structure
   in directory hierarchy

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-09 13:43:17 +01:00
David Oberhollenzer
241fcdf497 Add dummy shadow file with default password
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-08 21:07:22 +01:00
David Oberhollenzer
03881316b5 Rootfs fixup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-08 21:07:22 +01:00
David Oberhollenzer
8faea456c6 Populate /etc/passwd and /etc/group with reasonable defaults
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-02-04 17:41:46 +01:00
David Oberhollenzer
bcd68ce86a Merge base-files package with rootfs package
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer
015cb894cd Major cleanup
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer
0932c5ae0b Merge rootfs packages
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer
4039cd1c81 Move rootfs generation to dedicated packages
Add rootfs-<cfg> packages that create the skeleton system, copy
the files and create the squashfs images. Old "SQUASHFS" package
list is depends file of rootfs-<cfg> package.

This removes some of the special case code.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-30 14:02:09 +01:00
David Oberhollenzer
dbbb1889f4 Initial commit
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
2018-01-29 10:17:30 +01:00