Commit Graph

39 Commits

Author SHA1 Message Date
Tanu Kaskinen 4a6c358a6f e2fsprogs: fix compatibility with glibc 2.27
glibc 2.27 added function copy_file_range(), and e2fsprogs happens to
have a different function with the same name. The conflict made
e2fsprogs-native build fail.

Here's a backport of a fix from upstream, the fix was released in
e2fsprogs 1.43.8.

The master branch doesn't need this fix, since it has new enough
e2fsprogs version. At least rocko, pyro and morty need this, I haven't
checked older stable branches. Apparently the problematic function was
introduced in e2fsprogs version 1.43.

(From OE-Core rev: 350f2a4ad6e21acf1d357a90ba37b2c149ec7864)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 16:26:19 +01:00
Yi Zhao 02b1cc0aef e2fsprogs: fix ptest script
* Fix hardcoded path for ptest script which would cause failure on
  mulitilib:
  ls: cannot access '/usr/lib/e2fsprogs/ptest/test/[a-zA-Z]_*': No such file or directory
  ./test_script: line 54: /usr/lib/e2fsprogs/ptest/test/test_post: No such file or directory

* Add missing '$' for shell variable reference

(From OE-Core rev: 82d244a9225bd1fa512e696aae917febe051fcf9)

(From OE-Core rev: d2fc87e074ed41d265667383827c36ceb0302693)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11 22:15:58 +01:00
Daniel Schultz f38c551e6e e2fsprogs: Fix wrong error code after optimization
fsck.ext will return an error code of 1 if a file systems was checked
and successfully repaired. Even when an optimization was performed it
will return this error code.

This patch will change the error code to 0 if only optimizations had
changed the file systems.

The reason for this patch is a question I asked at the ext4 ML:
http://www.spinics.net/lists/linux-ext4/msg55700.html

Backport from git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
    Based on commit bf9f3b6d5b10d19218b4ed904c12b22e36ec57dd

(From OE-Core rev: 8341ee45d721cf07b19d50c249bb3a77ef1bf100)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:21 +00:00
Joe Slater c33aa1e088 e2fsprogs: expand @mkdir_p@ during configuration
If we do not do this, locale data will not be put
into /usr/share/locale.

(From OE-Core rev: 19b770d56d8a6db48723e0754e224aaf6de683a3)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:10 +00:00
Martin Jansa 584761577b e2fsprogs: Fix build with glibc-2.25
(From OE-Core rev: 1e8fc70596e27edca428dd78b8095e6b76aa8e58)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01 23:27:07 +00:00
Robert Yang ae5942345c e2fsprogs: 1.43.3 -> 1.43.4
* Rebased Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch.
* The mkfs.ext4dev is gone.

(From OE-Core rev: 54a012bff9430a8e973ddef61d14ac10d9ec9ed3)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-15 20:06:43 -08:00
Jackie Huang 955d6cb60f e2fsprogs: Fix missing check for permission denied.
If the path to "ROOT_SYSCONFDIR /mke2fs.conf" has a permission denied problem,
then the get_dirlist() call will return EACCES. But the code in profile_init
will treat that as a fatal error and all executions will fail with:
      Couldn't init profile successfully (error: 13).

But the problem should not really be visible for the target package as the path
then will be "/etc/mke2fs.conf", and it is not likely that a user have no
permission to read /etc.

(From OE-Core rev: 9d7c32a88e0670a09e5e1097ff8bca58e9a7943f)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-17 10:35:39 +01:00
Hongxu Jia f91a01be70 e2fsprogs: tweak mke2fs ext4 features
While e2fsprogs upgraded to 1.43, it dropped the patch
Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch,
we get it back and rebase for 1.43 to fix invoking grub-probe
failed.

Without the fix:
...
root@localhost:~# mkfs.ext4 /dev/sda3
[skip]
root@localhost:~# grub-probe --target=fs -d /dev/sda3
grub-probe: error: unknown filesystem.
...

