[elbe-devel] [PATCH] Add squashfs support
Manuel Traut
manut at linutronix.de
Tue Apr 21 08:53:10 CEST 2015
Hi Richard,
das schaut soweit korrekt aus. Danke!
Krieg ich noch eine commit-message?
Gruss,
Manuel
On 15:45 Mon 20 Apr , Richard Weinberger wrote:
> Signed-off-by: Richard Weinberger <richard at nod.at>
> ---
> debian/control | 3 ++-
> elbepack/dbsfed.xsd | 26 +++++++++++++++++++++++++-
> elbepack/filesystem.py | 12 ++++++++++++
> 3 files changed, 39 insertions(+), 2 deletions(-)
>
> diff --git a/debian/control b/debian/control
> index ed13ef7..23925c8 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -85,7 +85,8 @@ Depends: ${misc:Depends},
> qemu-user-static,
> reprepro,
> rsync,
> - kpartx
> + kpartx,
> + squashfs-tools
> Recommends: elbe-daemon (= ${binary:Version}),
> elbe-soap (= ${binary:Version})
> Description: ELBE build environment
> diff --git a/elbepack/dbsfed.xsd b/elbepack/dbsfed.xsd
> index 21b158b..5d3e9ac 100644
> --- a/elbepack/dbsfed.xsd
> +++ b/elbepack/dbsfed.xsd
> @@ -667,7 +667,7 @@
> <element name="package" type="rfs:package" minOccurs="0" maxOccurs="1">
> <annotation>
> <documentation>
> - package rootfilesystem as a tarball or cpio image
> + package rootfilesystem as a tarball, cpio or a squashfs image
> </documentation>
> </annotation>
> </element>
> @@ -1192,6 +1192,13 @@
> </documentation>
> </annotation>
> </element>
> + <element name="squashfs" type="rfs:squashfs" minOccurs="0">
> + <annotation>
> + <documentation>
> + squashfs image of the rootfilesystem
> + </documentation>
> + </annotation>
> + </element>
> </sequence>
> </complexType>
>
> @@ -1236,6 +1243,23 @@
> </sequence>
> </complexType>
>
> + <complexType name="squashfs">
> + <annotation>
> + <documentation>
> + describes a squashfs image
> + </documentation>
> + </annotation>
> + <sequence>
> + <element name="name" type="string" minOccurs="0">
> + <annotation>
> + <documentation>
> + filename of the squashfs image
> + </documentation>
> + </annotation>
> + </element>
> + </sequence>
> + </complexType>
> +
> <complexType name="partition">
> <annotation>
> <documentation>
> diff --git a/elbepack/filesystem.py b/elbepack/filesystem.py
> index f34fb34..49c64b8 100644
> --- a/elbepack/filesystem.py
> +++ b/elbepack/filesystem.py
> @@ -441,6 +441,18 @@ class TargetFs(ChRootFilesystem):
> # error was logged; continue
> pass
>
> + if self.xml.has("target/package/squashfs"):
> + oldwd = os.getcwd()
> + sfs_name = self.xml.text("target/package/squashfs/name")
> + os.chdir(self.fname(''))
> + try:
> + self.log.do("mksquashfs %s %s/%s -noappend -no-progress" % (self.fname(''), targetdir, sfs_name))
> + # only append filename if creating mksquashfs was successful
> + self.images.append (sfs_name)
> + except CommandError as e:
> + # error was logged; continue
> + pass
> +
> class BuildImgFs(ChRootFilesystem):
> def __init__(self, path, interpreter):
> ChRootFilesystem.__init__(self, path, interpreter)
> --
> 2.3.5
>
>
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://linutronix.de/mailman/listinfo/elbe-devel
--
Linutronix GmbH
fon +49 7556 452 18 96
Firmensitz: D-88690 Uhldingen, Auf dem Berg 3
Registergericht: Freiburg i. Br., HRB 700 806;
Geschäftsführer: Heinz Egger, Thomas Gleixner
More information about the elbe-devel
mailing list