]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
Changed package format and updated bash scripts.
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 29 May 2009 09:03:52 +0000 (11:03 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 29 May 2009 09:03:52 +0000 (11:03 +0200)
lfs/Config
src/pakfire/compressor
src/pakfire/decompressor

index 23fad155215f4be8c24f9955448b6552459c498a..f3f26587e219d1b1834a961faf77f93341b3a93c 100644 (file)
@@ -69,7 +69,7 @@ CONFIGURE_ARCH = \
        --build=$(IFS_TARGET) \
        --host=$(IFS_TARGET)
 
-PKG_PACKAGE=$(PKG_NAME)-$(PKG_VER)-$(SNAME)$(PKG_REL).$(TARGET).ipk
+PKG_PACKAGE=$(LFS_FILE)-$(PKG_VER)-$(SNAME)$(PKG_REL).$(TARGET).ipk
 
 IMAGE_FILE  = $(IMAGES_DIR)/$(SNAME)-$(VERSION).sfs
 
@@ -119,6 +119,13 @@ endef
 define DO_PACKAGE
        NAME=$(NAME) SNAME=$(SNAME) VERSION=$(VERSION) KVER=$(KVER) \
        TARGET=$(TARGET) MACHINE=$(MACHINE) IFS_TARGET=$(IFS_TARGET) \
+       PKG_BUILD_DEPS="$(BUILD_DEPS)" PKG_CORE="$(CORE)" \
+       PKG_DEBUG="$(DEBUG)" PKG_DEPS="$(DEPS)" PKG_EXTRA="$(EXTRA)" \
+       PKG_GROUP="$(GROUP)" PKG_LICENSE="$(LICENSE)" PKG_MAINTAINER="$(MAINTAINER)" \
+       PKG_NAME="$(PKG_NAME)" PKG_VER="$(PKG_VER)" PKG_REL="$(PKG_REL)" \
+       PKG_SHORT="$(value SHORT_DESC)" PKG_URL="$(URL)" \
+       CONTROL_PREIN="$(value CONTROL_PREIN)" CONTROL_PREUN="$(value CONTROL_POSTUN)" \
+       CONTROL_POSTIN="$(value CONTROL_POSTIN)" CONTROL_POSTUN="$(value CONTROL_POSTIN)" \
                $(DIR_SOURCE)/pakfire/compressor $(PKG_PACKAGE) $$ROOTFILE
 endef
 
index 351baa1cd69575f7b98f94f149c0ba52299a0527..8750da18e92f14ea794ce010f10ec304db2dcb4d 100755 (executable)
@@ -49,6 +49,8 @@ if [ -e "/packages/$PKG_TARGET" ]; then
 fi
 
 ARCHIEVE=$(mktemp)
+CONTROL=$(mktemp)
+INFO=$(mktemp)
 TMP_DIR=$(mktemp -d)
 
 for rootfile in $ROOTFILES; do
@@ -60,10 +62,67 @@ done
 
 cd $TMP_DIR
 
-find . | cpio -o --quiet | lzma -czv - > $ARCHIEVE
+find . | cpio -o -H newc --quiet | lzma -czv - > $ARCHIEVE
+
+cat <<EOF >$INFO
+### $NAME package
+
+BUILD_HOST="$(cat /proc/sys/kernel/hostname)"
+BUILD_DATE="$(date -u)"
+
+# Version info
+PKG_NAME="$PKG_NAME"
+PKG_VER="$PKG_VER"
+PKG_REL="$PKG_REL"
+PKG_GROUP="$PKG_GROUP"
+
+PKG_MAINTAINER="$PKG_MAINTAINER"
+PKG_LICENSE="$PKG_LICENSE"
+
+PKG_SUMMARY="$PKG_SHORT"
+PKG_DESCRIPTION="$PKG_LONG"
+
+# Dependency info
+PKG_DEPS="$PKG_DEPS"
+PKG_BUILD_DEPS="$PKG_BUILD_DEPS"
+
+PKG_DATA_SHA1="$(sha1sum $ARCHIEVE | awk '{ print $1 }')"
+
+###
+EOF
+
+cat <<EOF >$CONTROL
+#!/bin/sh
+
+function prein() {
+$CONTROL_PREIN
+}
+
+function preun() {
+$CONTROL_PREUN
+}
+
+function postin() {
+$CONTROL_POSTIN
+}
+
+function postun() {
+$CONTROL_POSTUN
+}
+
+###
+EOF
+
+rm -rf $TMP_DIR/*
+
+cat $ARCHIEVE > $TMP_DIR/data.img
+cat $CONTROL  > $TMP_DIR/control
+cat $INFO     > $TMP_DIR/info
+
+find . | cpio -o -H newc --quiet > $ARCHIEVE
 
 cat $ARCHIEVE > /packages/$PKG_TARGET
 
 echo "Done."
 
-rm -rf $ARCHIEVE $TMP_DIR
+rm -rf $ARCHIEVE $CONTROL $INFO $TMP_DIR
index 75bc101f217e04c32d5dd7cfaad8fd6193db0ff7..a79d9b52314ff6a85786d9ceb518d118dceff6fb 100755 (executable)
@@ -55,5 +55,6 @@ FILES=$(for i in $FILES; do echo $i; done | sort -u)
 
 for file in $FILES; do
        echo "Extracting $file..."
-       lzma -cd $file | cpio -diu --no-absolute-filenames --quiet
+       cpio --extract --quiet --to-stdout data.img < $file | lzmadec | \
+               cpio -diu --no-absolute-filenames --quiet
 done