After apply the fix:
...
root@localhost:~# mkfs.ext4 /dev/sda3
[skip]
root@localhost:~# grub-probe --target=fs -d /dev/sda3
ext2
...

(From OE-Core rev: a96ad733cf80716e26882889a130c87a78e5f576)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-01 16:22:40 +01:00
Robert Yang f221f33170 e2fsprogs: 1.42.99+1.43+git -> 1.43
* Removed patches already in the source:
  - Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch
  - xattr_ordering.patch

* COPYING -> NOTICE, the md5sum is the same.

* e2fsprogs_git.bb -> e2fsprogs_1.43..bb

(From OE-Core rev: e0531174119bff21e9014b95ed1bbd0e1c01af26)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-15 08:35:00 +01:00
Jonathan Liu f11de9d205 e2fsprogs: do not enable non-stable features by default
(From OE-Core rev: 092984669d8590627cfb188a0aa00244e22c4671)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-03 10:49:00 +00:00
Richard Purdie 120a1605eb e2fsprogs: Update to upstream version of a patch
Switch to the upstream version of the xattr patch.

(From OE-Core rev: 631217cc3cb15a7ec4f3cdf6e8d1ff67de2a72b3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15 16:28:45 +00:00
Richard Purdie d1496b4cc4 e2fsprogs: Fix multiple xattr handling
There is an ordering issue when adding multiple xattr values to
an ext filesystem build using the -d option to mkfs. This patch
fixes that issue. Its been posted for discussion with the upstream
community.

(From OE-Core rev: 4b579c1f13ba20198a390629cd099d8ad470ba32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:43 +00:00
Robert Yang 8c3276ecea e2fsprogs: 1.42.9 -> 1.43 (master)
Upgrade to 1.43 (master) to make "mke2fs -d" support xattr, so that the
layer which requires xattr such as meta-selinux can populate images
easily.

* Remove the following patches since they are alredy in the source.
  0001-e2fsprogs-fix-cross-compilation-problem.patch
  0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch
  0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch
  0002-misc-create_inode.c-copy-files-recursively.patch
  0003-misc-create_inode.c-create-special-file.patch
  0004-misc-create_inode.c-create-symlink.patch
  0005-misc-create_inode.c-copy-regular-file.patch
  0006-misc-create_inode.c-create-directory.patch
  0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch
  0008-mke2fs.c-add-an-option-d-root-directory.patch
  0009-misc-create_inode.c-handle-hardlinks.patch
  0010-debugfs-use-the-functions-in-misc-create_inode.c.patch
  0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch
  0012-Fix-musl-build-failures.patch
  CVE-2015-0247.patch
  copy-in-create-hardlinks-with-the-correct-directory-.patch
  fix-icache.patch
  misc-mke2fs.c-return-error-when-failed-to-populate-fs.patch

* Remove cache_inode.patch since it is not needed any more

* Updated mkdir.patch and ptest.patch

* Add --enable-libblkid to EXTRA_OECONF since libblkid is not created by
  default.

* Time of core-image-sato-sdk do_rootfs:
  - Before upgrade
    real    3m18.508s
    user    7m42.088s
    sys     1m1.984s

  - After upgrade
    real    3m21.552s
    user    7m38.496s
    sys     1m0.644s

   The are nearly the same

* The "fsck -f" shows the image is OK, and also can boot.

[YOCTO #8622]

(From OE-Core rev: a1f235ad736d322bb50eb4a4293b6b2f4e5200aa)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:03 +00:00
Mariano Lopez e5c011b041 Add "CVE:" tag to current patches in OE-core
The currnet patches in OE-core doesn't have the "CVE:"
tag, now part of the policy of the patches.

This is patch add this tag to several patches. There might
be patches that I miss; the tag can be added in the future.

(From OE-Core rev: 065ebeb3e15311d0d45385e15bf557b1c95b1669)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:32 +00:00
Robert Yang c1d5e89790 e2fsprogs: backport a patch to fix filetype for hardlink
Backport a patch to fix hardlinks filetype:
IMAGE_INSTALL_append = " e2fsprogs"
$ ./tmp/sysroots/x86_64-linux/sbin/fsck.ext4 tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 -f
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Setting filetype for entry 'fsck.ext2' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext4' in /sbin (80) to 1.
Setting filetype for entry 'fsck.ext4' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext4dev' in /sbin (80) to 1.
Setting filetype for entry 'fsck.ext3' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext2' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext3' in /sbin (80) to 1.
Setting filetype for entry 'e2fsck' in /sbin (80) to 1.
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

test.img: ***** FILE SYSTEM WAS MODIFIED *****
test.img: 799/65536 files (0.1% non-contiguous), 14652/262144 blocks

Now when run it again, we may get:
[snip]
Pass 3A: Optimizing directories
[snip]
test.img: ***** FILE SYSTEM WAS MODIFIED *****
test.img: 799/65536 files (0.1% non-contiguous), 14652/262144 blocks

This is fine since it is optimizing, from "man e2fsck":
e2fsck may sometimes optimize a few directories --- for example, if
directory indexing is enabled and a directory is not indexed and would
benefit from being indexed, or if the index structures are corrupted
and need to be rebuilt.

[YOCTO #8544]

(From OE-Core rev: 02ad8e3c32656a74fa82284105706ae67e5108f3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:28 +00:00
Ross Burton 1c914a844b meta: Fix Upstream-Status statements
Fix a variety of problems such as typos, bad punctuations, or incorrect
Upstream-Status values.

(From OE-Core rev: bd220fe6ce8c3a0805f13a14706d3130ea872604)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-12 23:01:53 +01:00
Roy Li 3176510ee7 e2fsprogs: fix the CVE-2015-1572
Backport a patch to fix CVE-2015-1572
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-1572

(From OE-Core rev: 203e1024cc7517cad28423cc04f641376cc8f2f5)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-07 13:40:37 +01:00
Dmitry Eremin-Solenikov 869a770ba4 e2fsprogs: add ptest
Enable ptest for e2fsprogs by reusing provided testsuite.

(From OE-Core rev: 47edd33cf8df3ebbfd5164136fb79ac831f01286)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-21 07:20:24 +01:00
Sona Sarmadi 4811b04f12 e2fsprogs: CVE-2015-0247
Fixes a heap buffer overflow in lib/ext2fs/openfs.c which allows
a trivial arbitrary memory write under certain conditions.

References
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/?id=f66e6ce4
http://www.ocert.org/advisories/ocert-2015-002.html

(From OE-Core rev: 572437720b6698a3a10627fcd9654ef10f827836)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:07 +00:00
Richard Purdie efa7c29a12 e2fsprogs: Add a patch to speedup mkfs
See the patch description, this adds a tweak to an algorithm to improve
core-image-sato-sdk mkfs time from over 8 minutes to about 35s.

Needs discussion upstream but seems reasonable for our uses of it.

(From OE-Core rev: 468fa9a7fac86bb0fcd3cbd18dc1492b57ca25f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Ross Burton 5dc9a8f407 e2fsprogs: update acinclude.m4
Some macros have been added upstream and were not being executed, so refresh our
fork of this file.

(From OE-Core rev: 6988baed623c507aa44164801c5359411f462d84)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:55 +01:00
Paul Barker cb860e1543 e2fsprogs: Backport fixes for building with musl
Both of these fixes have been applied upstream and improve general code
correctness.  They are needed when building with TCLIBC=musl but shouldn't cause
any harm with other libc implementations.

(From OE-Core rev: 23a533908355b7bb37ce34b073ac91aa20c5776d)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:26:09 +01:00
Robert Yang 21a3ffb2dc e2fsprogs: return error when failed to populate fs
We need return retval when "mke2fs -d" failed, otherwise the "$?" would
be 0 which is misleading.

[YOCTO #6011]

(From OE-Core rev: 46896b601c1c93e276954b674aa30b8b4dc4f611)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 12:05:51 +00:00
Chen Qi 7a8f3c783e e2fsprogs: fix cross compilation problem
When compiling e2fsprogs for qemumips64, we got compilation errors.
The root cause is that parse-types.sh script would fail for mips64.

However, the type size checking in parse-types.sh doesn't make much
sense in case of cross compilation. This is because that the typedef
statements in asm_types.h are for the target machine while the generated
binary in parse-types.sh script is executed on build machine.

This patch fixes such problem.

(From OE-Core rev: 45877518e2d277c63d5a561408fbfcd4cb5a2a76)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-11 09:30:13 -07:00
Robert Yang 4b293da596 e2fsprogs: populate-extfs.sh: remove it
Remove it since we don't need it anymore, and there is one inside the
e2fsprogs.

[YOCTO #4083]

(From OE-Core rev: f3a95ca6886b55e5819b068bdbd2cceb882d91a6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang b7afd101b8 e2fsprogs: mke2fs: update the manual for the -d option
Update the manual for the -d option

[YOCTO #4083]

(From OE-Core rev: 506774e828dff576ac91e8d328d8e84e58455147)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang 8f0ef728f9 e2fsprogs: debugfs: use the functions in misc/create_inode.c
* Use the functions in misc/create_inode.c, and remove the duplicated
  code.

* The CREATE_INODE_DEPS in the debugfs/Makefile.in is used for recording
  create_inode.o's depends which is from misc/Makefile.in, we have to
  recompile create_inode.o because we need it to print more messages when
  it is used by debugfs, just like we recompile e2freefrag.o, but it seems
  that the e2freefrag.o's depends in debugfs/Makefile.in is incorrect, it
  would not rebuild when its depends (e.g.: lib/config.h) is changed,
  which would cause unexpected errors. Make duplicated code in
  debugfs/Makefile.in and misc/Makefile.in is not a good idea, maybe we'd
  better define CREATE_INODE_DEPS in the top Makefile, I'd like to send
  another patch and fix the e2freefrag if you are fine with it.

[YOCTO #4083]

(From OE-Core rev: 460f577379ef2ecf42fb8b7f855c21400c276d4f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang b489b945bd e2fsprogs: mke2fs: handle hardlinks
Create the inode and save the native inode number when we meet the hard
link (st_nlink > 1) at the first time, use ext2fs_link() to link the
name to the target inode number when we meet the same native inode
number again.

This algorithm is referred from the genext2fs.

[YOCTO #4083]

(From OE-Core rev: 174ec622bdc00fc26392704fdadeac2c067a33f6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang 90749060f0 e2fsprogs: mke2fs: add an option: -d root-directory
This option is used for adding the files from a given directory (the
root-directory) to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.

[YOCTO #4083]

(From OE-Core rev: 83357ef1f6797e48de4870ccd552951b0efb3b53)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang 8b1553e9e9 e2fsprogs: mke2fs: set owner/mode/time for the inode
Set the uid, gid, mode and time for inode.

[YOCTO #4083]

(From OE-Core rev: 4039dfc38241418d10e5255725ffa9dc5c948815)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang bc5d73d67b e2fsprogs: mke2fs: create directory
The do_mkdir_internal() is used for making dir on the target fs, most of
the code are from debugfs/debugfs.c, the debugfs/debugfs.c will be
modified to use this function.

[YOCTO #4083]

(From OE-Core rev: 30b6ad5067d7a1514c02994c31baf6ec4e5fbcb7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang 243cc2b9ff e2fsprogs: mke2fs: copy regular file
The do_write_internal() is used for copying file from native fs to
target, most of the code are from debugfs/debugfs.c, the
debugfs/debugfs.c will be modified to use this function.

[YOCTO #4083]

(From OE-Core rev: e9a82af1581bcf357dd771765b20c8a16a4ffeb1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang ad2f1c3040 e2fsprogs: mke2fs: create symlink
The do_symlink_internal() is used for creating symlinks, most of the
code are from debugfs/debugfs.c, the debugfs/debugfs.c will be modified
to use this function.

[YOCTO #4083]

(From OE-Core rev: 367948c87c682953e98015656814b89b64004c26)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang c93421a398 e2fsprogs: mke2fs: create special file
The do_mknod_internal() is used for creating special file which is
block, character and fifo, most of the code are from debugfs/debugfs.c,
the debugfs/debugfs.c will be modified to use this function.

[YOCTO #4083]

(From OE-Core rev: dcb86f12691b346262c0aadbe5b2f3671b4ecd22)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang d8409f8f71 e2fsprogs: mke2fs: copy files recursively
Use opendir() and readdir() to read the native directory, then use
lstat() to identify the file type and call the corresponding function to
add the file to the filesystem, call the populate_fs() recursively if it
is a directory.

NOTE: the libext2fs can't create the socket file.

[YOCTO #4083]

(From OE-Core rev: fd0d00dafcf497f23b1c3886d062c8a57e2aa515)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang 6779ab69fc e2fsprogs: mke2fs: add the ability to copy files from a given directory
We will add a -d option which will be used for adding the files from a
given directory to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.

* We already have the basic operations in debugfs:
  - Copy regular file
  - Create directory
  - Create symlink
  - Create special file

  We will move these operations into create_inode.h and create_inode.c,
  then let both mke2fs and debugfs use them.

* What we need to do are:
  - Copy the given directory recursively, this will be done by the
    populate_fs()
  - Set the owner, mode and other informations
  - Handle the hard links

TODO:
  - The libext2fs can't create the socket file (S_IFSOCK), do we have a
    plan to support it ?

[YOCTO #4083]

(From OE-Core rev: f050c510b070d919d50e491476e83f2b0ae2b7b2)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Richard Purdie d11d782b33 Revert "e2fsprogs/populate-extfs.sh: fix a problem on dash"
This reverts commit 22f90c5aec4f0b0360d1d960226f9965d83d589b.

This causes build failures with:

| dirname: missing operand
| Try 'dirname --help' for more information.

under some circumstances.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-23 10:29:36 +00:00
Robert Yang 4b62d9fc03 e2fsprogs/populate-extfs.sh: fix a problem on dash
The dash can't handle the or [[ in parameter expansion, for example:

A=/usr/bin/[[
B=[[
C="${A%$B}"

The C should be "/usr/bin" in common, but it will be /usr/bin/[[ on
dash, use dirname to fix it.

NOTE:
There are 3 lines about parameter expansion, only fix the
DIR="${DIR%$TGT}" since the other 2 works will and are very useful in
this case.

[YOCTO #5712]

(From OE-Core rev: 22f90c5aec4f0b0360d1d960226f9965d83d589b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-21 10:45:28 +00:00
Robert Yang 63281708fa e2fsprogs: upgrade to 1.42.9
* Upgrade to 1.42.9
* Remove the following patches since they have been merged/fixed by
  upstream:
  - debugfs-extent-header.patch
  - debugfs-sparse-copy.patch
  - debugfs-too-short.patch
  - e2fsprogs-fix-tests-f_extent_oobounds.patch
  - fallocate.patch

* The populate-extfs.sh had been merged by the upstream, but I'd like to
  go on using the previous one which is from our meta layer, they are a
  little different, and the script would be dropped when we use the mke2fs
  to populate the rootfs.

* Sumitted the patch for populate-extfs.sh (from Søren Holm) to upstream.

* Submitted fix-icache.patch to upstream, I wrongly thought it was not
  applicable to the upstream, but it does.

* Join the do_install() and do_install_append() together.

(From OE-Core rev: 82cc941128f9eaf57c3a9a648fc58227f6c1956c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-06 11:13:57 +00:00