The class itself currently does nothing. The idea is to mark all recipes that
make use of the texinfo utilities. In the future, this class could be used to
suppress the generation/formatting of documentation for performance,
explicitly track dependencies on these utilities, and eliminate Yocto's
current dependency on the host system's texinfo utilities.
(From OE-Core rev: e6fb2f9afe2ba6b676c46d1eb297ca9cc532d405)
Signed-off-by: Max Eliaser <max.eliaser@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ext2_types.h conflicts between 32-bit and 64-bit versions.
(From OE-Core rev: e5bae3426856f9d2fdb604278154b6242011d103)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The mke2fs and e2fsck commands are regular tools of e2fsprogs, so they
should be installed.
(From OE-Core rev: a2b6610dceb0c27484d3958d84d7f491aa759a04)
Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
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>
These patches should be enabled at the same time, so enable them in a
single commit, and thus we can disable it easily.
[YOCTO #4083]
(From OE-Core rev: 671bf47101b8f7bd2e6e8b7920615f9e7837ea81)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
debugfs echos the commands when it is executing a script, but as the scripts
used at rootfs time are long this massively inflates the do_rootfs log.
Comment out the echo so that the rootfs isn't 20K lines longer than it needs to
be.
(From OE-Core rev: 13a8d3869b0fe0ebdddcee37fb48c5b9cdf718ba)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tests/f_extent_oobounds runs debugfs from the system, not from the
source tree, and if the system's debugfs doesn't have the extent_open
command it fails silently.
Use $DEBUGFS and $MKE2FS to get the in-tree executables for this test,
just like other test scripts do.
(Build machines which run make check shouldn't need to have e2fsprogs
installed, and we should be testing just-built versions of the tools
anyway)
This patch is from:
http://www.spinics.net/lists/linux-ext4/msg38880.html
Eric Sandeen had sent it to the linux-ext4 mailing list, but haven't
been merge by now.
[YOCTO #5511]
(From OE-Core rev: 22465cef87b4b1685b3b131751eaf528503b264c)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this patch filenames containing spaces do not get into the final
ext2/3/4 filsystem.
[YOCTO #5401]
(From OE-Core rev: 1350b461ed0c9d4afa1ab909a5b1ff60fb160c97)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This script is originally from Darren Hart, it will be used for creating
the ext* filesystem from a given directory, which will replace the
genext2fs in image_types.bbclass at the moment, we may use the mke2fs to
replace this script again when it has the initial directory support.
Changes of the script:
* Rename it from mkdebugfs.sh to populate-extfs.sh
* Add a simple usage
* Add checking for the number of the parameters
* Add the "regular empty file" and "fifo" file type
* Set mode, uid and gid for the file
* Save the command lines to a file and batch run them
* Change the error message
* Improve the performance
* Add the support for hardlink
[YOCTO #3848]
(From OE-Core rev: 265f91149aa8c475ebe5b7069044ed94b7857fa9)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
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>
do_write doesn't fully set up the first extent header on a new
inode, so if we write a 0-length file, and don't write any data
to the new file, we end up creating something that looks corrupt
to kernelspace:
EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm
ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0),
depth 0(0)
Do something similar to ext4_ext_tree_init() here, and
fill out the first extent header upon creation to avoid this.
[YOCTO #3848]
(From OE-Core rev: 7d1e51681d25f6e6d2c20744825723ad5c83861c)
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>
We only read the cache when:
bufsize == sizeof(struct ext2_inode)
then we should only update the cache in the same condition, otherwise
there would be errors, for example:
cache[0]: cached ino 14 when bufsize = 128 by ext2fs_write_inode_full()
cache[1]: cached ino 14 when bufsize = 156 by ext2fs_read_inode_full()
Then update the cache:
cache[0]: cached ino 15 when bufsize = 156 by ext2fs_read_inode_full()
Then the ino 14 would hit the cache[1] when bufsize = 128 (but it was
cached by bufsize = 156), so there would be errors.
[YOCTO #3848]
(From OE-Core rev: ad8452196c5b1a54c14fd00bbf421f68aea65186)
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>
Let debugfs do sparse copy when src is a sparse file, just like
"cp --sparse=auto"
This patch has been reviewed by the linux-ext4 mailing list, but isn't
merged atm.
[YOCTO #3848]
(From OE-Core rev: 723adaf8fbba61b7f1adc8e4a13ddf1cfb5c0bcf)
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>
The max length of debugfs argument is 256 which is too short, the
arguments are two paths, the PATH_MAX is 4096 according to
/usr/include/linux/limits.h, so use BUFSIZ (which is 8192 on Linux
systems), that's also what the ss library uses.
This patch has been reviewed by the linux-ext4 mailing list, but isn't
merged atm.
[YOCTO #3848]
(From OE-Core rev: a916a127768291ca7c614976e05c90153fec2956)
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>
There were darwin8/darwin9 overrides spinkled in the code from times gone
by. Lets settle on the darwin override and remove the others since its pointless
duplication. We always inject darwin into OVERRIDES if needed in the darwin8/9
cases.
(From OE-Core rev: 8d5e6eed7802a6056f9eaa50a85e3eee00fe2742)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix out of tree builds by placing built objects in the correct
location.
(From OE-Core rev: 89514049f424eddaa9e46cf4fd8c25d05a9b1c15)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- removed the usage of the patches already contained in the new version
- adapted patch remove.ldconfig.call.patch so that it applies on new version
(From OE-Core rev: 7ceba1eb102b3f855f561764833f8a7a407b7785)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This binary is provided by util-linux nowadays. Fixes:
WARNING: The recipe is trying to install files into a shared area when those files already exist. Those files are:
/fast/jenkins/workspace/.../tmp-eglibc/sysroots/x86_64-linux/sbin/findfs
(From OE-Core rev: e71c6bb75239926aceebbb53d158cbf8de6112a4)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are conflicts in the native sysroot over the fsck binary. Whilst
providing people with alternatives is good to a point, the source in util-linux
is clearly the copy which is now being maintained and moved forwards which the copy
in e2fsprogs being older and with less features.
The simplest solution is simply to no longer offer this and used the maintained
version from util-linux.
(From OE-Core rev: 98b1b9f047ef9a4aeb170ec3d588fcd41c9be89b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We've removed libblkid from e2fsprogs as it was being provided by util-linux. The blkid
binary is also provided there and providing it within e2fsprogs too, linked against
a different and potentially incompatible library we're likely asking for trouble.
It also leads to inconsistencies in the native sysroot since we don't consistently
get one given provider of blkid (but always the liblibid from util-linux).
To clean this up, fully remove/disable the blkid binary and package.
(From OE-Core rev: fb8e776ea91c39d586b46400ad30aeea8dead1c4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libext2fs is located in base_libdir, not libdir
(From OE-Core rev: 683bc278d8695ecf4c8658ab39266279c6bf26d4)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Includes minor tweaks to the formatting of some patch headers and the
addition of a SOB line where needed.
(From OE-Core rev: bb9af542bc69f417d414d92ebf46a9412944c1e1)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
${libdir} and ${base_libdir} may be the same. If they are don't try and
move files onto themselves.
(From OE-Core rev: 992604c533c9f3c2133cfa87c1121d43a508ec4a)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new install path of e2initrd_helper is %{libdir}. FILES_libext2fs modified accordigly to
avoid QA warnings.
(From OE-Core rev: 31684b34f3521e97dbfd35ff961960b9792ef657)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Koen Kooi suggested that the quotefix patch was not needed,
and the build of the recipe should now be multithread-safe.
My testing has confirmed this.
(From OE-Core rev: 731700ec390d680ee4d277312755bea0ab4aeeec)
Signed-off-by: Scott Garman <sgarman@zenlinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
e2fsprogs 1.42 onwards uses fallocate() which uclibc
does not implement(yet). In most of places its use
is controlled and it only used when configure detects
fallocate being present but in this one case it missed
to check for fallocate being available so here we
add the check
(From OE-Core rev: 1625faad281eeef3931573908c557362236dcd47)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The e2fsprogs utilities are installed into base_sbindir (/sbin)
and should not link to libraries under exec_prefix (/usr). So move
these libraries from libdir (/usr/lib) to base_libdir (/lib).
(From OE-Core rev: 90a1590f324a05f6b35b62856335aca7ba1f66c0)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add patch remove setting CC, LD and LDFLAGS on commandline
since they are passed correctly via configure. Those setting
also caused the configure information about -std=gnu99 from
being passed correctly.
Removed patch that was fixed upstream
Added scanf configuration, since this is a cross-compile target check
libuuid removed an API that e2fsprogs uuidd used (uuid__generate_*),
thus we disable it in this patch and will now provide uuidd from
util-linux.
See http://sourceforge.net/projects/e2fsprogs/forums/forum/7053/topic/4639484
(From OE-Core rev: fdaf4e791fcacb48ea430ec768ad9a6919c65ce0)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mke2fs.conf, which contains defaults for filesystem formatting options,
ought to be shipped along with mke2fs itself.
(From OE-Core rev: 8153b037411905e141350cc28f4351e21219a536)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>