mirror of
https://github.com/pygos/build.git
synced 2024-11-25 20:30:43 +01:00
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>
This commit is contained in:
parent
cdc4d8710e
commit
5bc2523af5
4 changed files with 34 additions and 25 deletions
|
@ -2,9 +2,10 @@ DEPENDS="rootfs linux"
|
||||||
SUBPKG="release"
|
SUBPKG="release"
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
pkg install -om -r "$PKGBUILDDIR/$OS_RELEASE" -R "$REPODIR" $DEPENDS
|
pkg install -om -r "$PKGBUILDDIR/$OS_RELEASE" -R "$REPODIR" linux
|
||||||
|
pkg2sqfs -c xz "$REPODIR/rootfs.pkg" "$OS_RELEASE/rootfs.img"
|
||||||
|
|
||||||
# copy additional files from this package, subsitute filenames
|
# copy helper scripts
|
||||||
local linux_image="$OS_RELEASE/vmlinuz"
|
local linux_image="$OS_RELEASE/vmlinuz"
|
||||||
local rootfs_image="$OS_RELEASE/rootfs.img"
|
local rootfs_image="$OS_RELEASE/rootfs.img"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@ DEPENDS="rootfs linux"
|
||||||
SUBPKG="release"
|
SUBPKG="release"
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
pkg install -om -r "$PKGBUILDDIR/$OS_RELEASE" -R "$REPODIR" $DEPENDS
|
pkg install -om -r "$PKGBUILDDIR/$OS_RELEASE" -R "$REPODIR" linux
|
||||||
|
pkg2sqfs -c xz "$REPODIR/rootfs.pkg" "$OS_RELEASE/rootfs.img"
|
||||||
|
|
||||||
# copy helper scripts
|
# copy helper scripts
|
||||||
local linux_image="vmlinuz"
|
local linux_image="vmlinuz"
|
||||||
|
|
|
@ -2,7 +2,9 @@ DEPENDS="rootfs boot-rpi boot-rpi-dtbo boot-rpi-dtb linux"
|
||||||
SUBPKG="release"
|
SUBPKG="release"
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
pkg install -om -r "$PKGBUILDDIR/boot" -R "$REPODIR" $DEPENDS
|
pkg install -om -r "$PKGBUILDDIR/boot" -R "$REPODIR" \
|
||||||
|
boot-rpi boot-rpi-dtbo boot-rpi-dtb linux
|
||||||
|
pkg2sqfs -c xz "$REPODIR/rootfs.pkg" "boot/rootfs.img"
|
||||||
|
|
||||||
# copy files from this package
|
# copy files from this package
|
||||||
cp "$SCRIPTDIR/pkg/$PKGNAME/install.sh" "$PKGBUILDDIR"
|
cp "$SCRIPTDIR/pkg/$PKGNAME/install.sh" "$PKGBUILDDIR"
|
||||||
|
|
|
@ -1,40 +1,45 @@
|
||||||
DEPENDS=$(cat_file_merge "ROOTFS" | sort -u)
|
DEPENDS=$(cat_file_merge "ROOTFS" | sort -u)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
# generate pseudo file listing for squashfs
|
local listing="$PKGDEPLOYDIR/$PKGNAME.files"
|
||||||
pkg install -l sqfs -R "$REPODIR" -r "$TCDIR/$TARGET" $DEPENDS |\
|
local desc="$PKGDEPLOYDIR/$PKGNAME.desc"
|
||||||
sort -u > "$PKGDEPLOYDIR/pseudo"
|
|
||||||
|
# generate package description and file listing
|
||||||
|
pkg install -l pkg -R "$REPODIR" -r "$TCDIR/$TARGET" $DEPENDS |\
|
||||||
|
sort -u > "$listing"
|
||||||
|
|
||||||
|
touch "$desc"
|
||||||
|
|
||||||
# move configuration to preserve directory
|
# move configuration to preserve directory
|
||||||
mkdir -pv "$TCDIR/$TARGET/cfg/preserve" "$TCDIR/$TARGET/cfg/overlay"
|
mkdir -pv "$TCDIR/$TARGET/cfg/preserve" "$TCDIR/$TARGET/cfg/overlay"
|
||||||
|
|
||||||
echo <<_EOF >> "$PKGDEPLOYDIR/pseudo"
|
|
||||||
cfg m 755 0 0
|
|
||||||
cfg/preserve m 755 0 0
|
|
||||||
cfg/preserve/etc m 755 0 0
|
|
||||||
cfg/preserve/usr m 755 0 0
|
|
||||||
cfg/preserve/var_lib m 755 0 0
|
|
||||||
cfg/overlay m 755 0 0
|
|
||||||
_EOF
|
|
||||||
|
|
||||||
mv "$TCDIR/$TARGET/etc" "$TCDIR/$TARGET/cfg/preserve/etc"
|
mv "$TCDIR/$TARGET/etc" "$TCDIR/$TARGET/cfg/preserve/etc"
|
||||||
mv "$TCDIR/$TARGET/usr" "$TCDIR/$TARGET/cfg/preserve/usr"
|
mv "$TCDIR/$TARGET/usr" "$TCDIR/$TARGET/cfg/preserve/usr"
|
||||||
mv "$TCDIR/$TARGET/var/lib" "$TCDIR/$TARGET/cfg/preserve/var_lib"
|
mv "$TCDIR/$TARGET/var/lib" "$TCDIR/$TARGET/cfg/preserve/var_lib"
|
||||||
rm -rf "$TCDIR/$TARGET/var"
|
rm -rf "$TCDIR/$TARGET/var"
|
||||||
|
|
||||||
mkdir -p $TCDIR/$TARGET/{etc,var,usr}
|
sed -i 's#etc/#cfg/preserve/etc/#g' "$listing"
|
||||||
|
sed -i 's#var/lib/#cfg/preserve/var_lib/#g' "$listing"
|
||||||
|
sed -i 's#usr/#cfg/preserve/usr/#g' "$listing"
|
||||||
|
|
||||||
sed -i 's#etc/#cfg/preserve/etc/#g' "$PKGDEPLOYDIR/pseudo"
|
egrep -v "^(dir|file|slink) (var|etc|usr)" "$listing" > "./temp"
|
||||||
sed -i 's#var/lib/#cfg/preserve/var_lib/#g' "$PKGDEPLOYDIR/pseudo"
|
mv "./temp" "$listing"
|
||||||
sed -i 's#usr/#cfg/preserve/usr/#g' "$PKGDEPLOYDIR/pseudo"
|
|
||||||
|
cat <<_EOF >> "$listing"
|
||||||
|
dir etc 0755 0 0
|
||||||
|
dir var 0755 0 0
|
||||||
|
dir usr 0755 0 0
|
||||||
|
dir cfg 0755 0 0
|
||||||
|
dir cfg/preserve 0755 0 0
|
||||||
|
dir cfg/preserve/etc 0755 0 0
|
||||||
|
dir cfg/preserve/usr 0755 0 0
|
||||||
|
dir cfg/preserve/var_lib 0755 0 0
|
||||||
|
dir cfg/overlay 0755 0 0
|
||||||
|
_EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
deploy() {
|
deploy() {
|
||||||
mksquashfs "$TCDIR/$TARGET" "$PKGDEPLOYDIR/rootfs.img" -comp xz \
|
return
|
||||||
-no-progress -no-xattrs -pf "$PKGDEPLOYDIR/pseudo"
|
|
||||||
|
|
||||||
rm "$PKGDEPLOYDIR/pseudo"
|
|
||||||
cp $SCRIPTDIR/pkg/$PKGNAME/*.{files,desc} "$PKGDEPLOYDIR"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_update() {
|
check_update() {
|
||||||
|
|
Loading…
Reference in a new issue