From 6017bdccd1c5680a6ab90764d30474e9a9cf0cea Mon Sep 17 00:00:00 2001 From: "neo.webmaster.2@gmail.com" Date: Thu, 27 Nov 2025 12:04:31 +0100 Subject: [PATCH] Stop tracking e2fsprogs build dir --- src/_nfdos/e2fsprogs/.github/workflows/ci.yml | 116 - src/_nfdos/e2fsprogs/.gitignore | 237 - src/_nfdos/e2fsprogs/.missing-copyright | 4 - src/_nfdos/e2fsprogs/.release-checklist | 19 - src/_nfdos/e2fsprogs/ABOUT-NLS | 1379 -- src/_nfdos/e2fsprogs/Android.bp | 78 - src/_nfdos/e2fsprogs/CleanSpec.mk | 52 - src/_nfdos/e2fsprogs/INSTALL | 69 - src/_nfdos/e2fsprogs/INSTALL.elfbin | 53 - src/_nfdos/e2fsprogs/MCONFIG.in | 336 - src/_nfdos/e2fsprogs/NOTICE | 849 -- src/_nfdos/e2fsprogs/README | 19 - src/_nfdos/e2fsprogs/RELEASE-NOTES | 1 - src/_nfdos/e2fsprogs/SHLIBS | 35 - src/_nfdos/e2fsprogs/SUBMITTING-PATCHES | 39 - src/_nfdos/e2fsprogs/acinclude.m4 | 178 - src/_nfdos/e2fsprogs/config/config.guess | 1774 --- src/_nfdos/e2fsprogs/config/config.rpath | 684 - src/_nfdos/e2fsprogs/config/config.sub | 1907 --- src/_nfdos/e2fsprogs/config/ltmain.sh | 11249 ---------------- src/_nfdos/e2fsprogs/config/mkinstalldirs | 40 - src/_nfdos/e2fsprogs/config/parse-types.sh | 127 - src/_nfdos/e2fsprogs/configure.ac | 1932 --- src/_nfdos/e2fsprogs/contrib/Android.bp | 28 - .../e2fsprogs/contrib/add_ext4_encrypt.c | 64 - .../e2fsprogs/contrib/android/Android.bp | 78 - .../e2fsprogs/contrib/android/base_fs.c | 211 - .../e2fsprogs/contrib/android/base_fs.h | 17 - .../contrib/android/basefs_allocator.c | 388 - .../contrib/android/basefs_allocator.h | 16 - .../e2fsprogs/contrib/android/block_list.c | 89 - .../e2fsprogs/contrib/android/block_list.h | 8 - .../e2fsprogs/contrib/android/block_range.c | 80 - .../e2fsprogs/contrib/android/block_range.h | 29 - .../e2fsprogs/contrib/android/e2fsdroid.c | 377 - .../e2fsprogs/contrib/android/ext2simg.c | 224 - src/_nfdos/e2fsprogs/contrib/android/fsmap.c | 169 - src/_nfdos/e2fsprogs/contrib/android/fsmap.h | 29 - src/_nfdos/e2fsprogs/contrib/android/perms.c | 376 - src/_nfdos/e2fsprogs/contrib/android/perms.h | 65 - src/_nfdos/e2fsprogs/contrib/build-rpm | 45 - src/_nfdos/e2fsprogs/contrib/dconf | 118 - src/_nfdos/e2fsprogs/contrib/dir2fs | 66 - src/_nfdos/e2fsprogs/contrib/e2croncheck | 47 - src/_nfdos/e2fsprogs/contrib/ext4-ioc.c | 98 - src/_nfdos/e2fsprogs/contrib/fallocate.c | 190 - src/_nfdos/e2fsprogs/contrib/fsstress.c | 2708 ---- src/_nfdos/e2fsprogs/contrib/make-sparse.c | 91 - .../e2fsprogs/contrib/populate-extfs.sh | 105 - .../e2fsprogs/contrib/python-uuid/setup.py | 11 - .../e2fsprogs/contrib/python-uuid/test.py | 18 - .../e2fsprogs/contrib/python-uuid/uuid.c | 23 - src/_nfdos/e2fsprogs/contrib/setup-schroot | 46 - src/_nfdos/e2fsprogs/contrib/spd_readdir.c | 458 - src/_nfdos/e2fsprogs/debian/.gitignore | 1 - .../e2fsprogs/debian/attic/comerrg-dev.info | 4 - .../e2fsprogs/debian/attic/comerrg-dev.menu | 7 - .../e2fsprogs/debian/attic/e2fslibsg-dev.info | 4 - .../e2fsprogs/debian/attic/e2fslibsg-dev.menu | 4 - .../debian/attic/libs/comerr2g.files | 2 - .../e2fsprogs/debian/attic/libs/control | 114 - .../debian/attic/libs/e2fslibsg.files | 3 - src/_nfdos/e2fsprogs/debian/attic/libs/rules | 182 - .../e2fsprogs/debian/attic/libs/ss2g.files | 2 - src/_nfdos/e2fsprogs/debian/changelog | 4937 ------- .../e2fsprogs/debian/comerr-dev.doc-base | 12 - .../e2fsprogs/debian/comerr-dev.examples | 2 - .../e2fsprogs/debian/comerr-dev.install | 9 - .../e2fsprogs/debian/comerr-dev.postinst | 30 - src/_nfdos/e2fsprogs/debian/comerr-dev.postrm | 36 - .../e2fsprogs/debian/comerr-dev.preinst | 31 - src/_nfdos/e2fsprogs/debian/control | 193 - src/_nfdos/e2fsprogs/debian/copyright | 403 - .../e2fsprogs/debian/e2fsck-static.install | 2 - .../e2fsprogs/debian/e2fsck-static.preinst | 19 - .../e2fsprogs/debian/e2fsprogs-l10n.install | 1 - .../e2fsprogs/debian/e2fsprogs-udeb.install | 11 - .../debian/e2fsprogs-udeb.lintian-overrides | 2 - .../debian/e2fsprogs-udeb.shlibs.local | 6 - src/_nfdos/e2fsprogs/debian/e2fsprogs.docs | 1 - src/_nfdos/e2fsprogs/debian/e2fsprogs.install | 53 - .../debian/e2fsprogs.lintian-overrides | 1 - .../e2fsprogs/debian/e2fsprogs.postinst | 13 - .../e2fsprogs/debian/e2fsprogs.postinst.dh9 | 32 - .../e2fsprogs/debian/e2fsprogs.postrm.dh9 | 35 - src/_nfdos/e2fsprogs/debian/e2fsprogs.preinst | 19 - .../e2fsprogs/debian/e2fsprogs.shlibs.local | 2 - src/_nfdos/e2fsprogs/debian/fuse2fs.install | 2 - src/_nfdos/e2fsprogs/debian/gbp.conf | 4 - .../e2fsprogs/debian/libblkid-dev.install | 4 - src/_nfdos/e2fsprogs/debian/libblkid1.install | 1 - src/_nfdos/e2fsprogs/debian/libblkid1.symbols | 41 - .../e2fsprogs/debian/libcom-err2.install | 1 - .../e2fsprogs/debian/libcom-err2.symbols | 22 - .../e2fsprogs/debian/libext2fs-dev.doc-base | 10 - .../e2fsprogs/debian/libext2fs-dev.install | 9 - .../e2fsprogs/debian/libext2fs2.install | 2 - .../e2fsprogs/debian/libext2fs2.symbols | 707 - src/_nfdos/e2fsprogs/debian/libss2.install | 1 - src/_nfdos/e2fsprogs/debian/libss2.symbols | 36 - src/_nfdos/e2fsprogs/debian/libuuid1.install | 1 - src/_nfdos/e2fsprogs/debian/libuuid1.postinst | 40 - src/_nfdos/e2fsprogs/debian/libuuid1.postrm | 10 - src/_nfdos/e2fsprogs/debian/libuuid1.symbols | 19 - src/_nfdos/e2fsprogs/debian/logsave.install | 2 - src/_nfdos/e2fsprogs/debian/rules | 186 - .../e2fsprogs/debian/scripts/test-backtrace | 34 - src/_nfdos/e2fsprogs/debian/shlibs.local | 6 - src/_nfdos/e2fsprogs/debian/source/format | 1 - .../e2fsprogs/debian/source/lintian-overrides | 2 - src/_nfdos/e2fsprogs/debian/ss-dev.examples | 1 - src/_nfdos/e2fsprogs/debian/ss-dev.install | 7 - src/_nfdos/e2fsprogs/debian/ss-dev.postinst | 26 - src/_nfdos/e2fsprogs/debian/ss-dev.postrm | 32 - src/_nfdos/e2fsprogs/debian/ss-dev.preinst | 27 - src/_nfdos/e2fsprogs/debian/tests/control | 6 - src/_nfdos/e2fsprogs/debian/tests/fuse2fs | 37 - src/_nfdos/e2fsprogs/debian/tests/smoke | 32 - .../e2fsprogs/debian/upstream/signing-key.asc | 156 - .../e2fsprogs/debian/uuid-dev.README.Debian | 23 - src/_nfdos/e2fsprogs/debian/uuid-dev.install | 5 - .../e2fsprogs/debian/uuid-runtime.install | 4 - .../debian/uuid-runtime.lintian-overrides | 1 - .../e2fsprogs/debian/uuid-runtime.postinst | 15 - .../e2fsprogs/debian/uuid-runtime.postrm | 10 - .../e2fsprogs/debian/uuid-runtime.prerm | 10 - .../debian/uuid-runtime.shlibs.local | 1 - src/_nfdos/e2fsprogs/debian/watch | 5 - src/_nfdos/e2fsprogs/debugfs/Android.bp | 80 - src/_nfdos/e2fsprogs/debugfs/debug_cmds.ct | 233 - src/_nfdos/e2fsprogs/debugfs/debugfs.8.in | 880 -- src/_nfdos/e2fsprogs/debugfs/debugfs.c | 2682 ---- src/_nfdos/e2fsprogs/debugfs/debugfs.h | 210 - src/_nfdos/e2fsprogs/debugfs/do_journal.c | 972 -- src/_nfdos/e2fsprogs/debugfs/dump.c | 385 - src/_nfdos/e2fsprogs/debugfs/extent_cmds.ct | 77 - src/_nfdos/e2fsprogs/debugfs/extent_inode.c | 568 - src/_nfdos/e2fsprogs/debugfs/filefrag.c | 330 - src/_nfdos/e2fsprogs/debugfs/htree.c | 488 - src/_nfdos/e2fsprogs/debugfs/icheck.c | 176 - src/_nfdos/e2fsprogs/debugfs/journal.c | 947 -- src/_nfdos/e2fsprogs/debugfs/journal.h | 25 - src/_nfdos/e2fsprogs/debugfs/logdump.c | 933 -- src/_nfdos/e2fsprogs/debugfs/ls.c | 252 - src/_nfdos/e2fsprogs/debugfs/lsdel.c | 219 - src/_nfdos/e2fsprogs/debugfs/ncheck.c | 223 - src/_nfdos/e2fsprogs/debugfs/quota.c | 172 - src/_nfdos/e2fsprogs/debugfs/ro_debug_cmds.ct | 99 - src/_nfdos/e2fsprogs/debugfs/set_fields.c | 1024 -- src/_nfdos/e2fsprogs/debugfs/unused.c | 60 - src/_nfdos/e2fsprogs/debugfs/util.c | 600 - src/_nfdos/e2fsprogs/debugfs/xattrs.c | 503 - src/_nfdos/e2fsprogs/debugfs/zap.c | 246 - src/_nfdos/e2fsprogs/depfix.sed | 35 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.02.txt | 25 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.03.txt | 33 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.04.txt | 49 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.05.txt | 104 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.06.txt | 51 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.07.txt | 122 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.08.txt | 75 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.09.txt | 14 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.10.txt | 56 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.11.txt | 61 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.12.txt | 153 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.13.txt | 64 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.14.txt | 34 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.15.txt | 122 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.16.txt | 87 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.17.txt | 32 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.18.txt | 46 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.19.txt | 180 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.20.txt | 206 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.21.txt | 119 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.22.txt | 31 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.23.txt | 65 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.24.txt | 38 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.25.txt | 46 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.26.txt | 164 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.27.txt | 60 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.28.txt | 146 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.29.txt | 31 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.30.txt | 122 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.31.txt | 39 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.32.txt | 14 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.33.txt | 142 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.34.txt | 130 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.35.txt | 166 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.36.txt | 302 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.37.txt | 55 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.38.txt | 138 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.39.txt | 248 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.40.txt | 1043 -- src/_nfdos/e2fsprogs/doc/RelNotes/v1.41.txt | 1594 --- src/_nfdos/e2fsprogs/doc/RelNotes/v1.42.txt | 1690 --- src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.0.txt | 234 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.1.txt | 80 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.2.txt | 72 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.3.txt | 27 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.4.txt | 71 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.5.txt | 133 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.6.txt | 70 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.7.txt | 29 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.8.txt | 48 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.9.txt | 15 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.0.txt | 82 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.1.txt | 48 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.2.txt | 53 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.3.txt | 106 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.4.txt | 60 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.5.txt | 77 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.6.txt | 48 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.0.txt | 40 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.1.txt | 81 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.2.txt | 30 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.3.txt | 65 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.4.txt | 50 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.5.txt | 88 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.6.txt | 62 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.7.txt | 96 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.0.txt | 108 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.1.txt | 41 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.2.txt | 64 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.3.txt | 77 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.4.txt | 69 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.5.txt | 82 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.6.txt | 164 - src/_nfdos/e2fsprogs/doc/RelNotes/v1.47.0.txt | 53 - src/_nfdos/e2fsprogs/doc/libblkid.txt | 78 - src/_nfdos/e2fsprogs/doc/libext2fs.texinfo | 1374 -- src/_nfdos/e2fsprogs/doc/texinfo.tex | 7226 ---------- src/_nfdos/e2fsprogs/e2fsck/Android.bp | 86 - src/_nfdos/e2fsprogs/e2fsck/CHANGES | 53 - src/_nfdos/e2fsprogs/e2fsck/badblocks.c | 142 - src/_nfdos/e2fsprogs/e2fsck/dirinfo.c | 489 - src/_nfdos/e2fsprogs/e2fsck/dx_dirinfo.c | 154 - src/_nfdos/e2fsprogs/e2fsck/e2fsck.8.in | 509 - src/_nfdos/e2fsprogs/e2fsck/e2fsck.c | 271 - src/_nfdos/e2fsprogs/e2fsck/e2fsck.conf.5.in | 501 - src/_nfdos/e2fsprogs/e2fsck/e2fsck.h | 738 - src/_nfdos/e2fsprogs/e2fsck/ea_refcount.c | 476 - src/_nfdos/e2fsprogs/e2fsck/ehandler.c | 133 - src/_nfdos/e2fsprogs/e2fsck/emptydir.c | 194 - src/_nfdos/e2fsprogs/e2fsck/encrypted_files.c | 458 - src/_nfdos/e2fsprogs/e2fsck/extend.c | 83 - src/_nfdos/e2fsprogs/e2fsck/extents.c | 620 - src/_nfdos/e2fsprogs/e2fsck/flushb.c | 67 - src/_nfdos/e2fsprogs/e2fsck/iscan.c | 265 - src/_nfdos/e2fsprogs/e2fsck/jfs_user.h | 321 - src/_nfdos/e2fsprogs/e2fsck/journal.c | 1900 --- src/_nfdos/e2fsprogs/e2fsck/logfile.c | 411 - src/_nfdos/e2fsprogs/e2fsck/message.c | 556 - src/_nfdos/e2fsprogs/e2fsck/mtrace.awk | 37 - src/_nfdos/e2fsprogs/e2fsck/mtrace.c | 160 - src/_nfdos/e2fsprogs/e2fsck/mtrace.h | 231 - src/_nfdos/e2fsprogs/e2fsck/pass1.c | 4466 ------ src/_nfdos/e2fsprogs/e2fsck/pass1b.c | 1046 -- src/_nfdos/e2fsprogs/e2fsck/pass2.c | 2171 --- src/_nfdos/e2fsprogs/e2fsck/pass3.c | 921 -- src/_nfdos/e2fsprogs/e2fsck/pass4.c | 302 - src/_nfdos/e2fsprogs/e2fsck/pass5.c | 958 -- src/_nfdos/e2fsprogs/e2fsck/problem.c | 2756 ---- src/_nfdos/e2fsprogs/e2fsck/problem.h | 1359 -- src/_nfdos/e2fsprogs/e2fsck/problemP.h | 48 - src/_nfdos/e2fsprogs/e2fsck/quota.c | 127 - src/_nfdos/e2fsprogs/e2fsck/readahead.c | 254 - src/_nfdos/e2fsprogs/e2fsck/recovery.c | 931 -- src/_nfdos/e2fsprogs/e2fsck/region.c | 236 - src/_nfdos/e2fsprogs/e2fsck/rehash.c | 1189 -- src/_nfdos/e2fsprogs/e2fsck/revoke.c | 743 - src/_nfdos/e2fsprogs/e2fsck/scantest.c | 141 - src/_nfdos/e2fsprogs/e2fsck/sigcatcher.c | 446 - src/_nfdos/e2fsprogs/e2fsck/super.c | 1461 -- src/_nfdos/e2fsprogs/e2fsck/unix.c | 2171 --- src/_nfdos/e2fsprogs/e2fsck/util.c | 900 -- src/_nfdos/e2fsprogs/e2fsprogs.lsm | 16 - src/_nfdos/e2fsprogs/ext2ed/COPYRIGHT | 346 - src/_nfdos/e2fsprogs/ext2ed/README | 160 - src/_nfdos/e2fsprogs/ext2ed/blockbitmap_com.c | 266 - src/_nfdos/e2fsprogs/ext2ed/dir_com.c | 678 - src/_nfdos/e2fsprogs/ext2ed/disk.c | 239 - .../e2fsprogs/ext2ed/doc/ext2ed-design.sgml | 3459 ----- .../e2fsprogs/ext2ed/doc/ext2fs-overview.sgml | 1569 --- .../e2fsprogs/ext2ed/doc/user-guide.sgml | 2258 ---- src/_nfdos/e2fsprogs/ext2ed/ext2.descriptors | 976 -- src/_nfdos/e2fsprogs/ext2ed/ext2_com.c | 98 - src/_nfdos/e2fsprogs/ext2ed/ext2ed.8.in | 72 - src/_nfdos/e2fsprogs/ext2ed/ext2ed.conf.in | 79 - src/_nfdos/e2fsprogs/ext2ed/ext2ed.h | 435 - src/_nfdos/e2fsprogs/ext2ed/file_com.c | 565 - src/_nfdos/e2fsprogs/ext2ed/general_com.c | 907 -- src/_nfdos/e2fsprogs/ext2ed/group_com.c | 183 - src/_nfdos/e2fsprogs/ext2ed/init.c | 633 - src/_nfdos/e2fsprogs/ext2ed/inode_com.c | 437 - src/_nfdos/e2fsprogs/ext2ed/inodebitmap_com.c | 215 - src/_nfdos/e2fsprogs/ext2ed/main.c | 548 - src/_nfdos/e2fsprogs/ext2ed/super_com.c | 156 - src/_nfdos/e2fsprogs/ext2ed/win.c | 232 - .../e2fsprogs/include/mingw/arpa/inet.h | 5 - src/_nfdos/e2fsprogs/include/mingw/grp.h | 16 - src/_nfdos/e2fsprogs/include/mingw/pwd.h | 20 - src/_nfdos/e2fsprogs/include/mingw/sys/stat.h | 20 - .../e2fsprogs/include/mingw/sys/sysmacros.h | 5 - .../e2fsprogs/include/mingw/sys/types.h | 9 - src/_nfdos/e2fsprogs/include/mingw/unistd.h | 54 - .../e2fsprogs/include/nonunix/asm/types.h | 1 - src/_nfdos/e2fsprogs/include/nonunix/config.h | 21 - src/_nfdos/e2fsprogs/include/nonunix/dirent.h | 0 src/_nfdos/e2fsprogs/include/nonunix/getopt.h | 135 - src/_nfdos/e2fsprogs/include/nonunix/grp.h | 17 - src/_nfdos/e2fsprogs/include/nonunix/pwd.h | 22 - .../e2fsprogs/include/nonunix/sys/file.h | 0 .../e2fsprogs/include/nonunix/sys/ioctl.h | 0 .../e2fsprogs/include/nonunix/sys/param.h | 0 .../e2fsprogs/include/nonunix/sys/resource.h | 0 .../e2fsprogs/include/nonunix/sys/socket.h | 0 .../e2fsprogs/include/nonunix/sys/time.h | 1 - .../e2fsprogs/include/nonunix/sys/wait.h | 0 .../e2fsprogs/include/nonunix/termios.h | 0 src/_nfdos/e2fsprogs/include/nonunix/unistd.h | 49 - src/_nfdos/e2fsprogs/include/nonunix/utime.h | 1 - .../e2fsprogs/install-utils/compile_manpages | 18 - src/_nfdos/e2fsprogs/install-utils/convfstab | 78 - .../install-utils/remove_preformat_manpages | 21 - src/_nfdos/e2fsprogs/lib/Android.bp | 45 - src/_nfdos/e2fsprogs/lib/Makefile.bsd-lib | 47 - src/_nfdos/e2fsprogs/lib/Makefile.checker | 3 - src/_nfdos/e2fsprogs/lib/Makefile.darwin-lib | 52 - src/_nfdos/e2fsprogs/lib/Makefile.elf-lib | 75 - src/_nfdos/e2fsprogs/lib/Makefile.library | 27 - src/_nfdos/e2fsprogs/lib/Makefile.profile | 27 - src/_nfdos/e2fsprogs/lib/Makefile.solaris-lib | 65 - src/_nfdos/e2fsprogs/lib/blkid/Android.bp | 49 - src/_nfdos/e2fsprogs/lib/blkid/blkid.h.in | 110 - src/_nfdos/e2fsprogs/lib/blkid/blkid.pc.in | 11 - src/_nfdos/e2fsprogs/lib/blkid/blkidP.h | 204 - .../e2fsprogs/lib/blkid/blkid_types.h.in | 167 - src/_nfdos/e2fsprogs/lib/blkid/cache.c | 209 - src/_nfdos/e2fsprogs/lib/blkid/dev.c | 254 - src/_nfdos/e2fsprogs/lib/blkid/devname.c | 561 - src/_nfdos/e2fsprogs/lib/blkid/devno.c | 242 - src/_nfdos/e2fsprogs/lib/blkid/getsize.c | 217 - src/_nfdos/e2fsprogs/lib/blkid/libblkid.3.in | 80 - src/_nfdos/e2fsprogs/lib/blkid/list.h | 184 - src/_nfdos/e2fsprogs/lib/blkid/llseek.c | 147 - src/_nfdos/e2fsprogs/lib/blkid/probe.c | 1841 --- src/_nfdos/e2fsprogs/lib/blkid/probe.h | 852 -- src/_nfdos/e2fsprogs/lib/blkid/read.c | 494 - src/_nfdos/e2fsprogs/lib/blkid/resolve.c | 140 - src/_nfdos/e2fsprogs/lib/blkid/save.c | 213 - src/_nfdos/e2fsprogs/lib/blkid/tag.c | 471 - src/_nfdos/e2fsprogs/lib/blkid/test_probe.in | 62 - .../e2fsprogs/lib/blkid/tests/cramfs.img.bz2 | Bin 124 -> 0 bytes .../e2fsprogs/lib/blkid/tests/cramfs.results | 2 - .../e2fsprogs/lib/blkid/tests/ext2.img.bz2 | Bin 356 -> 0 bytes .../e2fsprogs/lib/blkid/tests/ext2.results | 3 - .../e2fsprogs/lib/blkid/tests/ext3.img.bz2 | Bin 1489 -> 0 bytes .../e2fsprogs/lib/blkid/tests/ext3.results | 3 - .../e2fsprogs/lib/blkid/tests/fat.img.bz2 | Bin 249 -> 0 bytes .../e2fsprogs/lib/blkid/tests/fat.results | 3 - .../lib/blkid/tests/fat32_label_64MB.img.bz2 | Bin 1151 -> 0 bytes .../lib/blkid/tests/fat32_label_64MB.results | 3 - .../e2fsprogs/lib/blkid/tests/iso.img.bz2 | Bin 336 -> 0 bytes .../e2fsprogs/lib/blkid/tests/iso.results | 2 - .../e2fsprogs/lib/blkid/tests/jbd.img.bz2 | Bin 205 -> 0 bytes .../e2fsprogs/lib/blkid/tests/jbd.results | 2 - .../e2fsprogs/lib/blkid/tests/jfs.img.bz2 | Bin 3434 -> 0 bytes .../e2fsprogs/lib/blkid/tests/jfs.results | 3 - .../e2fsprogs/lib/blkid/tests/minix.img.bz2 | Bin 138 -> 0 bytes .../e2fsprogs/lib/blkid/tests/minix.results | 1 - .../e2fsprogs/lib/blkid/tests/ocfs2.img.bz2 | Bin 1002 -> 0 bytes .../e2fsprogs/lib/blkid/tests/ocfs2.results | 3 - .../e2fsprogs/lib/blkid/tests/reiser3.img.bz2 | Bin 282 -> 0 bytes .../e2fsprogs/lib/blkid/tests/reiser3.results | 3 - .../e2fsprogs/lib/blkid/tests/reiser4.img.bz2 | Bin 366 -> 0 bytes .../e2fsprogs/lib/blkid/tests/reiser4.results | 3 - .../e2fsprogs/lib/blkid/tests/romfs.img.bz2 | Bin 105 -> 0 bytes .../e2fsprogs/lib/blkid/tests/romfs.results | 2 - .../lib/blkid/tests/small-fat32.img.bz2 | Bin 372 -> 0 bytes .../lib/blkid/tests/small-fat32.results | 3 - .../e2fsprogs/lib/blkid/tests/swap0.img.bz2 | Bin 72 -> 0 bytes .../e2fsprogs/lib/blkid/tests/swap0.results | 1 - .../e2fsprogs/lib/blkid/tests/swap1.img.bz2 | Bin 120 -> 0 bytes .../e2fsprogs/lib/blkid/tests/swap1.results | 3 - .../e2fsprogs/lib/blkid/tests/udf.img.bz2 | Bin 2031 -> 0 bytes .../e2fsprogs/lib/blkid/tests/udf.results | 2 - .../e2fsprogs/lib/blkid/tests/xfs.img.bz2 | Bin 443 -> 0 bytes .../e2fsprogs/lib/blkid/tests/xfs.results | 3 - .../e2fsprogs/lib/blkid/tests/zfs.img.bz2 | Bin 10869 -> 0 bytes .../e2fsprogs/lib/blkid/tests/zfs.results | 1 - src/_nfdos/e2fsprogs/lib/blkid/tst_types.c | 64 - src/_nfdos/e2fsprogs/lib/blkid/version.c | 50 - src/_nfdos/e2fsprogs/lib/config.h.in | 665 - src/_nfdos/e2fsprogs/lib/dirpaths.h.in | 10 - src/_nfdos/e2fsprogs/lib/e2p/Android.bp | 58 - src/_nfdos/e2fsprogs/lib/e2p/crypto_mode.c | 74 - src/_nfdos/e2fsprogs/lib/e2p/e2p.h | 92 - src/_nfdos/e2fsprogs/lib/e2p/e2p.pc.in | 11 - src/_nfdos/e2fsprogs/lib/e2p/encoding.c | 118 - src/_nfdos/e2fsprogs/lib/e2p/errcode.c | 48 - src/_nfdos/e2fsprogs/lib/e2p/feature.c | 449 - src/_nfdos/e2fsprogs/lib/e2p/fgetflags.c | 117 - src/_nfdos/e2fsprogs/lib/e2p/fgetproject.c | 63 - src/_nfdos/e2fsprogs/lib/e2p/fgetversion.c | 74 - src/_nfdos/e2fsprogs/lib/e2p/fsetflags.c | 118 - src/_nfdos/e2fsprogs/lib/e2p/fsetproject.c | 69 - src/_nfdos/e2fsprogs/lib/e2p/fsetversion.c | 71 - src/_nfdos/e2fsprogs/lib/e2p/getflags.c | 71 - src/_nfdos/e2fsprogs/lib/e2p/getversion.c | 41 - src/_nfdos/e2fsprogs/lib/e2p/hashstr.c | 72 - src/_nfdos/e2fsprogs/lib/e2p/iod.c | 76 - src/_nfdos/e2fsprogs/lib/e2p/ljs.c | 134 - src/_nfdos/e2fsprogs/lib/e2p/ls.c | 494 - src/_nfdos/e2fsprogs/lib/e2p/mntopts.c | 150 - src/_nfdos/e2fsprogs/lib/e2p/ostype.c | 79 - src/_nfdos/e2fsprogs/lib/e2p/parse_num.c | 91 - src/_nfdos/e2fsprogs/lib/e2p/pe.c | 40 - src/_nfdos/e2fsprogs/lib/e2p/percent.c | 67 - src/_nfdos/e2fsprogs/lib/e2p/pf.c | 79 - src/_nfdos/e2fsprogs/lib/e2p/project.h | 27 - src/_nfdos/e2fsprogs/lib/e2p/ps.c | 32 - src/_nfdos/e2fsprogs/lib/e2p/setflags.c | 77 - src/_nfdos/e2fsprogs/lib/e2p/setversion.c | 40 - src/_nfdos/e2fsprogs/lib/e2p/uuid.c | 85 - src/_nfdos/e2fsprogs/lib/et/Android.bp | 40 - src/_nfdos/e2fsprogs/lib/et/com_err.3 | 87 - src/_nfdos/e2fsprogs/lib/et/com_err.c | 105 - src/_nfdos/e2fsprogs/lib/et/com_err.h | 68 - src/_nfdos/e2fsprogs/lib/et/com_err.pc.in | 12 - src/_nfdos/e2fsprogs/lib/et/com_err.texinfo | 532 - src/_nfdos/e2fsprogs/lib/et/com_right.c | 120 - src/_nfdos/e2fsprogs/lib/et/compile_et.1 | 82 - src/_nfdos/e2fsprogs/lib/et/compile_et.sh.in | 60 - src/_nfdos/e2fsprogs/lib/et/error_message.c | 355 - src/_nfdos/e2fsprogs/lib/et/error_table.h | 29 - src/_nfdos/e2fsprogs/lib/et/et_c.awk | 269 - src/_nfdos/e2fsprogs/lib/et/et_h.awk | 204 - src/_nfdos/e2fsprogs/lib/et/et_name.c | 43 - src/_nfdos/e2fsprogs/lib/et/init_et.c | 53 - src/_nfdos/e2fsprogs/lib/et/internal.h | 19 - .../lib/et/test_cases/continuation.c | 55 - .../lib/et/test_cases/continuation.et | 8 - .../lib/et/test_cases/continuation.h | 19 - .../e2fsprogs/lib/et/test_cases/heimdal.c | 136 - .../e2fsprogs/lib/et/test_cases/heimdal.et | 65 - .../e2fsprogs/lib/et/test_cases/heimdal.h | 64 - .../e2fsprogs/lib/et/test_cases/heimdal2.c | 122 - .../e2fsprogs/lib/et/test_cases/heimdal2.et | 65 - .../e2fsprogs/lib/et/test_cases/heimdal2.h | 58 - .../e2fsprogs/lib/et/test_cases/heimdal3.c | 56 - .../e2fsprogs/lib/et/test_cases/heimdal3.et | 5 - .../e2fsprogs/lib/et/test_cases/heimdal3.h | 20 - .../e2fsprogs/lib/et/test_cases/imap_err.c | 115 - .../e2fsprogs/lib/et/test_cases/imap_err.et | 238 - .../e2fsprogs/lib/et/test_cases/imap_err.h | 79 - .../e2fsprogs/lib/et/test_cases/simple.c | 76 - .../e2fsprogs/lib/et/test_cases/simple.et | 69 - .../e2fsprogs/lib/et/test_cases/simple.h | 40 - src/_nfdos/e2fsprogs/lib/et/texinfo.tex | 7226 ---------- src/_nfdos/e2fsprogs/lib/et/vfprintf.c | 50 - src/_nfdos/e2fsprogs/lib/ext2fs/Android.bp | 129 - src/_nfdos/e2fsprogs/lib/ext2fs/alloc.c | 554 - src/_nfdos/e2fsprogs/lib/ext2fs/alloc_sb.c | 81 - src/_nfdos/e2fsprogs/lib/ext2fs/alloc_stats.c | 165 - .../e2fsprogs/lib/ext2fs/alloc_tables.c | 278 - src/_nfdos/e2fsprogs/lib/ext2fs/atexit.c | 116 - src/_nfdos/e2fsprogs/lib/ext2fs/badblocks.c | 328 - src/_nfdos/e2fsprogs/lib/ext2fs/bb_compat.c | 64 - src/_nfdos/e2fsprogs/lib/ext2fs/bb_inode.c | 270 - src/_nfdos/e2fsprogs/lib/ext2fs/bitmaps.c | 320 - src/_nfdos/e2fsprogs/lib/ext2fs/bitops.c | 148 - src/_nfdos/e2fsprogs/lib/ext2fs/bitops.h | 606 - src/_nfdos/e2fsprogs/lib/ext2fs/blkmap64_ba.c | 492 - src/_nfdos/e2fsprogs/lib/ext2fs/blkmap64_rb.c | 998 -- src/_nfdos/e2fsprogs/lib/ext2fs/blknum.c | 606 - src/_nfdos/e2fsprogs/lib/ext2fs/block.c | 659 - src/_nfdos/e2fsprogs/lib/ext2fs/bmap.c | 499 - src/_nfdos/e2fsprogs/lib/ext2fs/bmap64.h | 106 - src/_nfdos/e2fsprogs/lib/ext2fs/bmove.c | 167 - src/_nfdos/e2fsprogs/lib/ext2fs/brel.h | 86 - src/_nfdos/e2fsprogs/lib/ext2fs/brel_ma.c | 199 - src/_nfdos/e2fsprogs/lib/ext2fs/check_desc.c | 104 - src/_nfdos/e2fsprogs/lib/ext2fs/closefs.c | 521 - src/_nfdos/e2fsprogs/lib/ext2fs/compiler.h | 26 - src/_nfdos/e2fsprogs/lib/ext2fs/crc16.c | 74 - src/_nfdos/e2fsprogs/lib/ext2fs/crc16.h | 26 - src/_nfdos/e2fsprogs/lib/ext2fs/crc32c.c | 938 -- src/_nfdos/e2fsprogs/lib/ext2fs/crc32c_defs.h | 59 - src/_nfdos/e2fsprogs/lib/ext2fs/csum.c | 1011 -- src/_nfdos/e2fsprogs/lib/ext2fs/dblist.c | 403 - src/_nfdos/e2fsprogs/lib/ext2fs/dblist_dir.c | 88 - .../e2fsprogs/lib/ext2fs/digest_encode.c | 187 - src/_nfdos/e2fsprogs/lib/ext2fs/dir_iterate.c | 315 - src/_nfdos/e2fsprogs/lib/ext2fs/dirblock.c | 113 - src/_nfdos/e2fsprogs/lib/ext2fs/dirhash.c | 307 - src/_nfdos/e2fsprogs/lib/ext2fs/dosio.c | 459 - src/_nfdos/e2fsprogs/lib/ext2fs/dosio.h | 157 - src/_nfdos/e2fsprogs/lib/ext2fs/dupfs.c | 122 - src/_nfdos/e2fsprogs/lib/ext2fs/e2image.h | 37 - src/_nfdos/e2fsprogs/lib/ext2fs/expanddir.c | 143 - .../e2fsprogs/lib/ext2fs/ext2_err.et.in | 560 - .../e2fsprogs/lib/ext2fs/ext2_ext_attr.h | 84 - src/_nfdos/e2fsprogs/lib/ext2fs/ext2_fs.h | 1201 -- src/_nfdos/e2fsprogs/lib/ext2fs/ext2_io.h | 179 - .../e2fsprogs/lib/ext2fs/ext2_types.h.in | 196 - src/_nfdos/e2fsprogs/lib/ext2fs/ext2fs.h | 2224 --- src/_nfdos/e2fsprogs/lib/ext2fs/ext2fs.pc.in | 11 - src/_nfdos/e2fsprogs/lib/ext2fs/ext2fsP.h | 210 - .../e2fsprogs/lib/ext2fs/ext3_extents.h | 127 - src/_nfdos/e2fsprogs/lib/ext2fs/ext4_acl.h | 62 - src/_nfdos/e2fsprogs/lib/ext2fs/ext_attr.c | 1784 --- src/_nfdos/e2fsprogs/lib/ext2fs/extent.c | 1877 --- src/_nfdos/e2fsprogs/lib/ext2fs/fallocate.c | 873 -- src/_nfdos/e2fsprogs/lib/ext2fs/fast_commit.h | 190 - src/_nfdos/e2fsprogs/lib/ext2fs/fiemap.h | 93 - src/_nfdos/e2fsprogs/lib/ext2fs/fileio.c | 666 - src/_nfdos/e2fsprogs/lib/ext2fs/finddev.c | 218 - src/_nfdos/e2fsprogs/lib/ext2fs/flushb.c | 88 - src/_nfdos/e2fsprogs/lib/ext2fs/freefs.c | 108 - src/_nfdos/e2fsprogs/lib/ext2fs/gen_bitmap.c | 650 - .../e2fsprogs/lib/ext2fs/gen_bitmap64.c | 981 -- .../e2fsprogs/lib/ext2fs/gen_crc32ctable.c | 117 - .../e2fsprogs/lib/ext2fs/get_num_dirs.c | 50 - .../e2fsprogs/lib/ext2fs/get_pathname.c | 171 - src/_nfdos/e2fsprogs/lib/ext2fs/getsectsize.c | 151 - src/_nfdos/e2fsprogs/lib/ext2fs/getsize.c | 324 - src/_nfdos/e2fsprogs/lib/ext2fs/hashmap.c | 109 - src/_nfdos/e2fsprogs/lib/ext2fs/hashmap.h | 42 - src/_nfdos/e2fsprogs/lib/ext2fs/i_block.c | 90 - src/_nfdos/e2fsprogs/lib/ext2fs/icount.c | 921 -- src/_nfdos/e2fsprogs/lib/ext2fs/imager.c | 470 - src/_nfdos/e2fsprogs/lib/ext2fs/ind_block.c | 67 - src/_nfdos/e2fsprogs/lib/ext2fs/initialize.c | 671 - src/_nfdos/e2fsprogs/lib/ext2fs/inline.c | 118 - src/_nfdos/e2fsprogs/lib/ext2fs/inline_data.c | 842 -- src/_nfdos/e2fsprogs/lib/ext2fs/inode.c | 1122 -- src/_nfdos/e2fsprogs/lib/ext2fs/inode_io.c | 290 - src/_nfdos/e2fsprogs/lib/ext2fs/io_manager.c | 152 - src/_nfdos/e2fsprogs/lib/ext2fs/irel.h | 114 - src/_nfdos/e2fsprogs/lib/ext2fs/irel_ma.c | 377 - src/_nfdos/e2fsprogs/lib/ext2fs/ismounted.c | 478 - src/_nfdos/e2fsprogs/lib/ext2fs/jfs_compat.h | 113 - src/_nfdos/e2fsprogs/lib/ext2fs/kernel-jbd.h | 456 - src/_nfdos/e2fsprogs/lib/ext2fs/kernel-list.h | 111 - src/_nfdos/e2fsprogs/lib/ext2fs/link.c | 646 - src/_nfdos/e2fsprogs/lib/ext2fs/llseek.c | 145 - src/_nfdos/e2fsprogs/lib/ext2fs/lookup.c | 70 - src/_nfdos/e2fsprogs/lib/ext2fs/mkdir.c | 200 - src/_nfdos/e2fsprogs/lib/ext2fs/mkjournal.c | 654 - src/_nfdos/e2fsprogs/lib/ext2fs/mmp.c | 488 - src/_nfdos/e2fsprogs/lib/ext2fs/namei.c | 227 - src/_nfdos/e2fsprogs/lib/ext2fs/native.c | 28 - src/_nfdos/e2fsprogs/lib/ext2fs/newdir.c | 126 - src/_nfdos/e2fsprogs/lib/ext2fs/nls_utf8.c | 1000 -- src/_nfdos/e2fsprogs/lib/ext2fs/nt_io.c | 1494 -- src/_nfdos/e2fsprogs/lib/ext2fs/openfs.c | 590 - src/_nfdos/e2fsprogs/lib/ext2fs/orphan.c | 273 - src/_nfdos/e2fsprogs/lib/ext2fs/progress.c | 103 - src/_nfdos/e2fsprogs/lib/ext2fs/punch.c | 513 - src/_nfdos/e2fsprogs/lib/ext2fs/qcow2.c | 272 - src/_nfdos/e2fsprogs/lib/ext2fs/qcow2.h | 114 - src/_nfdos/e2fsprogs/lib/ext2fs/rbtree.c | 383 - src/_nfdos/e2fsprogs/lib/ext2fs/rbtree.h | 183 - src/_nfdos/e2fsprogs/lib/ext2fs/read_bb.c | 102 - .../e2fsprogs/lib/ext2fs/read_bb_file.c | 109 - src/_nfdos/e2fsprogs/lib/ext2fs/res_gdt.c | 239 - src/_nfdos/e2fsprogs/lib/ext2fs/rw_bitmaps.c | 682 - src/_nfdos/e2fsprogs/lib/ext2fs/sha256.c | 254 - src/_nfdos/e2fsprogs/lib/ext2fs/sha512.c | 302 - src/_nfdos/e2fsprogs/lib/ext2fs/sparse_io.c | 554 - src/_nfdos/e2fsprogs/lib/ext2fs/swapfs.c | 491 - src/_nfdos/e2fsprogs/lib/ext2fs/symlink.c | 212 - src/_nfdos/e2fsprogs/lib/ext2fs/tdb.c | 4174 ------ src/_nfdos/e2fsprogs/lib/ext2fs/tdb.h | 215 - src/_nfdos/e2fsprogs/lib/ext2fs/tdb/build-tdb | 34 - src/_nfdos/e2fsprogs/lib/ext2fs/tdbtool.c | 621 - src/_nfdos/e2fsprogs/lib/ext2fs/test_io.c | 557 - .../e2fsprogs/lib/ext2fs/tst_badblocks.c | 369 - src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitmaps.c | 732 - .../e2fsprogs/lib/ext2fs/tst_bitmaps_cmd.ct | 51 - .../e2fsprogs/lib/ext2fs/tst_bitmaps_cmds | 150 - .../e2fsprogs/lib/ext2fs/tst_bitmaps_exp | 313 - src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitops.c | 288 - .../e2fsprogs/lib/ext2fs/tst_byteswap.c | 93 - src/_nfdos/e2fsprogs/lib/ext2fs/tst_cmds.ct | 6 - .../e2fsprogs/lib/ext2fs/tst_fs_struct.c | 81 - .../e2fsprogs/lib/ext2fs/tst_getsectsize.c | 63 - src/_nfdos/e2fsprogs/lib/ext2fs/tst_getsize.c | 47 - .../e2fsprogs/lib/ext2fs/tst_inode_size.c | 89 - src/_nfdos/e2fsprogs/lib/ext2fs/tst_iscan.c | 227 - .../e2fsprogs/lib/ext2fs/tst_libext2fs.c | 72 - .../e2fsprogs/lib/ext2fs/tst_super_size.c | 161 - src/_nfdos/e2fsprogs/lib/ext2fs/tst_types.c | 64 - src/_nfdos/e2fsprogs/lib/ext2fs/undo_io.c | 1108 -- src/_nfdos/e2fsprogs/lib/ext2fs/unix_io.c | 1510 --- src/_nfdos/e2fsprogs/lib/ext2fs/unlink.c | 100 - src/_nfdos/e2fsprogs/lib/ext2fs/utf8data.h | 4109 ------ src/_nfdos/e2fsprogs/lib/ext2fs/utf8n.h | 120 - src/_nfdos/e2fsprogs/lib/ext2fs/valid_blk.c | 68 - src/_nfdos/e2fsprogs/lib/ext2fs/version.c | 57 - src/_nfdos/e2fsprogs/lib/ext2fs/windows_io.c | 1031 -- .../e2fsprogs/lib/ext2fs/write_bb_file.c | 35 - src/_nfdos/e2fsprogs/lib/fpopen.c | 116 - src/_nfdos/e2fsprogs/lib/ss/Android.bp | 39 - src/_nfdos/e2fsprogs/lib/ss/ct_c.awk | 75 - src/_nfdos/e2fsprogs/lib/ss/ct_c.sed | 160 - src/_nfdos/e2fsprogs/lib/ss/data.c | 20 - src/_nfdos/e2fsprogs/lib/ss/error.c | 77 - src/_nfdos/e2fsprogs/lib/ss/execute_cmd.c | 229 - src/_nfdos/e2fsprogs/lib/ss/get_readline.c | 100 - src/_nfdos/e2fsprogs/lib/ss/help.c | 185 - src/_nfdos/e2fsprogs/lib/ss/invocation.c | 132 - src/_nfdos/e2fsprogs/lib/ss/list_rqs.c | 92 - src/_nfdos/e2fsprogs/lib/ss/listen.c | 200 - .../e2fsprogs/lib/ss/mit-sipb-copyright.h | 19 - src/_nfdos/e2fsprogs/lib/ss/mk_cmds.1 | 59 - src/_nfdos/e2fsprogs/lib/ss/mk_cmds.sh.in | 56 - src/_nfdos/e2fsprogs/lib/ss/pager.c | 152 - src/_nfdos/e2fsprogs/lib/ss/parse.c | 158 - src/_nfdos/e2fsprogs/lib/ss/prompt.c | 31 - src/_nfdos/e2fsprogs/lib/ss/request_tbl.c | 68 - src/_nfdos/e2fsprogs/lib/ss/requests.c | 66 - src/_nfdos/e2fsprogs/lib/ss/ss.h | 96 - src/_nfdos/e2fsprogs/lib/ss/ss.pc.in | 12 - src/_nfdos/e2fsprogs/lib/ss/ss_err.et | 39 - src/_nfdos/e2fsprogs/lib/ss/ss_internal.h | 107 - src/_nfdos/e2fsprogs/lib/ss/std_rqs.ct | 46 - src/_nfdos/e2fsprogs/lib/ss/test_cmd.ct | 6 - src/_nfdos/e2fsprogs/lib/ss/test_script | 8 - .../e2fsprogs/lib/ss/test_script_expected | 22 - src/_nfdos/e2fsprogs/lib/ss/test_ss.c | 151 - src/_nfdos/e2fsprogs/lib/support/Android.bp | 78 - src/_nfdos/e2fsprogs/lib/support/argv_parse.c | 168 - src/_nfdos/e2fsprogs/lib/support/argv_parse.h | 43 - src/_nfdos/e2fsprogs/lib/support/common.h | 36 - src/_nfdos/e2fsprogs/lib/support/cstring.c | 162 - src/_nfdos/e2fsprogs/lib/support/cstring.h | 6 - src/_nfdos/e2fsprogs/lib/support/devname.c | 65 - src/_nfdos/e2fsprogs/lib/support/devname.h | 19 - src/_nfdos/e2fsprogs/lib/support/dict.c | 1542 --- src/_nfdos/e2fsprogs/lib/support/dict.h | 147 - src/_nfdos/e2fsprogs/lib/support/dqblk_v2.h | 31 - src/_nfdos/e2fsprogs/lib/support/mkquota.c | 707 - src/_nfdos/e2fsprogs/lib/support/nls-enable.h | 21 - .../e2fsprogs/lib/support/parse_qtype.c | 90 - src/_nfdos/e2fsprogs/lib/support/plausible.c | 287 - src/_nfdos/e2fsprogs/lib/support/plausible.h | 29 - .../e2fsprogs/lib/support/print_fs_flags.c | 75 - .../e2fsprogs/lib/support/print_fs_flags.h | 5 - src/_nfdos/e2fsprogs/lib/support/prof_err.et | 66 - src/_nfdos/e2fsprogs/lib/support/profile.c | 1910 --- src/_nfdos/e2fsprogs/lib/support/profile.h | 107 - .../e2fsprogs/lib/support/profile_helpers.c | 317 - .../e2fsprogs/lib/support/profile_helpers.h | 28 - src/_nfdos/e2fsprogs/lib/support/quotaio.c | 412 - src/_nfdos/e2fsprogs/lib/support/quotaio.h | 268 - .../e2fsprogs/lib/support/quotaio_tree.c | 687 - .../e2fsprogs/lib/support/quotaio_tree.h | 64 - src/_nfdos/e2fsprogs/lib/support/quotaio_v2.c | 389 - src/_nfdos/e2fsprogs/lib/support/quotaio_v2.h | 69 - src/_nfdos/e2fsprogs/lib/support/sort_r.h | 325 - src/_nfdos/e2fsprogs/lib/uuid/Android.bp | 54 - src/_nfdos/e2fsprogs/lib/uuid/COPYING | 25 - src/_nfdos/e2fsprogs/lib/uuid/clear.c | 44 - src/_nfdos/e2fsprogs/lib/uuid/compare.c | 56 - src/_nfdos/e2fsprogs/lib/uuid/configure.in | 10 - src/_nfdos/e2fsprogs/lib/uuid/copy.c | 46 - src/_nfdos/e2fsprogs/lib/uuid/gen_uuid.c | 682 - src/_nfdos/e2fsprogs/lib/uuid/gen_uuid_nt.c | 93 - src/_nfdos/e2fsprogs/lib/uuid/isnull.c | 49 - src/_nfdos/e2fsprogs/lib/uuid/pack.c | 70 - src/_nfdos/e2fsprogs/lib/uuid/parse.c | 80 - src/_nfdos/e2fsprogs/lib/uuid/tst_uuid.c | 194 - src/_nfdos/e2fsprogs/lib/uuid/unpack.c | 64 - src/_nfdos/e2fsprogs/lib/uuid/unparse.c | 77 - src/_nfdos/e2fsprogs/lib/uuid/uuid.3.in | 66 - src/_nfdos/e2fsprogs/lib/uuid/uuid.h.in | 103 - src/_nfdos/e2fsprogs/lib/uuid/uuid.pc.in | 11 - src/_nfdos/e2fsprogs/lib/uuid/uuidP.h | 71 - src/_nfdos/e2fsprogs/lib/uuid/uuid_clear.3.in | 60 - .../e2fsprogs/lib/uuid/uuid_compare.3.in | 66 - src/_nfdos/e2fsprogs/lib/uuid/uuid_copy.3.in | 62 - .../e2fsprogs/lib/uuid/uuid_generate.3.in | 104 - .../e2fsprogs/lib/uuid/uuid_is_null.3.in | 62 - src/_nfdos/e2fsprogs/lib/uuid/uuid_parse.3.in | 71 - src/_nfdos/e2fsprogs/lib/uuid/uuid_time.3.in | 74 - src/_nfdos/e2fsprogs/lib/uuid/uuid_time.c | 167 - src/_nfdos/e2fsprogs/lib/uuid/uuid_types.h.in | 50 - .../e2fsprogs/lib/uuid/uuid_unparse.3.in | 79 - src/_nfdos/e2fsprogs/lib/uuid/uuidd.h | 54 - src/_nfdos/e2fsprogs/misc/Android.bp | 355 - src/_nfdos/e2fsprogs/misc/badblocks.8.in | 234 - src/_nfdos/e2fsprogs/misc/badblocks.c | 1379 -- src/_nfdos/e2fsprogs/misc/base_device.c | 171 - src/_nfdos/e2fsprogs/misc/base_device.tst | 16 - src/_nfdos/e2fsprogs/misc/blkid.8.in | 164 - src/_nfdos/e2fsprogs/misc/blkid.c | 433 - src/_nfdos/e2fsprogs/misc/chattr.1.in | 299 - src/_nfdos/e2fsprogs/misc/chattr.c | 359 - src/_nfdos/e2fsprogs/misc/check_fuzzer.c | 61 - src/_nfdos/e2fsprogs/misc/create_inode.c | 1092 -- src/_nfdos/e2fsprogs/misc/create_inode.h | 57 - src/_nfdos/e2fsprogs/misc/dumpe2fs.8.in | 115 - src/_nfdos/e2fsprogs/misc/dumpe2fs.c | 780 -- src/_nfdos/e2fsprogs/misc/e2freefrag.8.in | 96 - src/_nfdos/e2fsprogs/misc/e2freefrag.c | 452 - src/_nfdos/e2fsprogs/misc/e2freefrag.h | 20 - src/_nfdos/e2fsprogs/misc/e2fuzz.c | 372 - src/_nfdos/e2fsprogs/misc/e2fuzz.sh | 327 - src/_nfdos/e2fsprogs/misc/e2image.8.in | 335 - src/_nfdos/e2fsprogs/misc/e2image.c | 1745 --- src/_nfdos/e2fsprogs/misc/e2initrd_helper.c | 398 - src/_nfdos/e2fsprogs/misc/e2label.8.in | 58 - src/_nfdos/e2fsprogs/misc/e2label.c | 121 - src/_nfdos/e2fsprogs/misc/e2mmpstatus.8.in | 59 - src/_nfdos/e2fsprogs/misc/e2undo.8.in | 84 - src/_nfdos/e2fsprogs/misc/e2undo.c | 658 - src/_nfdos/e2fsprogs/misc/e4crypt.8.in | 74 - src/_nfdos/e2fsprogs/misc/e4crypt.c | 893 -- src/_nfdos/e2fsprogs/misc/e4defrag.8.in | 90 - src/_nfdos/e2fsprogs/misc/e4defrag.c | 2035 --- src/_nfdos/e2fsprogs/misc/ext4.5.in | 815 -- src/_nfdos/e2fsprogs/misc/filefrag.8.in | 77 - src/_nfdos/e2fsprogs/misc/filefrag.c | 695 - src/_nfdos/e2fsprogs/misc/findfs.8.in | 33 - src/_nfdos/e2fsprogs/misc/findsuper.c | 269 - src/_nfdos/e2fsprogs/misc/fsck.8.in | 414 - src/_nfdos/e2fsprogs/misc/fsck.c | 1353 -- src/_nfdos/e2fsprogs/misc/fsck.h | 73 - src/_nfdos/e2fsprogs/misc/fsmap.h | 89 - src/_nfdos/e2fsprogs/misc/fuse2fs.1.in | 79 - src/_nfdos/e2fsprogs/misc/fuse2fs.c | 4009 ------ src/_nfdos/e2fsprogs/misc/ismounted.c | 218 - src/_nfdos/e2fsprogs/misc/logsave.8.in | 61 - src/_nfdos/e2fsprogs/misc/logsave.c | 334 - src/_nfdos/e2fsprogs/misc/lsattr.1.in | 52 - src/_nfdos/e2fsprogs/misc/lsattr.c | 234 - src/_nfdos/e2fsprogs/misc/mk_hugefiles.c | 491 - src/_nfdos/e2fsprogs/misc/mke2fs-hurd.conf | 42 - src/_nfdos/e2fsprogs/misc/mke2fs.8.in | 891 -- src/_nfdos/e2fsprogs/misc/mke2fs.c | 3592 ----- src/_nfdos/e2fsprogs/misc/mke2fs.conf.5.in | 566 - src/_nfdos/e2fsprogs/misc/mke2fs.conf.in | 45 - src/_nfdos/e2fsprogs/misc/mke2fs.h | 30 - src/_nfdos/e2fsprogs/misc/mklost+found.8.in | 43 - src/_nfdos/e2fsprogs/misc/mklost+found.c | 87 - src/_nfdos/e2fsprogs/misc/partinfo.c | 80 - src/_nfdos/e2fsprogs/misc/profile-to-c.awk | 13 - src/_nfdos/e2fsprogs/misc/tune2fs.8.in | 849 -- src/_nfdos/e2fsprogs/misc/tune2fs.c | 3769 ------ src/_nfdos/e2fsprogs/misc/tune2fs.h | 26 - src/_nfdos/e2fsprogs/misc/util.c | 330 - src/_nfdos/e2fsprogs/misc/util.h | 29 - src/_nfdos/e2fsprogs/misc/uuidd.8.in | 97 - src/_nfdos/e2fsprogs/misc/uuidd.c | 600 - src/_nfdos/e2fsprogs/misc/uuidd.rc | 55 - src/_nfdos/e2fsprogs/misc/uuidgen.1.in | 63 - src/_nfdos/e2fsprogs/misc/uuidgen.c | 80 - src/_nfdos/e2fsprogs/po/LINGUAS | 1 - src/_nfdos/e2fsprogs/po/Makefile.in.in | 493 - src/_nfdos/e2fsprogs/po/Makevars | 71 - src/_nfdos/e2fsprogs/po/POTFILES.in | 71 - src/_nfdos/e2fsprogs/po/Rules-quot | 58 - src/_nfdos/e2fsprogs/po/at-expand.pl | 158 - src/_nfdos/e2fsprogs/po/boldquot.sed | 10 - src/_nfdos/e2fsprogs/po/ca.gmo | Bin 140005 -> 0 bytes src/_nfdos/e2fsprogs/po/ca.po | 8872 ------------ src/_nfdos/e2fsprogs/po/cs.gmo | Bin 183759 -> 0 bytes src/_nfdos/e2fsprogs/po/cs.po | 9133 ------------- src/_nfdos/e2fsprogs/po/da.gmo | Bin 141662 -> 0 bytes src/_nfdos/e2fsprogs/po/da.po | 8287 ------------ src/_nfdos/e2fsprogs/po/de.gmo | Bin 176656 -> 0 bytes src/_nfdos/e2fsprogs/po/de.po | 9029 ------------- src/_nfdos/e2fsprogs/po/e2fsprogs.pot | 8378 ------------ src/_nfdos/e2fsprogs/po/en@boldquot.header | 25 - src/_nfdos/e2fsprogs/po/en@quot.header | 22 - src/_nfdos/e2fsprogs/po/eo.gmo | Bin 88457 -> 0 bytes src/_nfdos/e2fsprogs/po/eo.po | 8254 ------------ src/_nfdos/e2fsprogs/po/es.gmo | Bin 189231 -> 0 bytes src/_nfdos/e2fsprogs/po/es.po | 9009 ------------- src/_nfdos/e2fsprogs/po/fi.gmo | Bin 21505 -> 0 bytes src/_nfdos/e2fsprogs/po/fi.po | 8034 ----------- src/_nfdos/e2fsprogs/po/fr.gmo | Bin 184966 -> 0 bytes src/_nfdos/e2fsprogs/po/fr.po | 8633 ------------ src/_nfdos/e2fsprogs/po/fur.gmo | Bin 38250 -> 0 bytes src/_nfdos/e2fsprogs/po/fur.po | 8003 ----------- src/_nfdos/e2fsprogs/po/hu.gmo | Bin 175960 -> 0 bytes src/_nfdos/e2fsprogs/po/hu.po | 8663 ------------ src/_nfdos/e2fsprogs/po/id.gmo | Bin 80548 -> 0 bytes src/_nfdos/e2fsprogs/po/id.po | 8687 ------------ src/_nfdos/e2fsprogs/po/insert-header.sin | 23 - src/_nfdos/e2fsprogs/po/it.gmo | Bin 56323 -> 0 bytes src/_nfdos/e2fsprogs/po/it.po | 8589 ------------ src/_nfdos/e2fsprogs/po/ms.gmo | Bin 32218 -> 0 bytes src/_nfdos/e2fsprogs/po/ms.po | 8545 ------------ src/_nfdos/e2fsprogs/po/nl.gmo | Bin 176854 -> 0 bytes src/_nfdos/e2fsprogs/po/nl.po | 8964 ------------ src/_nfdos/e2fsprogs/po/pl.gmo | Bin 180438 -> 0 bytes src/_nfdos/e2fsprogs/po/pl.po | 8579 ------------ src/_nfdos/e2fsprogs/po/pt.gmo | Bin 179065 -> 0 bytes src/_nfdos/e2fsprogs/po/pt.po | 8563 ------------ src/_nfdos/e2fsprogs/po/quot.sed | 6 - src/_nfdos/e2fsprogs/po/remove-potcdate.sin | 19 - src/_nfdos/e2fsprogs/po/sr.gmo | Bin 245025 -> 0 bytes src/_nfdos/e2fsprogs/po/sr.po | 8771 ------------ src/_nfdos/e2fsprogs/po/sv.gmo | Bin 175700 -> 0 bytes src/_nfdos/e2fsprogs/po/sv.po | 8585 ------------ src/_nfdos/e2fsprogs/po/tr.gmo | Bin 69878 -> 0 bytes src/_nfdos/e2fsprogs/po/tr.po | 9057 ------------- src/_nfdos/e2fsprogs/po/uk.gmo | Bin 243338 -> 0 bytes src/_nfdos/e2fsprogs/po/uk.po | 8796 ------------ src/_nfdos/e2fsprogs/po/vi.gmo | Bin 189306 -> 0 bytes src/_nfdos/e2fsprogs/po/vi.po | 8594 ------------ src/_nfdos/e2fsprogs/po/zh_CN.gmo | Bin 168153 -> 0 bytes src/_nfdos/e2fsprogs/po/zh_CN.po | 8784 ------------ src/_nfdos/e2fsprogs/resize/Android.bp | 58 - src/_nfdos/e2fsprogs/resize/extent.c | 244 - src/_nfdos/e2fsprogs/resize/main.c | 706 - src/_nfdos/e2fsprogs/resize/online.c | 293 - src/_nfdos/e2fsprogs/resize/resize2fs.8.in | 181 - src/_nfdos/e2fsprogs/resize/resize2fs.c | 3235 ----- src/_nfdos/e2fsprogs/resize/resize2fs.h | 190 - src/_nfdos/e2fsprogs/resize/resource_track.c | 135 - src/_nfdos/e2fsprogs/resize/sim_progress.c | 118 - src/_nfdos/e2fsprogs/resize/test-resize | 27 - src/_nfdos/e2fsprogs/resize/test_extent.c | 129 - src/_nfdos/e2fsprogs/resize/test_extent.in | 64 - src/_nfdos/e2fsprogs/scrub/e2scrub | 283 - src/_nfdos/e2fsprogs/scrub/e2scrub.8 | 69 - src/_nfdos/e2fsprogs/scrub/e2scrub.8.in | 69 - src/_nfdos/e2fsprogs/scrub/e2scrub.conf | 25 - src/_nfdos/e2fsprogs/scrub/e2scrub.conf.in | 25 - src/_nfdos/e2fsprogs/scrub/e2scrub.in | 283 - src/_nfdos/e2fsprogs/scrub/e2scrub.rules | 2 - src/_nfdos/e2fsprogs/scrub/e2scrub.rules.in | 2 - src/_nfdos/e2fsprogs/scrub/e2scrub@.service | 20 - .../e2fsprogs/scrub/e2scrub@.service.in | 20 - src/_nfdos/e2fsprogs/scrub/e2scrub_all | 185 - src/_nfdos/e2fsprogs/scrub/e2scrub_all.8 | 47 - src/_nfdos/e2fsprogs/scrub/e2scrub_all.8.in | 47 - src/_nfdos/e2fsprogs/scrub/e2scrub_all.cron | 2 - .../e2fsprogs/scrub/e2scrub_all.cron.in | 2 - src/_nfdos/e2fsprogs/scrub/e2scrub_all.in | 185 - .../e2fsprogs/scrub/e2scrub_all.service | 12 - .../e2fsprogs/scrub/e2scrub_all.service.in | 12 - src/_nfdos/e2fsprogs/scrub/e2scrub_all.timer | 11 - .../e2fsprogs/scrub/e2scrub_all.timer.in | 11 - src/_nfdos/e2fsprogs/scrub/e2scrub_all_cron | 69 - .../e2fsprogs/scrub/e2scrub_all_cron.in | 69 - src/_nfdos/e2fsprogs/scrub/e2scrub_fail | 38 - src/_nfdos/e2fsprogs/scrub/e2scrub_fail.in | 38 - .../e2fsprogs/scrub/e2scrub_fail@.service | 10 - .../e2fsprogs/scrub/e2scrub_fail@.service.in | 10 - .../e2fsprogs/scrub/e2scrub_reap.service | 25 - .../e2fsprogs/scrub/e2scrub_reap.service.in | 25 - src/_nfdos/e2fsprogs/tests/README | 68 - .../e2fsprogs/tests/d_bad_ostype/expect | 1 - src/_nfdos/e2fsprogs/tests/d_bad_ostype/name | 1 - .../e2fsprogs/tests/d_bad_ostype/script | 21 - .../tests/d_corrupt_journal_nr_users/expect | 101 - .../tests/d_corrupt_journal_nr_users/image.gz | Bin 8788 -> 0 bytes .../tests/d_corrupt_journal_nr_users/name | 1 - .../tests/d_corrupt_journal_nr_users/script | 25 - .../tests/d_dumpe2fs_group_only/expect | 51 - .../tests/d_dumpe2fs_group_only/name | 1 - .../tests/d_dumpe2fs_group_only/script | 44 - .../e2fsprogs/tests/d_fallocate/expect.gz | Bin 3770 -> 0 bytes src/_nfdos/e2fsprogs/tests/d_fallocate/name | 1 - src/_nfdos/e2fsprogs/tests/d_fallocate/script | 166 - .../tests/d_fallocate_bigalloc/expect.gz | Bin 2696 -> 0 bytes .../e2fsprogs/tests/d_fallocate_bigalloc/name | 1 - .../tests/d_fallocate_bigalloc/script | 168 - .../e2fsprogs/tests/d_fallocate_blkmap/expect | 58 - .../e2fsprogs/tests/d_fallocate_blkmap/name | 1 - .../e2fsprogs/tests/d_fallocate_blkmap/script | 75 - .../e2fsprogs/tests/d_inline_dump/expect | 95 - .../e2fsprogs/tests/d_inline_dump/image.gz | Bin 2988 -> 0 bytes src/_nfdos/e2fsprogs/tests/d_inline_dump/name | 1 - .../e2fsprogs/tests/d_inline_dump/script | 43 - src/_nfdos/e2fsprogs/tests/d_loaddump/expect | 18 - src/_nfdos/e2fsprogs/tests/d_loaddump/name | 1 - src/_nfdos/e2fsprogs/tests/d_loaddump/script | 67 - src/_nfdos/e2fsprogs/tests/d_punch/expect | 176 - src/_nfdos/e2fsprogs/tests/d_punch/name | 1 - src/_nfdos/e2fsprogs/tests/d_punch/script | 120 - .../e2fsprogs/tests/d_punch_bigalloc/expect | 171 - .../e2fsprogs/tests/d_punch_bigalloc/name | 1 - .../e2fsprogs/tests/d_punch_bigalloc/script | 121 - .../e2fsprogs/tests/d_special_files/expect | 91 - .../e2fsprogs/tests/d_special_files/name | 1 - .../e2fsprogs/tests/d_special_files/script | 87 - .../e2fsprogs/tests/d_xattr_edits/expect | 55 - src/_nfdos/e2fsprogs/tests/d_xattr_edits/name | 1 - .../e2fsprogs/tests/d_xattr_edits/script | 124 - .../e2fsprogs/tests/d_xattr_sorting/expect | 34 - .../e2fsprogs/tests/d_xattr_sorting/name | 1 - .../e2fsprogs/tests/d_xattr_sorting/script | 87 - src/_nfdos/e2fsprogs/tests/defaults/e_script | 47 - src/_nfdos/e2fsprogs/tests/defaults/f_script | 1 - src/_nfdos/e2fsprogs/tests/defaults/j_script | 1 - src/_nfdos/e2fsprogs/tests/e_brel_bma/name | 1 - src/_nfdos/e2fsprogs/tests/e_brel_bma/script | 1 - .../e2fsprogs/tests/e_icount_normal/name | 1 - src/_nfdos/e2fsprogs/tests/e_icount_opt/name | 1 - src/_nfdos/e2fsprogs/tests/e_irel_ima/name | 1 - src/_nfdos/e2fsprogs/tests/e_irel_ima/script | 1 - .../e2fsprogs/tests/f_16384_block/expect.1 | 7 - .../e2fsprogs/tests/f_16384_block/expect.2 | 7 - .../e2fsprogs/tests/f_16384_block/image.gz | Bin 9992 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_16384_block/name | 1 - .../e2fsprogs/tests/f_8192_block/expect.1 | 7 - .../e2fsprogs/tests/f_8192_block/expect.2 | 7 - .../e2fsprogs/tests/f_8192_block/image.gz | Bin 9992 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_8192_block/name | 1 - .../e2fsprogs/tests/f_bad_bbitmap/expect.1 | 15 - .../e2fsprogs/tests/f_bad_bbitmap/expect.2 | 7 - .../e2fsprogs/tests/f_bad_bbitmap/image.gz | Bin 2546 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bad_bbitmap/name | 1 - .../e2fsprogs/tests/f_bad_bmap_csum/expect.1 | 16 - .../e2fsprogs/tests/f_bad_bmap_csum/expect.2 | 7 - .../e2fsprogs/tests/f_bad_bmap_csum/image.gz | Bin 2546 -> 0 bytes .../e2fsprogs/tests/f_bad_bmap_csum/name | 1 - .../tests/f_bad_disconnected_inode/expect.1 | 49 - .../tests/f_bad_disconnected_inode/expect.2 | 7 - .../tests/f_bad_disconnected_inode/image.gz | Bin 1490 -> 0 bytes .../tests/f_bad_disconnected_inode/name | 1 - .../e2fsprogs/tests/f_bad_encryption/expect.1 | 125 - .../e2fsprogs/tests/f_bad_encryption/expect.2 | 7 - .../e2fsprogs/tests/f_bad_encryption/image.gz | Bin 2265 -> 0 bytes .../tests/f_bad_encryption/mkimage.sh | 169 - .../e2fsprogs/tests/f_bad_encryption/name | 1 - .../e2fsprogs/tests/f_bad_fname/expect.1 | 22 - .../e2fsprogs/tests/f_bad_fname/expect.2 | 7 - .../e2fsprogs/tests/f_bad_fname/image.gz | Bin 802 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bad_fname/name | 1 - .../e2fsprogs/tests/f_bad_gdt_csum/expect.1 | 10 - .../e2fsprogs/tests/f_bad_gdt_csum/expect.2 | 7 - .../e2fsprogs/tests/f_bad_gdt_csum/image.gz | Bin 2548 -> 0 bytes .../e2fsprogs/tests/f_bad_gdt_csum/name | 1 - .../e2fsprogs/tests/f_bad_ibitmap/expect.1 | 15 - .../e2fsprogs/tests/f_bad_ibitmap/expect.2 | 7 - .../e2fsprogs/tests/f_bad_ibitmap/image.gz | Bin 2548 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bad_ibitmap/name | 1 - .../e2fsprogs/tests/f_bad_inode_csum/expect.1 | 126 - .../e2fsprogs/tests/f_bad_inode_csum/expect.2 | 7 - .../e2fsprogs/tests/f_bad_inode_csum/image.gz | Bin 4613 -> 0 bytes .../e2fsprogs/tests/f_bad_inode_csum/name | 1 - .../e2fsprogs/tests/f_bad_local_jnl/expect.1 | 14 - .../e2fsprogs/tests/f_bad_local_jnl/expect.2 | 7 - .../e2fsprogs/tests/f_bad_local_jnl/image | Bin 8388608 -> 0 bytes .../e2fsprogs/tests/f_bad_local_jnl/image.gz | Bin 10433 -> 0 bytes .../e2fsprogs/tests/f_bad_local_jnl/name | 1 - .../e2fsprogs/tests/f_badbblocks/expect.1 | 28 - .../e2fsprogs/tests/f_badbblocks/expect.2 | 7 - .../e2fsprogs/tests/f_badbblocks/image.gz | Bin 376 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badbblocks/name | 1 - .../e2fsprogs/tests/f_badcluster/expect | 194 - .../e2fsprogs/tests/f_badcluster/image.gz | Bin 3149 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badcluster/name | 1 - .../e2fsprogs/tests/f_badcluster/script | 29 - src/_nfdos/e2fsprogs/tests/f_baddir/expect.1 | 54 - src/_nfdos/e2fsprogs/tests/f_baddir/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_baddir/image.gz | Bin 14241 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_baddir/name | 1 - src/_nfdos/e2fsprogs/tests/f_baddir2/expect.1 | 12 - src/_nfdos/e2fsprogs/tests/f_baddir2/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_baddir2/image.gz | Bin 587 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_baddir2/name | 1 - .../e2fsprogs/tests/f_baddotdir/expect.1 | 62 - .../e2fsprogs/tests/f_baddotdir/expect.2 | 7 - .../e2fsprogs/tests/f_baddotdir/image.gz | Bin 592 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_baddotdir/name | 1 - .../e2fsprogs/tests/f_badinode/expect.1 | 40 - .../e2fsprogs/tests/f_badinode/expect.2 | 7 - .../e2fsprogs/tests/f_badinode/image.gz | Bin 1155 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badinode/name | 1 - .../tests/f_badjour_encrypted/expect.1 | 30 - .../tests/f_badjour_encrypted/expect.2 | 7 - .../e2fsprogs/tests/f_badjour_encrypted/name | 1 - .../tests/f_badjour_encrypted/script | 11 - .../tests/f_badjour_indblks/expect.1 | 32 - .../tests/f_badjour_indblks/expect.2 | 7 - .../tests/f_badjour_indblks/image.gz | Bin 10569 -> 0 bytes .../e2fsprogs/tests/f_badjour_indblks/name | 1 - .../e2fsprogs/tests/f_badjourblks/expect.1 | 30 - .../e2fsprogs/tests/f_badjourblks/expect.2 | 7 - .../e2fsprogs/tests/f_badjourblks/image.gz | Bin 10481 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badjourblks/name | 1 - .../e2fsprogs/tests/f_badorphan/expect.1 | 77 - .../e2fsprogs/tests/f_badorphan/expect.2 | 7 - .../e2fsprogs/tests/f_badorphan/image.gz | Bin 78820 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badorphan/name | 1 - .../e2fsprogs/tests/f_badprimary/expect.1 | 27 - .../e2fsprogs/tests/f_badprimary/expect.2 | 7 - .../e2fsprogs/tests/f_badprimary/image.gz | Bin 374 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badprimary/name | 1 - src/_nfdos/e2fsprogs/tests/f_badroot/expect.1 | 29 - src/_nfdos/e2fsprogs/tests/f_badroot/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_badroot/image.gz | Bin 479 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badroot/name | 1 - .../e2fsprogs/tests/f_badsymlinks/expect.1 | 61 - .../e2fsprogs/tests/f_badsymlinks/expect.2 | 7 - .../e2fsprogs/tests/f_badsymlinks/image.gz | Bin 1767 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badsymlinks/name | 1 - .../e2fsprogs/tests/f_badsymlinks2/expect.1 | 114 - .../e2fsprogs/tests/f_badsymlinks2/expect.2 | 7 - .../e2fsprogs/tests/f_badsymlinks2/image.gz | Bin 14302 -> 0 bytes .../e2fsprogs/tests/f_badsymlinks2/mkimage.sh | 127 - .../e2fsprogs/tests/f_badsymlinks2/name | 1 - .../e2fsprogs/tests/f_badtable/expect.1 | 45 - .../e2fsprogs/tests/f_badtable/expect.2 | 7 - .../e2fsprogs/tests/f_badtable/image.gz | Bin 987 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_badtable/name | 1 - .../e2fsprogs/tests/f_bb_in_bb/expect.1 | 19 - .../e2fsprogs/tests/f_bb_in_bb/expect.2 | 7 - .../e2fsprogs/tests/f_bb_in_bb/image.gz | Bin 2414 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bb_in_bb/name | 1 - src/_nfdos/e2fsprogs/tests/f_bbfile/expect.1 | 48 - src/_nfdos/e2fsprogs/tests/f_bbfile/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_bbfile/image.gz | Bin 5195 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bbfile/name | 1 - src/_nfdos/e2fsprogs/tests/f_bbinode/expect.1 | 51 - src/_nfdos/e2fsprogs/tests/f_bbinode/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_bbinode/image.gz | Bin 2637 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bbinode/name | 1 - .../e2fsprogs/tests/f_big_sparse/expect.1 | 11 - .../e2fsprogs/tests/f_big_sparse/expect.2 | 7 - .../e2fsprogs/tests/f_big_sparse/image.gz | Bin 801 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_big_sparse/name | 1 - .../tests/f_bigalloc_badinode/expect.1 | 12 - .../tests/f_bigalloc_badinode/expect.2 | 7 - .../e2fsprogs/tests/f_bigalloc_badinode/name | 1 - .../tests/f_bigalloc_badinode/script | 23 - .../tests/f_bigalloc_orphan_list/expect.1 | 10 - .../tests/f_bigalloc_orphan_list/expect.2 | 7 - .../tests/f_bigalloc_orphan_list/name | 1 - .../tests/f_bigalloc_orphan_list/script | 28 - .../f_bigalloc_symlink_with_xattr/expect.1 | 7 - .../f_bigalloc_symlink_with_xattr/image.gz | Bin 663 -> 0 bytes .../tests/f_bigalloc_symlink_with_xattr/name | 1 - .../f_bigalloc_symlink_with_xattr/script | 2 - src/_nfdos/e2fsprogs/tests/f_bitmaps/expect.1 | 19 - src/_nfdos/e2fsprogs/tests/f_bitmaps/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_bitmaps/image.gz | Bin 687 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_bitmaps/name | 1 - .../e2fsprogs/tests/f_boundscheck/expect.1 | 25 - .../e2fsprogs/tests/f_boundscheck/expect.2 | 25 - .../e2fsprogs/tests/f_boundscheck/image.bz2 | Bin 986 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_boundscheck/name | 1 - .../e2fsprogs/tests/f_boundscheck/script | 31 - .../e2fsprogs/tests/f_clear_xattr/expect.1 | 38 - .../e2fsprogs/tests/f_clear_xattr/expect.2 | 7 - .../e2fsprogs/tests/f_clear_xattr/image.gz | Bin 1082 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_clear_xattr/name | 1 - .../tests/f_cloneblock_alloc_error/expect.1 | 36 - .../tests/f_cloneblock_alloc_error/expect.2 | 7 - .../tests/f_cloneblock_alloc_error/image.gz | Bin 3441 -> 0 bytes .../tests/f_cloneblock_alloc_error/name | 1 - .../tests/f_collapse_extent_tree/expect.1 | 16 - .../tests/f_collapse_extent_tree/expect.2 | 10 - .../tests/f_collapse_extent_tree/image.gz | Bin 2537 -> 0 bytes .../tests/f_collapse_extent_tree/name | 1 - .../tests/f_collapse_extent_tree/script | 115 - .../f_compress_extent_tree_level/expect.1 | 23 - .../f_compress_extent_tree_level/expect.2 | 17 - .../f_compress_extent_tree_level/image.gz | Bin 2581 -> 0 bytes .../tests/f_compress_extent_tree_level/name | 1 - .../tests/f_compress_extent_tree_level/script | 117 - .../e2fsprogs/tests/f_convert_bmap/expect.1 | 26 - .../e2fsprogs/tests/f_convert_bmap/expect.2 | 10 - .../e2fsprogs/tests/f_convert_bmap/image.gz | Bin 3548 -> 0 bytes .../e2fsprogs/tests/f_convert_bmap/name | 1 - .../e2fsprogs/tests/f_convert_bmap/script | 115 - .../tests/f_convert_bmap_and_extent/expect.1 | 33 - .../tests/f_convert_bmap_and_extent/expect.2 | 16 - .../tests/f_convert_bmap_and_extent/image.gz | Bin 3657 -> 0 bytes .../tests/f_convert_bmap_and_extent/name | 1 - .../tests/f_convert_bmap_and_extent/script | 117 - .../tests/f_convert_bmap_sparse/expect.1 | 24 - .../tests/f_convert_bmap_sparse/expect.2 | 12 - .../tests/f_convert_bmap_sparse/image.gz | Bin 5585 -> 0 bytes .../tests/f_convert_bmap_sparse/name | 1 - .../tests/f_convert_bmap_sparse/script | 115 - .../tests/f_corrupt_dirent_tail/expect.1 | 16 - .../tests/f_corrupt_dirent_tail/expect.2 | 7 - .../tests/f_corrupt_dirent_tail/image.gz | Bin 2685 -> 0 bytes .../tests/f_corrupt_dirent_tail/name | 1 - .../e2fsprogs/tests/f_crashdisk/expect.1 | 17 - .../e2fsprogs/tests/f_crashdisk/image.gz | Bin 1044 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_crashdisk/name | 1 - src/_nfdos/e2fsprogs/tests/f_crashdisk/script | 2 - .../e2fsprogs/tests/f_create_symlinks/expect | 81 - .../e2fsprogs/tests/f_create_symlinks/name | 1 - .../e2fsprogs/tests/f_create_symlinks/script | 54 - .../e2fsprogs/tests/f_del_dup_quota/expect.1 | 39 - .../e2fsprogs/tests/f_del_dup_quota/expect.2 | 7 - .../e2fsprogs/tests/f_del_dup_quota/image.bz2 | Bin 1472 -> 0 bytes .../e2fsprogs/tests/f_del_dup_quota/name | 1 - .../e2fsprogs/tests/f_del_dup_quota/script | 34 - .../tests/f_deleted_inode_bad_csum/expect.1 | 11 - .../tests/f_deleted_inode_bad_csum/expect.2 | 7 - .../tests/f_deleted_inode_bad_csum/image.gz | Bin 2676 -> 0 bytes .../tests/f_deleted_inode_bad_csum/name | 1 - .../e2fsprogs/tests/f_desc_size_128/expect.1 | 7 - .../e2fsprogs/tests/f_desc_size_128/expect.2 | 7 - .../e2fsprogs/tests/f_desc_size_128/image.gz | Bin 11547 -> 0 bytes .../e2fsprogs/tests/f_desc_size_128/name | 1 - .../e2fsprogs/tests/f_desc_size_bad/expect.1 | 13 - .../e2fsprogs/tests/f_desc_size_bad/expect.2 | 7 - .../e2fsprogs/tests/f_desc_size_bad/script | 17 - .../e2fsprogs/tests/f_detect_junk/expect | 22 - .../tests/f_detect_junk/expect.nodebugfs | 21 - .../e2fsprogs/tests/f_detect_junk/image.bz2 | Bin 2504 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_detect_junk/name | 1 - .../e2fsprogs/tests/f_detect_junk/script | 43 - .../e2fsprogs/tests/f_detect_xfs/expect | 25 - .../tests/f_detect_xfs/expect.nodebugfs | 24 - .../e2fsprogs/tests/f_detect_xfs/image.bz2 | Bin 450 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_detect_xfs/name | 1 - .../e2fsprogs/tests/f_detect_xfs/script | 37 - .../e2fsprogs/tests/f_dir_bad_csum/expect.1 | 48 - .../e2fsprogs/tests/f_dir_bad_csum/expect.2 | 7 - .../e2fsprogs/tests/f_dir_bad_csum/image.gz | Bin 3499 -> 0 bytes .../e2fsprogs/tests/f_dir_bad_csum/name | 1 - .../e2fsprogs/tests/f_dir_bad_mode/expect.1 | 12 - .../e2fsprogs/tests/f_dir_bad_mode/expect.2 | 7 - .../e2fsprogs/tests/f_dir_bad_mode/image.gz | Bin 592 -> 0 bytes .../e2fsprogs/tests/f_dir_bad_mode/name | 1 - src/_nfdos/e2fsprogs/tests/f_dirlink/expect.1 | 14 - src/_nfdos/e2fsprogs/tests/f_dirlink/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dirlink/image.gz | Bin 490 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dirlink/name | 1 - src/_nfdos/e2fsprogs/tests/f_dup/expect.1 | 40 - src/_nfdos/e2fsprogs/tests/f_dup/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup/image.gz | Bin 3744 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dup/name | 1 - src/_nfdos/e2fsprogs/tests/f_dup2/expect.1 | 47 - src/_nfdos/e2fsprogs/tests/f_dup2/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup2/image.gz | Bin 14589 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dup2/name | 1 - src/_nfdos/e2fsprogs/tests/f_dup3/expect.1 | 47 - src/_nfdos/e2fsprogs/tests/f_dup3/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup3/image.gz | Bin 15358 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dup3/name | 1 - src/_nfdos/e2fsprogs/tests/f_dup4/expect.1 | 130 - src/_nfdos/e2fsprogs/tests/f_dup4/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup4/name | 1 - src/_nfdos/e2fsprogs/tests/f_dup4/script | 55 - src/_nfdos/e2fsprogs/tests/f_dup_ba/expect.1 | 69 - src/_nfdos/e2fsprogs/tests/f_dup_ba/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup_ba/image.gz | Bin 4668 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dup_ba/name | 1 - .../e2fsprogs/tests/f_dup_de/expect-nohtree.1 | 31 - .../e2fsprogs/tests/f_dup_de/expect-nohtree.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup_de/expect.1 | 28 - src/_nfdos/e2fsprogs/tests/f_dup_de/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup_de/image.gz | Bin 8970 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dup_de/name | 1 - src/_nfdos/e2fsprogs/tests/f_dup_de/script | 15 - src/_nfdos/e2fsprogs/tests/f_dup_de2/expect.1 | 16 - src/_nfdos/e2fsprogs/tests/f_dup_de2/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup_de2/image.gz | Bin 4860 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dup_de2/name | 1 - .../e2fsprogs/tests/f_dup_de_crypt/expect.1 | 18 - .../e2fsprogs/tests/f_dup_de_crypt/expect.2 | 7 - .../e2fsprogs/tests/f_dup_de_crypt/image.gz | Bin 3039 -> 0 bytes .../e2fsprogs/tests/f_dup_de_crypt/name | 1 - .../e2fsprogs/tests/f_dup_resize/expect.1 | 35 - .../e2fsprogs/tests/f_dup_resize/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dup_resize/name | 1 - .../e2fsprogs/tests/f_dup_resize/script | 29 - src/_nfdos/e2fsprogs/tests/f_dupdot/expect.1 | 22 - src/_nfdos/e2fsprogs/tests/f_dupdot/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_dupdot/image.gz | Bin 553 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dupdot/name | 1 - .../e2fsprogs/tests/f_dupfsblks/expect.1 | 65 - .../e2fsprogs/tests/f_dupfsblks/expect.2 | 7 - .../e2fsprogs/tests/f_dupfsblks/image.gz | Bin 464 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dupfsblks/name | 1 - .../e2fsprogs/tests/f_dupsuper/expect.1 | 27 - .../e2fsprogs/tests/f_dupsuper/expect.2 | 7 - .../e2fsprogs/tests/f_dupsuper/image.gz | Bin 5158 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_dupsuper/name | 1 - .../e2fsprogs/tests/f_ea_bad_csum/expect.1 | 29 - .../e2fsprogs/tests/f_ea_bad_csum/expect.2 | 7 - .../e2fsprogs/tests/f_ea_bad_csum/image.gz | Bin 3176 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_ea_bad_csum/name | 1 - .../e2fsprogs/tests/f_ea_checks/expect.1 | 57 - .../e2fsprogs/tests/f_ea_checks/expect.2 | 7 - .../e2fsprogs/tests/f_ea_checks/image.gz | Bin 2306 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_ea_checks/name | 1 - .../e2fsprogs/tests/f_ea_inode/expect.1 | 31 - .../e2fsprogs/tests/f_ea_inode/expect.2 | 7 - .../e2fsprogs/tests/f_ea_inode/image.gz | Bin 1389 -> 0 bytes .../tests/f_ea_inode_self_ref/expect.1 | 17 - .../tests/f_ea_inode_self_ref/expect.2 | 7 - .../tests/f_ea_inode_self_ref/image.gz | Bin 661 -> 0 bytes .../e2fsprogs/tests/f_ea_inode_self_ref/name | 1 - .../e2fsprogs/tests/f_ea_signed_hash/expect.1 | 7 - .../e2fsprogs/tests/f_ea_signed_hash/image.gz | Bin 1128 -> 0 bytes .../e2fsprogs/tests/f_ea_signed_hash/script | 2 - .../tests/f_ea_unsigned_hash/expect.1 | 7 - .../tests/f_ea_unsigned_hash/image.gz | Bin 1321 -> 0 bytes .../e2fsprogs/tests/f_ea_unsigned_hash/script | 2 - .../e2fsprogs/tests/f_ea_value_crash/expect.1 | 15 - .../e2fsprogs/tests/f_ea_value_crash/expect.2 | 7 - .../e2fsprogs/tests/f_ea_value_crash/image.gz | Bin 2627 -> 0 bytes .../e2fsprogs/tests/f_ea_value_crash/name | 1 - .../e2fsprogs/tests/f_emptydir/expect.1 | 19 - .../e2fsprogs/tests/f_emptydir/expect.2 | 7 - .../e2fsprogs/tests/f_emptydir/image.gz | Bin 2710 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_emptydir/name | 1 - .../e2fsprogs/tests/f_encrypted_lpf/expect.1 | 27 - .../e2fsprogs/tests/f_encrypted_lpf/expect.2 | 7 - .../e2fsprogs/tests/f_encrypted_lpf/image.gz | Bin 1123 -> 0 bytes .../e2fsprogs/tests/f_encrypted_lpf/name | 1 - .../e2fsprogs/tests/f_end-bitmap/expect.1 | 18 - .../e2fsprogs/tests/f_end-bitmap/expect.2 | 7 - .../e2fsprogs/tests/f_end-bitmap/image.gz | Bin 3756 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_end-bitmap/name | 1 - .../e2fsprogs/tests/f_eofblocks/expect.1 | 13 - .../e2fsprogs/tests/f_eofblocks/expect.2 | 7 - .../e2fsprogs/tests/f_eofblocks/image.gz | Bin 1372 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_eofblocks/name | 1 - .../e2fsprogs/tests/f_expand/expect.1.gz | Bin 13461 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_expand/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_expand/image.gz | Bin 63068 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_expand/name | 1 - .../tests/f_expandroot_create_lnf/expect.1 | 12 - .../tests/f_expandroot_create_lnf/expect.2 | 7 - .../tests/f_expandroot_create_lnf/image.gz | Bin 1622 -> 0 bytes .../tests/f_expandroot_create_lnf/name | 1 - .../e2fsprogs/tests/f_ext_journal/expect.1 | 8 - .../e2fsprogs/tests/f_ext_journal/expect.2 | 7 - .../e2fsprogs/tests/f_ext_journal/image.gz | Bin 49415 -> 0 bytes .../e2fsprogs/tests/f_ext_journal/journal.gz | Bin 45113 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_ext_journal/name | 1 - .../e2fsprogs/tests/f_ext_journal/script | 8 - .../e2fsprogs/tests/f_ext_zero_len/expect.1 | 13 - .../e2fsprogs/tests/f_ext_zero_len/expect.2 | 7 - .../e2fsprogs/tests/f_ext_zero_len/image.gz | Bin 576 -> 0 bytes .../e2fsprogs/tests/f_ext_zero_len/name | 1 - .../tests/f_extent_bad_node/expect.1 | 26 - .../tests/f_extent_bad_node/expect.2 | 7 - .../tests/f_extent_bad_node/image.gz | Bin 1254 -> 0 bytes .../e2fsprogs/tests/f_extent_bad_node/name | 1 - .../e2fsprogs/tests/f_extent_htree/expect.1 | 29 - .../e2fsprogs/tests/f_extent_htree/expect.2 | 7 - .../tests/f_extent_htree/expect.pre.1 | 29 - .../tests/f_extent_htree/expect.pre.2 | 7 - .../e2fsprogs/tests/f_extent_htree/name | 1 - .../e2fsprogs/tests/f_extent_htree/script | 56 - .../tests/f_extent_int_bad_csum/expect.1 | 11 - .../tests/f_extent_int_bad_csum/expect.2 | 7 - .../tests/f_extent_int_bad_csum/image.gz | Bin 7202 -> 0 bytes .../tests/f_extent_int_bad_csum/name | 1 - .../tests/f_extent_int_bad_extent/expect.1 | 24 - .../tests/f_extent_int_bad_extent/expect.2 | 7 - .../tests/f_extent_int_bad_extent/image.gz | Bin 7205 -> 0 bytes .../tests/f_extent_int_bad_extent/name | 1 - .../tests/f_extent_int_bad_magic/expect.1 | 26 - .../tests/f_extent_int_bad_magic/expect.2 | 7 - .../tests/f_extent_int_bad_magic/image.gz | Bin 7205 -> 0 bytes .../tests/f_extent_int_bad_magic/name | 1 - .../f_extent_interior_start_lblk/expect.1 | 12 - .../f_extent_interior_start_lblk/expect.2 | 7 - .../f_extent_interior_start_lblk/image.gz | Bin 603 -> 0 bytes .../tests/f_extent_interior_start_lblk/name | 1 - .../tests/f_extent_leaf_bad_csum/expect.1 | 11 - .../tests/f_extent_leaf_bad_csum/expect.2 | 7 - .../tests/f_extent_leaf_bad_csum/image.gz | Bin 5005 -> 0 bytes .../tests/f_extent_leaf_bad_csum/name | 1 - .../tests/f_extent_leaf_bad_extent/expect.1 | 24 - .../tests/f_extent_leaf_bad_extent/expect.2 | 7 - .../tests/f_extent_leaf_bad_extent/image.gz | Bin 5008 -> 0 bytes .../tests/f_extent_leaf_bad_extent/name | 1 - .../tests/f_extent_leaf_bad_magic/expect.1 | 26 - .../tests/f_extent_leaf_bad_magic/expect.2 | 7 - .../tests/f_extent_leaf_bad_magic/image.gz | Bin 5008 -> 0 bytes .../tests/f_extent_leaf_bad_magic/name | 1 - .../tests/f_extent_oobounds/expect.1 | 27 - .../tests/f_extent_oobounds/expect.2 | 7 - .../e2fsprogs/tests/f_extent_oobounds/script | 41 - .../tests/f_extent_too_deep/expect.1 | 23 - .../tests/f_extent_too_deep/expect.2 | 10 - .../tests/f_extent_too_deep/image.gz | Bin 2592 -> 0 bytes .../e2fsprogs/tests/f_extent_too_deep/name | 1 - .../e2fsprogs/tests/f_extent_too_deep/script | 113 - src/_nfdos/e2fsprogs/tests/f_extents/expect.1 | 67 - src/_nfdos/e2fsprogs/tests/f_extents/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_extents/image.gz | Bin 20935 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_extents/name | 1 - .../e2fsprogs/tests/f_extents2/expect.1 | 70 - .../e2fsprogs/tests/f_extents2/expect.2 | 7 - .../e2fsprogs/tests/f_extents2/image.gz | Bin 40632 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_extents2/name | 1 - .../e2fsprogs/tests/f_extra_journal/expect.1 | 23 - .../e2fsprogs/tests/f_extra_journal/expect.2 | 7 - .../e2fsprogs/tests/f_extra_journal/image.gz | Bin 4320 -> 0 bytes .../e2fsprogs/tests/f_extra_journal/name | 1 - .../tests/f_fast_symlink_extents/expect.1 | 11 - .../tests/f_fast_symlink_extents/expect.2 | 7 - .../tests/f_fast_symlink_extents/image.gz | Bin 565 -> 0 bytes .../tests/f_fast_symlink_extents/name | 1 - .../e2fsprogs/tests/f_file_acl_high/expect.1 | 12 - .../e2fsprogs/tests/f_file_acl_high/expect.2 | 7 - .../e2fsprogs/tests/f_file_acl_high/image.gz | Bin 891 -> 0 bytes .../e2fsprogs/tests/f_file_acl_high/name | 1 - .../e2fsprogs/tests/f_filetype/expect.1 | 49 - .../e2fsprogs/tests/f_filetype/expect.2 | 7 - .../e2fsprogs/tests/f_filetype/image.gz | Bin 646 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_filetype/name | 1 - .../tests/f_first_meta_bg_too_big/expect.1 | 24 - .../tests/f_first_meta_bg_too_big/expect.2 | 7 - .../tests/f_first_meta_bg_too_big/image.gz | Bin 533 -> 0 bytes .../tests/f_first_meta_bg_too_big/name | 1 - src/_nfdos/e2fsprogs/tests/f_full_bg/expect.1 | 7 - src/_nfdos/e2fsprogs/tests/f_full_bg/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_full_bg/image.gz | Bin 1860 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_full_bg/name | 1 - .../e2fsprogs/tests/f_h_badnode/expect.1 | 18 - .../e2fsprogs/tests/f_h_badnode/expect.2 | 7 - .../e2fsprogs/tests/f_h_badnode/image.gz | Bin 467331 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_h_badnode/name | 1 - src/_nfdos/e2fsprogs/tests/f_h_badnode/script | 5 - .../e2fsprogs/tests/f_h_badroot/expect.1 | 40 - .../e2fsprogs/tests/f_h_badroot/expect.2 | 7 - .../e2fsprogs/tests/f_h_badroot/image.gz | Bin 43165 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_h_badroot/name | 1 - src/_nfdos/e2fsprogs/tests/f_h_badroot/script | 5 - .../e2fsprogs/tests/f_h_normal/expect.1 | 7 - .../e2fsprogs/tests/f_h_normal/expect.2 | 7 - .../e2fsprogs/tests/f_h_normal/image.gz | Bin 454847 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_h_normal/name | 1 - src/_nfdos/e2fsprogs/tests/f_h_normal/script | 5 - .../e2fsprogs/tests/f_h_reindex/expect.1 | 958 -- .../e2fsprogs/tests/f_h_reindex/expect.2 | 7 - .../e2fsprogs/tests/f_h_reindex/image.gz | Bin 621257 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_h_reindex/name | 1 - src/_nfdos/e2fsprogs/tests/f_h_reindex/script | 5 - .../e2fsprogs/tests/f_h_unsigned/expect.1 | 7 - .../e2fsprogs/tests/f_h_unsigned/expect.2 | 7 - .../e2fsprogs/tests/f_h_unsigned/image.gz | Bin 454913 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_h_unsigned/name | 1 - .../e2fsprogs/tests/f_h_unsigned/script | 5 - src/_nfdos/e2fsprogs/tests/f_holedir/expect.1 | 33 - src/_nfdos/e2fsprogs/tests/f_holedir/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_holedir/image.gz | Bin 345 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_holedir/name | 1 - .../e2fsprogs/tests/f_holedir2/expect.1 | 22 - .../e2fsprogs/tests/f_holedir2/expect.2 | 7 - .../e2fsprogs/tests/f_holedir2/image.gz | Bin 612 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_holedir2/name | 1 - .../e2fsprogs/tests/f_holedir3/expect.1 | 13 - .../e2fsprogs/tests/f_holedir3/expect.2 | 7 - .../e2fsprogs/tests/f_holedir3/image.gz | Bin 3700 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_holedir3/name | 1 - .../e2fsprogs/tests/f_holedir4/expect.1 | 68 - .../e2fsprogs/tests/f_holedir4/expect.2 | 11 - .../e2fsprogs/tests/f_holedir4/image.gz | Bin 2535 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_holedir4/name | 1 - .../e2fsprogs/tests/f_htree_bad_csum/expect.1 | 28 - .../e2fsprogs/tests/f_htree_bad_csum/expect.2 | 7 - .../e2fsprogs/tests/f_htree_bad_csum/image.gz | Bin 5462 -> 0 bytes .../e2fsprogs/tests/f_htree_bad_csum/name | 1 - .../tests/f_htree_leaf_csum/expect.1 | 12 - .../tests/f_htree_leaf_csum/expect.2 | 7 - .../tests/f_htree_leaf_csum/image.gz | Bin 15906 -> 0 bytes .../e2fsprogs/tests/f_htree_leaf_csum/name | 1 - .../e2fsprogs/tests/f_hugedir_blocks/expect.1 | 10 - .../e2fsprogs/tests/f_hugedir_blocks/expect.2 | 7 - .../e2fsprogs/tests/f_hugedir_blocks/image.gz | Bin 2497 -> 0 bytes .../e2fsprogs/tests/f_hugedir_blocks/name | 1 - src/_nfdos/e2fsprogs/tests/f_hurd/expect.1 | 12 - src/_nfdos/e2fsprogs/tests/f_hurd/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_hurd/image.gz | Bin 401 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_hurd/name | 1 - .../tests/f_idata_and_extents/expect.1 | 35 - .../tests/f_idata_and_extents/expect.2 | 7 - .../tests/f_idata_and_extents/image.gz | Bin 3112 -> 0 bytes .../e2fsprogs/tests/f_idata_and_extents/name | 1 - .../e2fsprogs/tests/f_illbbitmap/expect.1 | 30 - .../e2fsprogs/tests/f_illbbitmap/expect.2 | 7 - .../e2fsprogs/tests/f_illbbitmap/image.gz | Bin 357 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_illbbitmap/name | 1 - .../e2fsprogs/tests/f_illibitmap/expect.1 | 27 - .../e2fsprogs/tests/f_illibitmap/expect.2 | 7 - .../e2fsprogs/tests/f_illibitmap/image.gz | Bin 360 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_illibitmap/name | 1 - .../e2fsprogs/tests/f_illitable/expect.1 | 49 - .../e2fsprogs/tests/f_illitable/expect.2 | 7 - .../e2fsprogs/tests/f_illitable/image.gz | Bin 396 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_illitable/name | 1 - .../tests/f_illitable_flexbg/expect.1 | 26 - .../tests/f_illitable_flexbg/expect.2 | 7 - .../tests/f_illitable_flexbg/image.gz | Bin 38080 -> 0 bytes .../e2fsprogs/tests/f_illitable_flexbg/name | 1 - src/_nfdos/e2fsprogs/tests/f_imagic/expect.1 | 47 - src/_nfdos/e2fsprogs/tests/f_imagic/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_imagic/image.gz | Bin 1143 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_imagic/name | 1 - .../e2fsprogs/tests/f_imagic_fs/expect.1 | 31 - .../e2fsprogs/tests/f_imagic_fs/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_imagic_fs/name | 1 - src/_nfdos/e2fsprogs/tests/f_imagic_fs/script | 8 - .../tests/f_ind_inode_collision/expect.1 | 146 - .../tests/f_ind_inode_collision/expect.2 | 7 - .../tests/f_ind_inode_collision/image.gz | Bin 2456 -> 0 bytes .../tests/f_ind_inode_collision/name | 1 - .../tests/f_inlinedata_dirblocks/expect.1 | 25 - .../tests/f_inlinedata_dirblocks/expect.2 | 7 - .../tests/f_inlinedata_dirblocks/image.gz | Bin 2597 -> 0 bytes .../tests/f_inlinedata_dirblocks/name | 1 - .../tests/f_inlinedata_flags/expect.1 | 26 - .../tests/f_inlinedata_flags/expect.2 | 7 - .../tests/f_inlinedata_flags/image.gz | Bin 11226 -> 0 bytes .../e2fsprogs/tests/f_inlinedata_flags/name | 1 - .../tests/f_inlinedata_repair/expect.1 | 58 - .../tests/f_inlinedata_repair/expect.2 | 7 - .../tests/f_inlinedata_repair/image.gz | Bin 3201 -> 0 bytes .../e2fsprogs/tests/f_inlinedata_repair/name | 1 - .../tests/f_inlinedir_detector/expect.1 | 20 - .../tests/f_inlinedir_detector/expect.2 | 7 - .../tests/f_inlinedir_detector/image.gz | Bin 2640 -> 0 bytes .../e2fsprogs/tests/f_inlinedir_detector/name | 1 - .../tests/f_inode_ea_collision/expect.1 | 15 - .../tests/f_inode_ea_collision/expect.2 | 7 - .../tests/f_inode_ea_collision/image.gz | Bin 2602 -> 0 bytes .../e2fsprogs/tests/f_inode_ea_collision/name | 1 - .../tests/f_invalid_bad_inode/expect.1 | 11 - .../tests/f_invalid_bad_inode/expect.2 | 7 - .../tests/f_invalid_bad_inode/image.gz | Bin 623 -> 0 bytes .../e2fsprogs/tests/f_invalid_bad_inode/name | 1 - .../tests/f_invalid_extent_symlink/expect.1 | 12 - .../tests/f_invalid_extent_symlink/expect.2 | 7 - .../tests/f_invalid_extent_symlink/image.gz | Bin 1115 -> 0 bytes .../tests/f_invalid_extent_symlink/name | 1 - .../tests/f_itable_collision/expect.1 | 93 - .../tests/f_itable_collision/expect.2 | 7 - .../tests/f_itable_collision/image.gz | Bin 2817 -> 0 bytes .../e2fsprogs/tests/f_itable_collision/name | 1 - .../e2fsprogs/tests/f_itable_collision/script | 36 - .../e2fsprogs/tests/f_jnl_32bit/expect.0 | 567 - .../e2fsprogs/tests/f_jnl_32bit/expect.1 | 16 - .../e2fsprogs/tests/f_jnl_32bit/expect.2 | 7 - .../e2fsprogs/tests/f_jnl_32bit/image.gz | Bin 44544 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_jnl_32bit/name | 1 - src/_nfdos/e2fsprogs/tests/f_jnl_32bit/script | 4 - .../e2fsprogs/tests/f_jnl_64bit/expect.0 | 757 -- .../e2fsprogs/tests/f_jnl_64bit/expect.1 | 16 - .../e2fsprogs/tests/f_jnl_64bit/expect.2 | 7 - .../e2fsprogs/tests/f_jnl_64bit/image.gz | Bin 118573 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_jnl_64bit/name | 1 - src/_nfdos/e2fsprogs/tests/f_jnl_64bit/script | 4 - .../e2fsprogs/tests/f_jnl_errno/expect.0 | 50 - .../e2fsprogs/tests/f_jnl_errno/expect.1 | 9 - .../e2fsprogs/tests/f_jnl_errno/expect.2 | 7 - .../e2fsprogs/tests/f_jnl_errno/image.gz | Bin 8822 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_jnl_errno/name | 1 - src/_nfdos/e2fsprogs/tests/f_jnl_errno/script | 4 - .../tests/f_jnl_etb_alloc_fail/expect.1 | 31 - .../tests/f_jnl_etb_alloc_fail/expect.2 | 20 - .../tests/f_jnl_etb_alloc_fail/image.gz | Bin 3450 -> 0 bytes .../e2fsprogs/tests/f_jnl_etb_alloc_fail/name | 1 - src/_nfdos/e2fsprogs/tests/f_journal/expect.1 | 62 - src/_nfdos/e2fsprogs/tests/f_journal/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_journal/image.gz | Bin 36380 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_journal/name | 1 - src/_nfdos/e2fsprogs/tests/f_large_dir/expect | 34 - .../e2fsprogs/tests/f_large_dir/is_slow_test | 0 src/_nfdos/e2fsprogs/tests/f_large_dir/name | 1 - src/_nfdos/e2fsprogs/tests/f_large_dir/script | 90 - .../e2fsprogs/tests/f_large_dir_csum/expect | 33 - .../tests/f_large_dir_csum/is_slow_test | 0 .../e2fsprogs/tests/f_large_dir_csum/name | 1 - .../e2fsprogs/tests/f_large_dir_csum/script | 84 - src/_nfdos/e2fsprogs/tests/f_lotsbad/expect.1 | 61 - src/_nfdos/e2fsprogs/tests/f_lotsbad/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_lotsbad/image.gz | Bin 3694 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_lotsbad/name | 1 - src/_nfdos/e2fsprogs/tests/f_lpf/expect.1 | 50 - src/_nfdos/e2fsprogs/tests/f_lpf/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_lpf/image.gz | Bin 15340 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_lpf/name | 1 - src/_nfdos/e2fsprogs/tests/f_lpf2/expect.1 | 41 - src/_nfdos/e2fsprogs/tests/f_lpf2/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_lpf2/image.gz | Bin 450 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_lpf2/name | 1 - src/_nfdos/e2fsprogs/tests/f_lpffile/expect.1 | 32 - src/_nfdos/e2fsprogs/tests/f_lpffile/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_lpffile/image.gz | Bin 509 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_lpffile/name | 1 - .../e2fsprogs/tests/f_many_subdirs/expect.1 | 47 - .../e2fsprogs/tests/f_many_subdirs/expect.2 | 7 - .../e2fsprogs/tests/f_many_subdirs/image.gz | Bin 1816025 -> 0 bytes .../e2fsprogs/tests/f_many_subdirs/name | 1 - .../e2fsprogs/tests/f_messy_inode/expect.1 | 38 - .../e2fsprogs/tests/f_messy_inode/expect.2 | 7 - .../e2fsprogs/tests/f_messy_inode/image.gz | Bin 3823 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_messy_inode/name | 1 - .../e2fsprogs/tests/f_miss_blk_bmap/expect.1 | 20 - .../e2fsprogs/tests/f_miss_blk_bmap/expect.2 | 7 - .../e2fsprogs/tests/f_miss_blk_bmap/image.gz | Bin 687 -> 0 bytes .../e2fsprogs/tests/f_miss_blk_bmap/name | 1 - .../e2fsprogs/tests/f_miss_journal/expect.1 | 28 - .../e2fsprogs/tests/f_miss_journal/expect.2 | 7 - .../e2fsprogs/tests/f_miss_journal/image.gz | Bin 4276 -> 0 bytes .../e2fsprogs/tests/f_miss_journal/name | 1 - .../e2fsprogs/tests/f_misstable/expect.1 | 49 - .../e2fsprogs/tests/f_misstable/expect.2 | 7 - .../e2fsprogs/tests/f_misstable/image.gz | Bin 17201 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_misstable/name | 1 - .../e2fsprogs/tests/f_mke2fs2b/expect.1 | 25 - .../e2fsprogs/tests/f_mke2fs2b/expect.2 | 7 - .../e2fsprogs/tests/f_mke2fs2b/image.gz | Bin 556 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_mke2fs2b/name | 1 - .../e2fsprogs/tests/f_mke2fs_baddisk/script | 24 - src/_nfdos/e2fsprogs/tests/f_mmp/is_slow_test | 0 src/_nfdos/e2fsprogs/tests/f_mmp/name | 1 - src/_nfdos/e2fsprogs/tests/f_mmp/script | 71 - .../e2fsprogs/tests/f_mmp_garbage/expect.1 | 9 - .../e2fsprogs/tests/f_mmp_garbage/expect.2 | 7 - .../tests/f_mmp_garbage/is_slow_test | 0 src/_nfdos/e2fsprogs/tests/f_mmp_garbage/name | 1 - .../e2fsprogs/tests/f_mmp_garbage/script | 17 - src/_nfdos/e2fsprogs/tests/f_no/expect | 50 - src/_nfdos/e2fsprogs/tests/f_no/script | 26 - .../tests/f_no_cache_corrupt_inode/expect.1 | 11 - .../tests/f_no_cache_corrupt_inode/expect.2 | 7 - .../tests/f_no_cache_corrupt_inode/image.gz | Bin 2606 -> 0 bytes .../tests/f_no_cache_corrupt_inode/name | 1 - src/_nfdos/e2fsprogs/tests/f_noroot/expect.1 | 39 - src/_nfdos/e2fsprogs/tests/f_noroot/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_noroot/image.gz | Bin 550 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_noroot/name | 1 - .../tests/f_nospc_create_lnf/expect.1 | 29 - .../tests/f_nospc_create_lnf/expect.2 | 26 - .../tests/f_nospc_create_lnf/image.gz | Bin 4201 -> 0 bytes .../e2fsprogs/tests/f_nospc_create_lnf/name | 1 - src/_nfdos/e2fsprogs/tests/f_okgroup/expect.1 | 9 - src/_nfdos/e2fsprogs/tests/f_okgroup/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_okgroup/image.gz | Bin 8387 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_okgroup/name | 1 - .../e2fsprogs/tests/f_opt_extent/expect | 55 - src/_nfdos/e2fsprogs/tests/f_opt_extent/name | 1 - .../e2fsprogs/tests/f_opt_extent/script | 64 - .../e2fsprogs/tests/f_opt_extent_ext3/expect | 44 - .../e2fsprogs/tests/f_opt_extent_ext3/name | 1 - .../e2fsprogs/tests/f_opt_extent_ext3/script | 65 - src/_nfdos/e2fsprogs/tests/f_orphan/expect.1 | 14 - src/_nfdos/e2fsprogs/tests/f_orphan/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_orphan/image.gz | Bin 12026 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_orphan/name | 1 - .../tests/f_orphan_dotdot_ft/expect.1 | 56 - .../tests/f_orphan_dotdot_ft/expect.2 | 7 - .../tests/f_orphan_dotdot_ft/image.gz | Bin 590 -> 0 bytes .../e2fsprogs/tests/f_orphan_dotdot_ft/name | 1 - .../tests/f_orphan_extents_inode/expect.1 | 10 - .../tests/f_orphan_extents_inode/expect.2 | 7 - .../tests/f_orphan_extents_inode/image.gz | Bin 564 -> 0 bytes .../tests/f_orphan_extents_inode/name | 1 - .../tests/f_orphan_indirect_inode/expect.1 | 3 - .../tests/f_orphan_indirect_inode/expect.2 | 7 - .../tests/f_orphan_indirect_inode/image.gz | Bin 592 -> 0 bytes .../tests/f_orphan_indirect_inode/name | 1 - .../tests/f_orphan_indirect_inode/script | 2 - src/_nfdos/e2fsprogs/tests/f_orphquot/expect | 16 - .../e2fsprogs/tests/f_orphquot/image.bz2 | Bin 2083 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_orphquot/script | 28 - .../e2fsprogs/tests/f_overfsblks/expect.1 | 21 - .../e2fsprogs/tests/f_overfsblks/expect.2 | 7 - .../e2fsprogs/tests/f_overfsblks/image.gz | Bin 351 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_overfsblks/name | 1 - .../tests/f_pre_1970_date_encoding/expect | 45 - .../tests/f_pre_1970_date_encoding/name | 1 - .../tests/f_pre_1970_date_encoding/script | 106 - src/_nfdos/e2fsprogs/tests/f_preen/expect.1 | 12 - src/_nfdos/e2fsprogs/tests/f_preen/expect.2 | 30 - src/_nfdos/e2fsprogs/tests/f_preen/image.gz | Bin 155743 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_preen/name | 1 - src/_nfdos/e2fsprogs/tests/f_preen/script | 4 - .../e2fsprogs/tests/f_quota/debugfs-cmds | 7 - src/_nfdos/e2fsprogs/tests/f_quota/expect.0 | 21 - src/_nfdos/e2fsprogs/tests/f_quota/expect.1 | 13 - src/_nfdos/e2fsprogs/tests/f_quota/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_quota/image.gz | Bin 1046 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_quota/name | 1 - src/_nfdos/e2fsprogs/tests/f_quota/script | 11 - .../tests/f_quota_extent_opt/expect.1 | 15 - .../tests/f_quota_extent_opt/expect.2 | 7 - .../tests/f_quota_extent_opt/image.gz | Bin 9018 -> 0 bytes .../e2fsprogs/tests/f_quota_extent_opt/name | 1 - .../tests/f_quota_invalid_inum/expect.1 | 15 - .../tests/f_quota_invalid_inum/expect.2 | 7 - .../tests/f_quota_invalid_inum/image.gz | Bin 583 -> 0 bytes .../e2fsprogs/tests/f_quota_invalid_inum/name | 1 - .../e2fsprogs/tests/f_readonly_fsck/expect | 11 - .../e2fsprogs/tests/f_readonly_fsck/image.gz | Bin 2538 -> 0 bytes .../e2fsprogs/tests/f_readonly_fsck/name | 1 - .../e2fsprogs/tests/f_readonly_fsck/script | 43 - .../tests/f_rebuild_csum_rootdir/expect.1 | 306 - .../tests/f_rebuild_csum_rootdir/expect.2 | 7 - .../tests/f_rebuild_csum_rootdir/image.gz | Bin 12476 -> 0 bytes .../tests/f_rebuild_csum_rootdir/name | 1 - .../e2fsprogs/tests/f_recnect_bad/expect.1 | 37 - .../e2fsprogs/tests/f_recnect_bad/expect.2 | 7 - .../e2fsprogs/tests/f_recnect_bad/image.gz | Bin 543 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_recnect_bad/name | 1 - .../e2fsprogs/tests/f_reconnect/expect.1 | 24 - .../e2fsprogs/tests/f_reconnect/expect.2 | 7 - .../e2fsprogs/tests/f_reconnect/image.gz | Bin 538 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_reconnect/name | 1 - .../e2fsprogs/tests/f_rehash_dir/expect.1 | 10 - .../e2fsprogs/tests/f_rehash_dir/expect.2 | 7 - .../e2fsprogs/tests/f_rehash_dir/image.gz | Bin 3126 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_rehash_dir/name | 1 - .../e2fsprogs/tests/f_rehash_dir/script | 3 - .../e2fsprogs/tests/f_resize_inode/expect | 159 - .../e2fsprogs/tests/f_resize_inode/script | 115 - .../tests/f_resize_inode_meta_bg/expect.1 | 70 - .../tests/f_resize_inode_meta_bg/expect.2 | 7 - .../tests/f_resize_inode_meta_bg/image.gz | Bin 21467 -> 0 bytes .../tests/f_resize_inode_meta_bg/name | 1 - .../e2fsprogs/tests/f_salvage_dir/expect.1 | 19 - .../e2fsprogs/tests/f_salvage_dir/expect.2 | 7 - .../e2fsprogs/tests/f_salvage_dir/image.gz | Bin 616 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_salvage_dir/name | 1 - .../e2fsprogs/tests/f_sb_extra_isize/expect.1 | 13 - .../e2fsprogs/tests/f_sb_extra_isize/expect.2 | 7 - .../e2fsprogs/tests/f_sb_extra_isize/image.gz | Bin 719 -> 0 bytes .../e2fsprogs/tests/f_sb_extra_isize/name | 1 - src/_nfdos/e2fsprogs/tests/f_selinux/expect.1 | 7 - src/_nfdos/e2fsprogs/tests/f_selinux/expect.2 | 7 - src/_nfdos/e2fsprogs/tests/f_selinux/image.gz | Bin 715 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_selinux/name | 1 - .../tests/f_shared_blocks_ok/expect.1 | 7 - .../tests/f_shared_blocks_ok/expect.2 | 7 - .../tests/f_shared_blocks_ok/image.gz | Bin 831 -> 0 bytes .../e2fsprogs/tests/f_shared_blocks_ok/name | 1 - .../tests/f_short_encrypted_dirent/expect.1 | 17 - .../tests/f_short_encrypted_dirent/expect.2 | 7 - .../tests/f_short_encrypted_dirent/image.gz | Bin 1008 -> 0 bytes .../tests/f_short_encrypted_dirent/name | 1 - .../e2fsprogs/tests/f_special_ea/expect.1 | 11 - .../e2fsprogs/tests/f_special_ea/image.gz | Bin 30344 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_special_ea/name | 1 - .../e2fsprogs/tests/f_special_ea/script | 2 - .../e2fsprogs/tests/f_summary_counts/expect.1 | 19 - .../e2fsprogs/tests/f_summary_counts/expect.2 | 7 - .../e2fsprogs/tests/f_summary_counts/image.gz | Bin 440 -> 0 bytes .../e2fsprogs/tests/f_summary_counts/name | 1 - .../e2fsprogs/tests/f_summary_counts/script | 4 - .../e2fsprogs/tests/f_super_bad_csum/expect.1 | 13 - .../e2fsprogs/tests/f_super_bad_csum/expect.2 | 7 - .../tests/f_super_bad_csum/image.bz2 | Bin 1181 -> 0 bytes .../e2fsprogs/tests/f_super_bad_csum/name | 1 - .../e2fsprogs/tests/f_super_bad_csum/script | 33 - .../tests/f_toobig_extent_dir/expect.1 | 12 - .../tests/f_toobig_extent_dir/expect.2 | 7 - .../tests/f_toobig_extent_dir/image.gz | Bin 822 -> 0 bytes .../e2fsprogs/tests/f_toobig_extent_dir/name | 1 - .../tests/f_trunc_dirent_header/expect.1 | 15 - .../tests/f_trunc_dirent_header/expect.2 | 7 - .../tests/f_trunc_dirent_header/image.gz | Bin 2873 -> 0 bytes .../tests/f_trunc_dirent_header/name | 1 - .../tests/f_uninit_bad_free_inodes/expect.1 | 25 - .../tests/f_uninit_bad_free_inodes/expect.2 | 7 - .../tests/f_uninit_bad_free_inodes/image.gz | Bin 114234 -> 0 bytes .../tests/f_uninit_bad_free_inodes/name | 1 - .../tests/f_uninit_blk_used_not_set/expect.1 | 34 - .../tests/f_uninit_blk_used_not_set/expect.2 | 7 - .../tests/f_uninit_blk_used_not_set/image.gz | Bin 56712 -> 0 bytes .../tests/f_uninit_blk_used_not_set/name | 1 - .../e2fsprogs/tests/f_uninit_cat/expect | Bin 3623 -> 0 bytes .../e2fsprogs/tests/f_uninit_cat/image.gz | Bin 1553 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_uninit_cat/name | 1 - .../e2fsprogs/tests/f_uninit_cat/script | 36 - .../tests/f_uninit_checksum_bad/expect.1 | 29 - .../tests/f_uninit_checksum_bad/expect.2 | 7 - .../tests/f_uninit_checksum_bad/image.gz | Bin 42374 -> 0 bytes .../tests/f_uninit_checksum_bad/name | 1 - .../e2fsprogs/tests/f_uninit_dir/expect.1 | 25 - .../e2fsprogs/tests/f_uninit_dir/expect.2 | 7 - .../e2fsprogs/tests/f_uninit_dir/image.gz | Bin 2604 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_uninit_dir/name | 1 - .../e2fsprogs/tests/f_uninit_disable/expect.1 | 10 - .../e2fsprogs/tests/f_uninit_disable/expect.2 | 7 - .../e2fsprogs/tests/f_uninit_disable/image.gz | Bin 10792 -> 0 bytes .../e2fsprogs/tests/f_uninit_disable/name | 1 - .../e2fsprogs/tests/f_uninit_enable/expect.1 | 10 - .../e2fsprogs/tests/f_uninit_enable/expect.2 | 7 - .../e2fsprogs/tests/f_uninit_enable/image.gz | Bin 10787 -> 0 bytes .../e2fsprogs/tests/f_uninit_enable/name | 1 - .../tests/f_uninit_ext_past_eof/expect.1 | 7 - .../tests/f_uninit_ext_past_eof/expect.2 | 7 - .../tests/f_uninit_ext_past_eof/image.gz | Bin 5102 -> 0 bytes .../tests/f_uninit_ext_past_eof/name | 1 - .../tests/f_uninit_ext_past_eof2/expect.1 | 7 - .../tests/f_uninit_ext_past_eof2/expect.2 | 7 - .../tests/f_uninit_ext_past_eof2/image.gz | Bin 989 -> 0 bytes .../tests/f_uninit_ext_past_eof2/name | 1 - .../tests/f_uninit_inode_past_unused/expect.1 | 24 - .../tests/f_uninit_inode_past_unused/expect.2 | 7 - .../tests/f_uninit_inode_past_unused/image.gz | Bin 10929 -> 0 bytes .../tests/f_uninit_inode_past_unused/name | 1 - .../tests/f_uninit_last_uninit/expect.1 | 9 - .../tests/f_uninit_last_uninit/expect.2 | 7 - .../e2fsprogs/tests/f_uninit_last_uninit/name | 1 - .../tests/f_uninit_last_uninit/script | 25 - .../tests/f_uninit_restart_fsck/expect.1 | 32 - .../tests/f_uninit_restart_fsck/expect.2 | 7 - .../tests/f_uninit_restart_fsck/image.gz | Bin 91233 -> 0 bytes .../tests/f_uninit_restart_fsck/name | 1 - .../tests/f_uninit_set_inode_not_set/expect.1 | 25 - .../tests/f_uninit_set_inode_not_set/expect.2 | 7 - .../tests/f_uninit_set_inode_not_set/image.gz | Bin 115285 -> 0 bytes .../tests/f_uninit_set_inode_not_set/name | 1 - .../tests/f_unshare_blocks_no_space/expect.1 | 136 - .../tests/f_unshare_blocks_no_space/expect.2 | 7 - .../tests/f_unshare_blocks_no_space/image.gz | Bin 1490 -> 0 bytes .../tests/f_unshare_blocks_no_space/name | 1 - .../tests/f_unshare_blocks_no_space/script | 2 - .../tests/f_unshare_blocks_ok/expect.1 | 26 - .../tests/f_unshare_blocks_ok/expect.2 | 7 - .../tests/f_unshare_blocks_ok/image.gz | Bin 831 -> 0 bytes .../e2fsprogs/tests/f_unshare_blocks_ok/name | 1 - .../tests/f_unshare_blocks_ok/script | 2 - .../e2fsprogs/tests/f_unsorted_EAs/expect.1 | 11 - .../e2fsprogs/tests/f_unsorted_EAs/expect.2 | 7 - .../e2fsprogs/tests/f_unsorted_EAs/image.gz | Bin 15674 -> 0 bytes .../e2fsprogs/tests/f_unsorted_EAs/name | 1 - .../e2fsprogs/tests/f_unused_itable/expect.1 | 24 - .../e2fsprogs/tests/f_unused_itable/expect.2 | 7 - .../e2fsprogs/tests/f_unused_itable/image.gz | Bin 2310 -> 0 bytes .../e2fsprogs/tests/f_unused_itable/name | 1 - .../tests/f_valid_ea_in_inode/expect.1 | 7 - .../tests/f_valid_ea_in_inode/image.gz | Bin 1356 -> 0 bytes .../e2fsprogs/tests/f_valid_ea_in_inode/name | 1 - .../tests/f_valid_ea_in_inode/script | 2 - src/_nfdos/e2fsprogs/tests/f_verity/expect.1 | 7 - src/_nfdos/e2fsprogs/tests/f_verity/image.gz | Bin 2247 -> 0 bytes .../e2fsprogs/tests/f_verity/mkimage.sh | 28 - src/_nfdos/e2fsprogs/tests/f_verity/name | 1 - src/_nfdos/e2fsprogs/tests/f_verity/script | 2 - .../tests/f_write_ea_no_extra_isize/expect.1 | 29 - .../tests/f_write_ea_no_extra_isize/expect.2 | 7 - .../tests/f_write_ea_no_extra_isize/image.gz | Bin 2516 -> 0 bytes .../tests/f_write_ea_no_extra_isize/name | 1 - .../f_write_ea_toobig_extra_isize/expect.1 | 32 - .../f_write_ea_toobig_extra_isize/expect.2 | 7 - .../f_write_ea_toobig_extra_isize/image.gz | Bin 2518 -> 0 bytes .../tests/f_write_ea_toobig_extra_isize/name | 1 - .../f_write_ea_toosmall_extra_isize/expect.1 | 32 - .../f_write_ea_toosmall_extra_isize/expect.2 | 7 - .../f_write_ea_toosmall_extra_isize/image.gz | Bin 2517 -> 0 bytes .../f_write_ea_toosmall_extra_isize/name | 1 - src/_nfdos/e2fsprogs/tests/f_yes/expect | 46 - src/_nfdos/e2fsprogs/tests/f_yes/script | 26 - src/_nfdos/e2fsprogs/tests/f_yesall/expect | 63 - src/_nfdos/e2fsprogs/tests/f_yesall/image.gz | Bin 2597 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_yesall/script | 26 - .../e2fsprogs/tests/f_yesthenall/expect | 53 - .../e2fsprogs/tests/f_yesthenall/script | 26 - src/_nfdos/e2fsprogs/tests/f_yesthenno/expect | 51 - src/_nfdos/e2fsprogs/tests/f_yesthenno/script | 26 - .../e2fsprogs/tests/f_zero_group/expect.1 | 23 - .../e2fsprogs/tests/f_zero_group/expect.2 | 7 - .../e2fsprogs/tests/f_zero_group/image.gz | Bin 13319 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_zero_group/name | 1 - .../tests/f_zero_inode_size/expect.1 | 11 - .../tests/f_zero_inode_size/expect.2 | 7 - .../tests/f_zero_inode_size/image.gz | Bin 10741 -> 0 bytes .../e2fsprogs/tests/f_zero_inode_size/name | 1 - .../e2fsprogs/tests/f_zero_super/expect.1 | 23 - .../e2fsprogs/tests/f_zero_super/expect.2 | 7 - .../e2fsprogs/tests/f_zero_super/image.gz | Bin 13262 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_zero_super/name | 1 - .../e2fsprogs/tests/f_zero_xattr/expect.1 | 7 - .../e2fsprogs/tests/f_zero_xattr/image.gz | Bin 707 -> 0 bytes src/_nfdos/e2fsprogs/tests/f_zero_xattr/name | 1 - .../e2fsprogs/tests/f_zero_xattr/script | 2 - .../tests/f_zeroed_ext_header/expect.1 | 22 - .../tests/f_zeroed_ext_header/expect.2 | 7 - .../tests/f_zeroed_ext_header/image.gz | Bin 1447 -> 0 bytes .../e2fsprogs/tests/f_zeroed_ext_header/name | 1 - src/_nfdos/e2fsprogs/tests/filter.sed | 42 - src/_nfdos/e2fsprogs/tests/fuzz/.gitignore | 3 - .../fuzz/ext2fs_check_directory_fuzzer.cc | 43 - .../fuzz/ext2fs_image_read_write_fuzzer.cc | 135 - .../tests/fuzz/ext2fs_read_bitmap_fuzzer.cc | 108 - src/_nfdos/e2fsprogs/tests/i_bad_csum/expect | 11 - .../e2fsprogs/tests/i_bad_csum/image.gz | Bin 2606 -> 0 bytes src/_nfdos/e2fsprogs/tests/i_bad_csum/name | 1 - src/_nfdos/e2fsprogs/tests/i_bad_csum/script | 26 - src/_nfdos/e2fsprogs/tests/i_bitmaps/expect | 8 - .../e2fsprogs/tests/i_bitmaps/image.bz2 | Bin 4026 -> 0 bytes src/_nfdos/e2fsprogs/tests/i_bitmaps/script | 28 - src/_nfdos/e2fsprogs/tests/i_qcow/i_qcow.crc | 15 - .../e2fsprogs/tests/i_qcow/image1024.orig.bz2 | Bin 322312 -> 0 bytes .../e2fsprogs/tests/i_qcow/image2048.orig.bz2 | Bin 321388 -> 0 bytes .../e2fsprogs/tests/i_qcow/image4096.orig.bz2 | Bin 312342 -> 0 bytes src/_nfdos/e2fsprogs/tests/i_qcow/script | 64 - .../e2fsprogs/tests/i_zero_super/expect.1 | 22 - .../e2fsprogs/tests/i_zero_super/image.gz | Bin 13262 -> 0 bytes .../e2fsprogs/tests/i_zero_super/script | 11 - .../tests/j_corrupt_commit_csum/expect | 18 - .../tests/j_corrupt_commit_csum/image.gz | Bin 2949 -> 0 bytes .../tests/j_corrupt_commit_csum/name | 1 - .../tests/j_corrupt_commit_csum/script | 44 - .../tests/j_corrupt_commit_tid/expect | 17 - .../tests/j_corrupt_commit_tid/image.gz | Bin 2953 -> 0 bytes .../e2fsprogs/tests/j_corrupt_commit_tid/name | 1 - .../tests/j_corrupt_commit_tid/script | 44 - .../tests/j_corrupt_descr_csum/expect | 18 - .../tests/j_corrupt_descr_csum/image.gz | Bin 2989 -> 0 bytes .../e2fsprogs/tests/j_corrupt_descr_csum/name | 1 - .../tests/j_corrupt_descr_csum/script | 44 - .../tests/j_corrupt_descr_tid/expect | 17 - .../tests/j_corrupt_descr_tid/image.gz | Bin 2999 -> 0 bytes .../e2fsprogs/tests/j_corrupt_descr_tid/name | 1 - .../tests/j_corrupt_descr_tid/script | 44 - .../tests/j_corrupt_ext_jnl_sb_block/expect | 5 - .../tests/j_corrupt_ext_jnl_sb_block/name | 1 - .../tests/j_corrupt_ext_jnl_sb_block/script | 32 - .../tests/j_corrupt_ext_jnl_sb_csum/expect | 27 - .../tests/j_corrupt_ext_jnl_sb_csum/name | 1 - .../tests/j_corrupt_ext_jnl_sb_csum/script | 36 - .../tests/j_corrupt_journal_block/expect | 20 - .../tests/j_corrupt_journal_block/image.gz | Bin 2984 -> 0 bytes .../tests/j_corrupt_journal_block/name | 1 - .../tests/j_corrupt_journal_block/script | 45 - .../tests/j_corrupt_revoke_block/expect | 17 - .../tests/j_corrupt_revoke_block/image.gz | Bin 3038 -> 0 bytes .../tests/j_corrupt_revoke_block/name | 1 - .../tests/j_corrupt_revoke_block/script | 44 - .../tests/j_corrupt_revoke_csum/expect | 17 - .../tests/j_corrupt_revoke_csum/image.gz | Bin 3034 -> 0 bytes .../tests/j_corrupt_revoke_csum/name | 1 - .../tests/j_corrupt_revoke_csum/script | 44 - .../tests/j_corrupt_revoke_rcount/expect.1 | 9 - .../tests/j_corrupt_revoke_rcount/expect.2 | 7 - .../tests/j_corrupt_revoke_rcount/image.gz | Bin 8648 -> 0 bytes .../tests/j_corrupt_revoke_rcount/name | 1 - .../e2fsprogs/tests/j_corrupt_sb_csum/expect | 21 - .../tests/j_corrupt_sb_csum/image.gz | Bin 3030 -> 0 bytes .../e2fsprogs/tests/j_corrupt_sb_csum/name | 1 - .../e2fsprogs/tests/j_corrupt_sb_csum/script | 44 - .../e2fsprogs/tests/j_corrupt_sb_magic/expect | 42 - .../tests/j_corrupt_sb_magic/image.gz | Bin 3036 -> 0 bytes .../e2fsprogs/tests/j_corrupt_sb_magic/name | 1 - .../e2fsprogs/tests/j_corrupt_sb_magic/script | 44 - .../e2fsprogs/tests/j_ext_dumpe2fs/expect | 55 - .../e2fsprogs/tests/j_ext_dumpe2fs/image.gz | Bin 2963 -> 0 bytes .../e2fsprogs/tests/j_ext_dumpe2fs/name | 1 - .../e2fsprogs/tests/j_ext_dumpe2fs/script | 34 - .../tests/j_ext_long_revoke_trans/expect | 91 - .../tests/j_ext_long_revoke_trans/name | 1 - .../tests/j_ext_long_revoke_trans/script | 65 - .../e2fsprogs/tests/j_ext_long_trans/expect | 106 - .../e2fsprogs/tests/j_ext_long_trans/name | 1 - .../e2fsprogs/tests/j_ext_long_trans/script | 62 - .../tests/j_long_revoke_trans/expect | 81 - .../e2fsprogs/tests/j_long_revoke_trans/name | 1 - .../tests/j_long_revoke_trans/script | 52 - .../j_long_revoke_trans_mcsum_32bit/expect | 117 - .../j_long_revoke_trans_mcsum_32bit/name | 1 - .../j_long_revoke_trans_mcsum_32bit/script | 56 - .../j_long_revoke_trans_mcsum_64bit/expect | 132 - .../j_long_revoke_trans_mcsum_64bit/name | 1 - .../j_long_revoke_trans_mcsum_64bit/script | 56 - .../e2fsprogs/tests/j_long_trans/expect | 109 - src/_nfdos/e2fsprogs/tests/j_long_trans/name | 1 - .../e2fsprogs/tests/j_long_trans/script | 49 - .../tests/j_long_trans_mcsum_32bit/expect | 148 - .../tests/j_long_trans_mcsum_32bit/name | 1 - .../tests/j_long_trans_mcsum_32bit/script | 53 - .../tests/j_long_trans_mcsum_64bit/expect | 147 - .../tests/j_long_trans_mcsum_64bit/name | 1 - .../tests/j_long_trans_mcsum_64bit/script | 53 - .../tests/j_recover_csum2_32bit/expect.1 | 18 - .../tests/j_recover_csum2_32bit/expect.2 | 7 - .../tests/j_recover_csum2_32bit/image.bz2 | Bin 3371 -> 0 bytes .../tests/j_recover_csum2_32bit/name | 1 - .../tests/j_recover_csum2_32bit/script | 30 - .../tests/j_recover_csum2_64bit/expect.1 | 18 - .../tests/j_recover_csum2_64bit/expect.2 | 7 - .../tests/j_recover_csum2_64bit/image.bz2 | Bin 3486 -> 0 bytes .../tests/j_recover_csum2_64bit/name | 1 - .../tests/j_recover_csum2_64bit/script | 30 - .../tests/j_recover_csum3_64bit/expect.1 | 16 - .../tests/j_recover_csum3_64bit/expect.2 | 7 - .../tests/j_recover_csum3_64bit/image.bz2 | Bin 4150 -> 0 bytes .../tests/j_recover_csum3_64bit/name | 1 - .../tests/j_recover_csum3_64bit/script | 30 - .../tests/j_recover_fast_commit/commands | 4 - .../tests/j_recover_fast_commit/expect | 22 - .../tests/j_recover_fast_commit/image.gz | Bin 3595 -> 0 bytes .../tests/j_recover_fast_commit/script | 26 - .../tests/j_short_revoke_trans/expect | 32 - .../e2fsprogs/tests/j_short_revoke_trans/name | 1 - .../tests/j_short_revoke_trans/script | 54 - .../j_short_revoke_trans_mcsum_64bit/expect | 34 - .../j_short_revoke_trans_mcsum_64bit/name | 1 - .../j_short_revoke_trans_mcsum_64bit/script | 58 - .../e2fsprogs/tests/j_short_trans/expect | 40 - src/_nfdos/e2fsprogs/tests/j_short_trans/name | 1 - .../e2fsprogs/tests/j_short_trans/script | 51 - .../tests/j_short_trans_64bit/expect | 42 - .../e2fsprogs/tests/j_short_trans_64bit/name | 1 - .../tests/j_short_trans_64bit/script | 55 - .../tests/j_short_trans_mcsum_64bit/expect | 42 - .../tests/j_short_trans_mcsum_64bit/name | 1 - .../tests/j_short_trans_mcsum_64bit/script | 55 - .../tests/j_short_trans_old_csum/expect | 42 - .../tests/j_short_trans_old_csum/name | 1 - .../tests/j_short_trans_old_csum/script | 55 - .../tests/j_short_trans_open_recover/expect | 45 - .../tests/j_short_trans_open_recover/name | 1 - .../tests/j_short_trans_open_recover/script | 57 - .../tests/j_short_trans_recover/expect | 42 - .../tests/j_short_trans_recover/name | 1 - .../tests/j_short_trans_recover/script | 58 - .../j_short_trans_recover_mcsum_64bit/expect | 44 - .../j_short_trans_recover_mcsum_64bit/name | 1 - .../j_short_trans_recover_mcsum_64bit/script | 62 - .../tests/j_short_uncommitted_trans/expect | 26 - .../tests/j_short_uncommitted_trans/name | 1 - .../tests/j_short_uncommitted_trans/script | 51 - .../expect | 28 - .../name | 1 - .../script | 55 - .../e2fsprogs/tests/m_64bit_flexbg/expect.1 | 59 - .../e2fsprogs/tests/m_64bit_flexbg/script | 4 - .../tests/m_assume_storage_prezeroed/expect | 2 - .../tests/m_assume_storage_prezeroed/script | 63 - .../e2fsprogs/tests/m_bigjournal/expect.1 | 576 - .../e2fsprogs/tests/m_bigjournal/script | 13 - src/_nfdos/e2fsprogs/tests/m_dasd_bs/expect.1 | 68 - src/_nfdos/e2fsprogs/tests/m_dasd_bs/script | 6 - .../e2fsprogs/tests/m_desc_size_128/expect.1 | 841 -- .../e2fsprogs/tests/m_desc_size_128/script | 7 - src/_nfdos/e2fsprogs/tests/m_devdir/script | 32 - .../e2fsprogs/tests/m_error_behavior/expect | 24 - .../e2fsprogs/tests/m_error_behavior/script | 110 - .../e2fsprogs/tests/m_extent_journal/expect.1 | 118 - .../e2fsprogs/tests/m_extent_journal/script | 7 - src/_nfdos/e2fsprogs/tests/m_hugefile/expect | 19 - src/_nfdos/e2fsprogs/tests/m_hugefile/name | 1 - src/_nfdos/e2fsprogs/tests/m_hugefile/script | 114 - .../e2fsprogs/tests/m_hugefile_slack/expect | 19 - .../e2fsprogs/tests/m_hugefile_slack/name | 1 - .../e2fsprogs/tests/m_hugefile_slack/script | 53 - .../e2fsprogs/tests/m_image_mmp/expect.1 | 7 - src/_nfdos/e2fsprogs/tests/m_image_mmp/name | 1 - src/_nfdos/e2fsprogs/tests/m_image_mmp/script | 22 - .../e2fsprogs/tests/m_large_file/expect.1 | 57 - .../e2fsprogs/tests/m_large_file/script | 7 - .../e2fsprogs/tests/m_mcsum_extjournal/expect | 5 - .../e2fsprogs/tests/m_mcsum_extjournal/name | 1 - .../e2fsprogs/tests/m_mcsum_extjournal/script | 27 - src/_nfdos/e2fsprogs/tests/m_meta_bg/expect.1 | 838 -- src/_nfdos/e2fsprogs/tests/m_meta_bg/script | 7 - .../e2fsprogs/tests/m_minrootdir/expect | 217 - .../e2fsprogs/tests/m_minrootdir/output.sed | 5 - .../e2fsprogs/tests/m_minrootdir/script | 80 - .../e2fsprogs/tests/m_mkfs_overhead/expect | 1 - .../e2fsprogs/tests/m_mkfs_overhead/script | 29 - src/_nfdos/e2fsprogs/tests/m_mmp/expect.1 | 79 - src/_nfdos/e2fsprogs/tests/m_mmp/script | 8 - .../e2fsprogs/tests/m_mmp_bad_csum/expect | 23 - .../e2fsprogs/tests/m_mmp_bad_csum/image.gz | Bin 2594 -> 0 bytes .../e2fsprogs/tests/m_mmp_bad_csum/name | 1 - .../e2fsprogs/tests/m_mmp_bad_csum/script | 27 - .../e2fsprogs/tests/m_mmp_bad_magic/expect | 22 - .../e2fsprogs/tests/m_mmp_bad_magic/image.gz | Bin 2597 -> 0 bytes .../e2fsprogs/tests/m_mmp_bad_magic/name | 1 - .../e2fsprogs/tests/m_mmp_bad_magic/script | 27 - src/_nfdos/e2fsprogs/tests/m_no_opt/expect.1 | 105 - src/_nfdos/e2fsprogs/tests/m_no_opt/script | 7 - src/_nfdos/e2fsprogs/tests/m_offset/script | 34 - src/_nfdos/e2fsprogs/tests/m_quota/expect.1 | 161 - src/_nfdos/e2fsprogs/tests/m_quota/script | 11 - .../e2fsprogs/tests/m_raid_opt/expect.1 | 841 -- src/_nfdos/e2fsprogs/tests/m_raid_opt/script | 7 - .../tests/m_resize_inode_meta_bg/expect.1 | 172 - .../tests/m_resize_inode_meta_bg/script | 7 - .../e2fsprogs/tests/m_root_owner/expect.1 | 57 - .../e2fsprogs/tests/m_root_owner/script | 4 - src/_nfdos/e2fsprogs/tests/m_rootdir/expect | 120 - .../e2fsprogs/tests/m_rootdir/output.sed | 5 - src/_nfdos/e2fsprogs/tests/m_rootdir/script | 70 - .../e2fsprogs/tests/m_rootdir_acl/expect | 119 - .../e2fsprogs/tests/m_rootdir_acl/output.sed | 5 - .../e2fsprogs/tests/m_rootdir_acl/script | 110 - src/_nfdos/e2fsprogs/tests/m_std/expect.1 | 108 - src/_nfdos/e2fsprogs/tests/m_std/script | 6 - src/_nfdos/e2fsprogs/tests/m_uninit/expect.1 | 158 - src/_nfdos/e2fsprogs/tests/m_uninit/script | 7 - src/_nfdos/e2fsprogs/tests/mke2fs.conf.in | 43 - src/_nfdos/e2fsprogs/tests/progs/crcsum.c | 67 - src/_nfdos/e2fsprogs/tests/progs/hold_inode.c | 48 - .../e2fsprogs/tests/progs/random_exercise.c | 171 - .../e2fsprogs/tests/progs/test_data/bma.setup | 1 - .../tests/progs/test_data/expect.brel | 41 - .../tests/progs/test_data/expect.icount | 193 - .../tests/progs/test_data/expect.irel | 62 - .../e2fsprogs/tests/progs/test_data/ima.setup | 1 - .../tests/progs/test_data/normal.setup | 1 - .../e2fsprogs/tests/progs/test_data/opt.setup | 1 - .../e2fsprogs/tests/progs/test_data/test.brel | 47 - .../tests/progs/test_data/test.icount | 136 - .../e2fsprogs/tests/progs/test_data/test.irel | 69 - .../e2fsprogs/tests/progs/test_icount.c | 384 - .../e2fsprogs/tests/progs/test_icount.h | 10 - .../e2fsprogs/tests/progs/test_icount_cmds.ct | 37 - src/_nfdos/e2fsprogs/tests/progs/test_rel.c | 764 -- src/_nfdos/e2fsprogs/tests/progs/test_rel.h | 35 - .../e2fsprogs/tests/progs/test_rel_cmds.ct | 82 - .../e2fsprogs/tests/r_1024_small_bg/script | 30 - src/_nfdos/e2fsprogs/tests/r_32to64bit/expect | 100 - src/_nfdos/e2fsprogs/tests/r_32to64bit/name | 1 - src/_nfdos/e2fsprogs/tests/r_32to64bit/script | 72 - .../tests/r_32to64bit_expand_full/expect | 139 - .../tests/r_32to64bit_expand_full/name | 1 - .../tests/r_32to64bit_expand_full/script | 81 - .../e2fsprogs/tests/r_32to64bit_meta/expect | 81 - .../e2fsprogs/tests/r_32to64bit_meta/name | 1 - .../e2fsprogs/tests/r_32to64bit_meta/script | 72 - .../tests/r_32to64bit_move_itable/expect | 108 - .../tests/r_32to64bit_move_itable/name | 1 - .../tests/r_32to64bit_move_itable/script | 72 - .../tests/r_64bit_big_expand/is_slow_test | 0 .../e2fsprogs/tests/r_64bit_big_expand/script | 35 - src/_nfdos/e2fsprogs/tests/r_64to32bit/expect | 99 - src/_nfdos/e2fsprogs/tests/r_64to32bit/name | 1 - src/_nfdos/e2fsprogs/tests/r_64to32bit/script | 74 - .../e2fsprogs/tests/r_64to32bit_meta/expect | 81 - .../e2fsprogs/tests/r_64to32bit_meta/name | 1 - .../e2fsprogs/tests/r_64to32bit_meta/script | 74 - .../tests/r_bigalloc_big_expand/script | 36 - .../e2fsprogs/tests/r_corrupt_fs/expect | 4 - src/_nfdos/e2fsprogs/tests/r_corrupt_fs/name | 1 - .../e2fsprogs/tests/r_corrupt_fs/script | 45 - .../e2fsprogs/tests/r_expand_full/expect | 375 - src/_nfdos/e2fsprogs/tests/r_expand_full/name | 1 - .../e2fsprogs/tests/r_expand_full/script | 83 - .../tests/r_ext4_big_expand/is_slow_test | 0 .../e2fsprogs/tests/r_ext4_big_expand/script | 35 - .../e2fsprogs/tests/r_ext4_small_bg/script | 29 - .../e2fsprogs/tests/r_fixup_lastbg/expect | 39 - .../e2fsprogs/tests/r_fixup_lastbg/script | 35 - .../e2fsprogs/tests/r_fixup_lastbg_big/expect | 45 - .../e2fsprogs/tests/r_fixup_lastbg_big/script | 40 - .../e2fsprogs/tests/r_inline_xattr/expect | 14 - .../e2fsprogs/tests/r_inline_xattr/image.gz | Bin 18907 -> 0 bytes .../e2fsprogs/tests/r_inline_xattr/name | 1 - .../e2fsprogs/tests/r_inline_xattr/script | 51 - .../e2fsprogs/tests/r_meta_bg_shrink/script | 32 - .../e2fsprogs/tests/r_min_itable/expect | 15 - .../e2fsprogs/tests/r_min_itable/image.gz | Bin 3597 -> 0 bytes src/_nfdos/e2fsprogs/tests/r_min_itable/name | 1 - .../e2fsprogs/tests/r_min_itable/script | 42 - .../tests/r_move_inode_int_extent/expect | 15 - .../tests/r_move_inode_int_extent/image.gz | Bin 20687 -> 0 bytes .../tests/r_move_inode_int_extent/name | 1 - .../tests/r_move_inode_int_extent/script | 42 - .../e2fsprogs/tests/r_move_itable/expect | 2655 ---- src/_nfdos/e2fsprogs/tests/r_move_itable/name | 1 - .../e2fsprogs/tests/r_move_itable/script | 103 - .../tests/r_move_itable_nostride/expect | 61 - .../tests/r_move_itable_nostride/name | 1 - .../tests/r_move_itable_nostride/script | 58 - .../tests/r_move_itable_realloc/expect | 60 - .../tests/r_move_itable_realloc/name | 1 - .../tests/r_move_itable_realloc/script | 58 - .../e2fsprogs/tests/r_resize_inode/expect | 2231 --- .../e2fsprogs/tests/r_resize_inode/name | 1 - .../e2fsprogs/tests/r_resize_inode/script | 95 - src/_nfdos/e2fsprogs/tests/run_e2fsck | 112 - src/_nfdos/e2fsprogs/tests/run_mke2fs | 27 - .../e2fsprogs/tests/scripts/gen-test-data | 23 - src/_nfdos/e2fsprogs/tests/scripts/mkdup | 49 - .../e2fsprogs/tests/scripts/repair-test | 9 - .../e2fsprogs/tests/scripts/resize_test | 183 - .../e2fsprogs/tests/t_change_uuid/expect | 7 - .../e2fsprogs/tests/t_change_uuid/script | 34 - .../tests/t_change_uuid_mcsum/expect | 7 - .../tests/t_change_uuid_mcsum/script | 34 - .../tests/t_change_uuid_mcsum_mounted/expect | 7 - .../tests/t_change_uuid_mcsum_mounted/script | 34 - .../t_change_uuid_mcsum_seed_mounted/expect | 21 - .../t_change_uuid_mcsum_seed_mounted/script | 52 - .../tests/t_change_uuid_mounted/expect | 7 - .../tests/t_change_uuid_mounted/script | 34 - src/_nfdos/e2fsprogs/tests/t_dangerous/expect | 120 - src/_nfdos/e2fsprogs/tests/t_dangerous/name | 1 - src/_nfdos/e2fsprogs/tests/t_dangerous/script | 155 - .../tests/t_disable_changed_csum_seed/expect | 17 - .../tests/t_disable_changed_csum_seed/script | 47 - .../expect | 19 - .../script | 47 - .../tests/t_disable_csum_seed/expect | 14 - .../tests/t_disable_csum_seed/script | 43 - .../e2fsprogs/tests/t_disable_mcsum/expect | 45 - .../e2fsprogs/tests/t_disable_mcsum/name | 1 - .../e2fsprogs/tests/t_disable_mcsum/script | 67 - .../tests/t_disable_mcsum_noinitbg/expect | 68 - .../tests/t_disable_mcsum_noinitbg/name | 1 - .../tests/t_disable_mcsum_noinitbg/script | 67 - .../tests/t_disable_mcsum_yesinitbg/expect | 45 - .../tests/t_disable_mcsum_yesinitbg/name | 1 - .../tests/t_disable_mcsum_yesinitbg/script | 67 - .../tests/t_disable_meta_csum_and_seed/expect | 14 - .../tests/t_disable_meta_csum_and_seed/script | 44 - .../e2fsprogs/tests/t_enable_csum_seed/expect | 12 - .../e2fsprogs/tests/t_enable_csum_seed/script | 38 - .../e2fsprogs/tests/t_enable_mcsum/expect | 80 - .../e2fsprogs/tests/t_enable_mcsum/name | 1 - .../e2fsprogs/tests/t_enable_mcsum/script | 70 - .../tests/t_enable_mcsum_ext3/expect | 75 - .../e2fsprogs/tests/t_enable_mcsum_ext3/name | 1 - .../tests/t_enable_mcsum_ext3/script | 70 - .../tests/t_enable_mcsum_initbg/expect | 100 - .../tests/t_enable_mcsum_initbg/name | 1 - .../tests/t_enable_mcsum_initbg/script | 70 - .../e2fsprogs/tests/t_ext_jnl_fail/expect | 6 - .../e2fsprogs/tests/t_ext_jnl_fail/name | 1 - .../e2fsprogs/tests/t_ext_jnl_fail/script | 30 - .../e2fsprogs/tests/t_ext_jnl_rm/script | 26 - .../e2fsprogs/tests/t_format_csum_seed/expect | 10 - .../e2fsprogs/tests/t_format_csum_seed/script | 34 - .../e2fsprogs/tests/t_iexpand_full/expect | 39 - .../e2fsprogs/tests/t_iexpand_full/name | 1 - .../e2fsprogs/tests/t_iexpand_full/script | 83 - .../e2fsprogs/tests/t_iexpand_mcsum/expect | 57 - .../e2fsprogs/tests/t_iexpand_mcsum/name | 1 - .../e2fsprogs/tests/t_iexpand_mcsum/script | 84 - src/_nfdos/e2fsprogs/tests/t_mmp_1on/name | 1 - src/_nfdos/e2fsprogs/tests/t_mmp_1on/script | 29 - src/_nfdos/e2fsprogs/tests/t_mmp_2off/name | 1 - src/_nfdos/e2fsprogs/tests/t_mmp_2off/script | 29 - .../e2fsprogs/tests/t_mmp_fail/is_slow_test | 0 src/_nfdos/e2fsprogs/tests/t_mmp_fail/name | 1 - src/_nfdos/e2fsprogs/tests/t_mmp_fail/script | 44 - src/_nfdos/e2fsprogs/tests/t_project_1on/name | 1 - .../e2fsprogs/tests/t_project_1on/script | 41 - .../e2fsprogs/tests/t_project_2off/name | 1 - .../e2fsprogs/tests/t_project_2off/script | 35 - src/_nfdos/e2fsprogs/tests/t_project_3on/name | 1 - .../e2fsprogs/tests/t_project_3on/script | 41 - .../e2fsprogs/tests/t_project_4off/name | 1 - .../e2fsprogs/tests/t_project_4off/script | 35 - src/_nfdos/e2fsprogs/tests/t_quota_1on/name | 1 - src/_nfdos/e2fsprogs/tests/t_quota_1on/script | 42 - src/_nfdos/e2fsprogs/tests/t_quota_2off/name | 1 - .../e2fsprogs/tests/t_quota_2off/script | 35 - src/_nfdos/e2fsprogs/tests/t_quota_add/name | 1 - src/_nfdos/e2fsprogs/tests/t_quota_add/script | 46 - .../e2fsprogs/tests/t_replay_and_set/expect | 38 - .../e2fsprogs/tests/t_replay_and_set/name | 1 - .../e2fsprogs/tests/t_replay_and_set/script | 51 - .../e2fsprogs/tests/t_uninit_bg_rm/expect | 21 - .../e2fsprogs/tests/t_uninit_bg_rm/script | 55 - .../e2fsprogs/tests/t_write_subdirectory/name | 1 - .../tests/t_write_subdirectory/script | 29 - src/_nfdos/e2fsprogs/tests/test_config | 48 - src/_nfdos/e2fsprogs/tests/test_one.in | 92 - src/_nfdos/e2fsprogs/tests/test_post | 17 - src/_nfdos/e2fsprogs/tests/test_script.in | 52 - .../e2fsprogs/tests/u_bounce_io/expect.1 | 108 - src/_nfdos/e2fsprogs/tests/u_bounce_io/script | 9 - .../tests/u_compound_bad_rollback/script | 62 - .../tests/u_compound_rollback/script | 62 - .../e2fsprogs/tests/u_corrupt_blk_csum/script | 38 - .../tests/u_corrupt_blk_csum_force/script | 38 - .../e2fsprogs/tests/u_corrupt_hdr_csum/script | 37 - .../e2fsprogs/tests/u_corrupt_key_csum/script | 37 - .../e2fsprogs/tests/u_debugfs_opt/script | 34 - src/_nfdos/e2fsprogs/tests/u_direct_io/expect | 63 - src/_nfdos/e2fsprogs/tests/u_direct_io/script | 49 - src/_nfdos/e2fsprogs/tests/u_dryrun/script | 32 - .../e2fsprogs/tests/u_e2fsck_opt/script | 32 - src/_nfdos/e2fsprogs/tests/u_errorout/script | 49 - src/_nfdos/e2fsprogs/tests/u_force/script | 40 - .../e2fsprogs/tests/u_force_dryrun/script | 38 - .../e2fsprogs/tests/u_incomplete/script | 38 - src/_nfdos/e2fsprogs/tests/u_mke2fs/script | 34 - .../e2fsprogs/tests/u_mke2fs_opt/script | 32 - .../tests/u_mke2fs_opt_oddsize/script | 31 - .../tests/u_mke2fs_opt_offset/script | 104 - src/_nfdos/e2fsprogs/tests/u_not_undo/script | 28 - src/_nfdos/e2fsprogs/tests/u_offset/script | 138 - .../e2fsprogs/tests/u_onefile_bad/script | 115 - .../e2fsprogs/tests/u_resize2fs_opt/script | 32 - .../tests/u_revert_64bitmcsum_onefile/script | 112 - .../tests/u_revert_all_onefile/script | 100 - .../u_revert_upgrade_to_64bitmcsum/script | 136 - src/_nfdos/e2fsprogs/tests/u_tune2fs/script | 34 - .../e2fsprogs/tests/u_tune2fs_opt/script | 32 - src/_nfdos/e2fsprogs/tests/u_undo_undo/script | 54 - src/_nfdos/e2fsprogs/tests/u_wrong_fs/script | 36 - src/_nfdos/e2fsprogs/util/all.exclude | 15 - .../e2fsprogs/util/android-README.version.in | 3 - src/_nfdos/e2fsprogs/util/android_config.h | 69 - src/_nfdos/e2fsprogs/util/android_types.h | 45 - src/_nfdos/e2fsprogs/util/copy_sparse.c | 228 - src/_nfdos/e2fsprogs/util/gen-android-files | 118 - src/_nfdos/e2fsprogs/util/gen-git-tarball | 17 - src/_nfdos/e2fsprogs/util/gen-sample-fs | 40 - src/_nfdos/e2fsprogs/util/gen-tarball.in | 50 - src/_nfdos/e2fsprogs/util/get-ver | 4 - src/_nfdos/e2fsprogs/util/install-symlink.in | 89 - src/_nfdos/e2fsprogs/util/libecho.c | 78 - src/_nfdos/e2fsprogs/util/mkutf8data.c | 3392 ----- src/_nfdos/e2fsprogs/util/subst.c | 468 - src/_nfdos/e2fsprogs/util/subst.conf.in | 26 - src/_nfdos/e2fsprogs/util/symlinks.c | 391 - src/_nfdos/e2fsprogs/util/ucd/README | 37 - src/_nfdos/e2fsprogs/version.h | 13 - src/_nfdos/e2fsprogs/wordwrap.pl | 29 - 2220 files changed, 492176 deletions(-) delete mode 100644 src/_nfdos/e2fsprogs/.github/workflows/ci.yml delete mode 100644 src/_nfdos/e2fsprogs/.gitignore delete mode 100644 src/_nfdos/e2fsprogs/.missing-copyright delete mode 100644 src/_nfdos/e2fsprogs/.release-checklist delete mode 100644 src/_nfdos/e2fsprogs/ABOUT-NLS delete mode 100644 src/_nfdos/e2fsprogs/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/CleanSpec.mk delete mode 100644 src/_nfdos/e2fsprogs/INSTALL delete mode 100644 src/_nfdos/e2fsprogs/INSTALL.elfbin delete mode 100644 src/_nfdos/e2fsprogs/MCONFIG.in delete mode 100644 src/_nfdos/e2fsprogs/NOTICE delete mode 100644 src/_nfdos/e2fsprogs/README delete mode 120000 src/_nfdos/e2fsprogs/RELEASE-NOTES delete mode 100644 src/_nfdos/e2fsprogs/SHLIBS delete mode 100644 src/_nfdos/e2fsprogs/SUBMITTING-PATCHES delete mode 100644 src/_nfdos/e2fsprogs/acinclude.m4 delete mode 100755 src/_nfdos/e2fsprogs/config/config.guess delete mode 100755 src/_nfdos/e2fsprogs/config/config.rpath delete mode 100755 src/_nfdos/e2fsprogs/config/config.sub delete mode 100644 src/_nfdos/e2fsprogs/config/ltmain.sh delete mode 100755 src/_nfdos/e2fsprogs/config/mkinstalldirs delete mode 100755 src/_nfdos/e2fsprogs/config/parse-types.sh delete mode 100644 src/_nfdos/e2fsprogs/configure.ac delete mode 100644 src/_nfdos/e2fsprogs/contrib/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/contrib/add_ext4_encrypt.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/base_fs.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/base_fs.h delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.h delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/block_list.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/block_list.h delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/block_range.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/block_range.h delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/e2fsdroid.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/ext2simg.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/fsmap.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/fsmap.h delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/perms.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/android/perms.h delete mode 100644 src/_nfdos/e2fsprogs/contrib/build-rpm delete mode 100644 src/_nfdos/e2fsprogs/contrib/dconf delete mode 100755 src/_nfdos/e2fsprogs/contrib/dir2fs delete mode 100755 src/_nfdos/e2fsprogs/contrib/e2croncheck delete mode 100644 src/_nfdos/e2fsprogs/contrib/ext4-ioc.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/fallocate.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/fsstress.c delete mode 100644 src/_nfdos/e2fsprogs/contrib/make-sparse.c delete mode 100755 src/_nfdos/e2fsprogs/contrib/populate-extfs.sh delete mode 100755 src/_nfdos/e2fsprogs/contrib/python-uuid/setup.py delete mode 100755 src/_nfdos/e2fsprogs/contrib/python-uuid/test.py delete mode 100644 src/_nfdos/e2fsprogs/contrib/python-uuid/uuid.c delete mode 100755 src/_nfdos/e2fsprogs/contrib/setup-schroot delete mode 100644 src/_nfdos/e2fsprogs/contrib/spd_readdir.c delete mode 100644 src/_nfdos/e2fsprogs/debian/.gitignore delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.info delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.menu delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.info delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.menu delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/libs/comerr2g.files delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/libs/control delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/libs/e2fslibsg.files delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/libs/rules delete mode 100644 src/_nfdos/e2fsprogs/debian/attic/libs/ss2g.files delete mode 100644 src/_nfdos/e2fsprogs/debian/changelog delete mode 100644 src/_nfdos/e2fsprogs/debian/comerr-dev.doc-base delete mode 100644 src/_nfdos/e2fsprogs/debian/comerr-dev.examples delete mode 100644 src/_nfdos/e2fsprogs/debian/comerr-dev.install delete mode 100644 src/_nfdos/e2fsprogs/debian/comerr-dev.postinst delete mode 100644 src/_nfdos/e2fsprogs/debian/comerr-dev.postrm delete mode 100644 src/_nfdos/e2fsprogs/debian/comerr-dev.preinst delete mode 100644 src/_nfdos/e2fsprogs/debian/control delete mode 100644 src/_nfdos/e2fsprogs/debian/copyright delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsck-static.install delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsck-static.preinst delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs-l10n.install delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.install delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.lintian-overrides delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.shlibs.local delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.docs delete mode 100755 src/_nfdos/e2fsprogs/debian/e2fsprogs.install delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.lintian-overrides delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst.dh9 delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.postrm.dh9 delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.preinst delete mode 100644 src/_nfdos/e2fsprogs/debian/e2fsprogs.shlibs.local delete mode 100644 src/_nfdos/e2fsprogs/debian/fuse2fs.install delete mode 100644 src/_nfdos/e2fsprogs/debian/gbp.conf delete mode 100644 src/_nfdos/e2fsprogs/debian/libblkid-dev.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libblkid1.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libblkid1.symbols delete mode 100644 src/_nfdos/e2fsprogs/debian/libcom-err2.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libcom-err2.symbols delete mode 100644 src/_nfdos/e2fsprogs/debian/libext2fs-dev.doc-base delete mode 100644 src/_nfdos/e2fsprogs/debian/libext2fs-dev.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libext2fs2.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libext2fs2.symbols delete mode 100644 src/_nfdos/e2fsprogs/debian/libss2.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libss2.symbols delete mode 100644 src/_nfdos/e2fsprogs/debian/libuuid1.install delete mode 100644 src/_nfdos/e2fsprogs/debian/libuuid1.postinst delete mode 100644 src/_nfdos/e2fsprogs/debian/libuuid1.postrm delete mode 100644 src/_nfdos/e2fsprogs/debian/libuuid1.symbols delete mode 100644 src/_nfdos/e2fsprogs/debian/logsave.install delete mode 100755 src/_nfdos/e2fsprogs/debian/rules delete mode 100755 src/_nfdos/e2fsprogs/debian/scripts/test-backtrace delete mode 100644 src/_nfdos/e2fsprogs/debian/shlibs.local delete mode 100644 src/_nfdos/e2fsprogs/debian/source/format delete mode 100644 src/_nfdos/e2fsprogs/debian/source/lintian-overrides delete mode 100644 src/_nfdos/e2fsprogs/debian/ss-dev.examples delete mode 100644 src/_nfdos/e2fsprogs/debian/ss-dev.install delete mode 100644 src/_nfdos/e2fsprogs/debian/ss-dev.postinst delete mode 100644 src/_nfdos/e2fsprogs/debian/ss-dev.postrm delete mode 100644 src/_nfdos/e2fsprogs/debian/ss-dev.preinst delete mode 100644 src/_nfdos/e2fsprogs/debian/tests/control delete mode 100755 src/_nfdos/e2fsprogs/debian/tests/fuse2fs delete mode 100755 src/_nfdos/e2fsprogs/debian/tests/smoke delete mode 100644 src/_nfdos/e2fsprogs/debian/upstream/signing-key.asc delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-dev.README.Debian delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-dev.install delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-runtime.install delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-runtime.lintian-overrides delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-runtime.postinst delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-runtime.postrm delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-runtime.prerm delete mode 100644 src/_nfdos/e2fsprogs/debian/uuid-runtime.shlibs.local delete mode 100644 src/_nfdos/e2fsprogs/debian/watch delete mode 100644 src/_nfdos/e2fsprogs/debugfs/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/debugfs/debug_cmds.ct delete mode 100644 src/_nfdos/e2fsprogs/debugfs/debugfs.8.in delete mode 100644 src/_nfdos/e2fsprogs/debugfs/debugfs.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/debugfs.h delete mode 100644 src/_nfdos/e2fsprogs/debugfs/do_journal.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/dump.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/extent_cmds.ct delete mode 100644 src/_nfdos/e2fsprogs/debugfs/extent_inode.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/filefrag.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/htree.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/icheck.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/journal.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/journal.h delete mode 100644 src/_nfdos/e2fsprogs/debugfs/logdump.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/ls.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/lsdel.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/ncheck.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/quota.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/ro_debug_cmds.ct delete mode 100644 src/_nfdos/e2fsprogs/debugfs/set_fields.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/unused.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/util.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/xattrs.c delete mode 100644 src/_nfdos/e2fsprogs/debugfs/zap.c delete mode 100644 src/_nfdos/e2fsprogs/depfix.sed delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.02.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.03.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.04.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.05.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.06.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.07.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.08.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.09.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.10.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.11.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.12.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.13.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.14.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.15.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.16.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.17.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.18.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.19.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.20.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.21.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.22.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.23.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.24.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.25.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.26.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.27.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.28.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.29.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.30.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.31.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.32.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.33.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.34.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.35.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.36.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.37.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.38.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.39.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.40.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.41.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.42.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.0.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.1.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.2.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.3.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.4.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.5.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.6.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.7.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.8.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.43.9.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.0.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.1.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.2.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.3.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.4.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.5.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.44.6.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.0.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.1.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.2.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.3.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.4.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.5.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.6.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.45.7.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.0.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.1.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.2.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.3.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.4.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.5.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.46.6.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/RelNotes/v1.47.0.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/libblkid.txt delete mode 100644 src/_nfdos/e2fsprogs/doc/libext2fs.texinfo delete mode 100644 src/_nfdos/e2fsprogs/doc/texinfo.tex delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/CHANGES delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/badblocks.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/dirinfo.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/dx_dirinfo.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/e2fsck.8.in delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/e2fsck.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/e2fsck.conf.5.in delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/e2fsck.h delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/ea_refcount.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/ehandler.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/emptydir.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/encrypted_files.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/extend.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/extents.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/flushb.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/iscan.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/jfs_user.h delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/journal.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/logfile.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/message.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/mtrace.awk delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/mtrace.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/mtrace.h delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/pass1.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/pass1b.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/pass2.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/pass3.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/pass4.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/pass5.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/problem.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/problem.h delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/problemP.h delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/quota.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/readahead.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/recovery.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/region.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/rehash.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/revoke.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/scantest.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/sigcatcher.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/super.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/unix.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsck/util.c delete mode 100644 src/_nfdos/e2fsprogs/e2fsprogs.lsm delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/COPYRIGHT delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/README delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/blockbitmap_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/dir_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/disk.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/doc/ext2ed-design.sgml delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/doc/ext2fs-overview.sgml delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/doc/user-guide.sgml delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/ext2.descriptors delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/ext2_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/ext2ed.8.in delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/ext2ed.conf.in delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/ext2ed.h delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/file_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/general_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/group_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/init.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/inode_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/inodebitmap_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/main.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/super_com.c delete mode 100644 src/_nfdos/e2fsprogs/ext2ed/win.c delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/arpa/inet.h delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/grp.h delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/pwd.h delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/sys/stat.h delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/sys/sysmacros.h delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/sys/types.h delete mode 100644 src/_nfdos/e2fsprogs/include/mingw/unistd.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/asm/types.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/config.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/dirent.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/getopt.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/grp.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/pwd.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/file.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/ioctl.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/param.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/resource.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/socket.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/time.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/sys/wait.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/termios.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/unistd.h delete mode 100644 src/_nfdos/e2fsprogs/include/nonunix/utime.h delete mode 100644 src/_nfdos/e2fsprogs/install-utils/compile_manpages delete mode 100644 src/_nfdos/e2fsprogs/install-utils/convfstab delete mode 100644 src/_nfdos/e2fsprogs/install-utils/remove_preformat_manpages delete mode 100644 src/_nfdos/e2fsprogs/lib/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.bsd-lib delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.checker delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.darwin-lib delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.elf-lib delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.library delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.profile delete mode 100644 src/_nfdos/e2fsprogs/lib/Makefile.solaris-lib delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/blkid.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/blkid.pc.in delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/blkidP.h delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/blkid_types.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/cache.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/dev.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/devname.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/devno.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/getsize.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/libblkid.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/list.h delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/llseek.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/probe.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/probe.h delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/read.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/resolve.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/save.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tag.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/test_probe.in delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/cramfs.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/cramfs.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/ext2.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/ext2.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/ext3.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/ext3.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/fat.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/fat.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/fat32_label_64MB.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/fat32_label_64MB.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/iso.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/iso.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/jbd.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/jbd.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/jfs.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/jfs.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/minix.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/minix.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/ocfs2.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/ocfs2.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/reiser3.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/reiser3.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/reiser4.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/reiser4.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/romfs.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/romfs.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/small-fat32.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/small-fat32.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/swap0.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/swap0.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/swap1.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/swap1.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/udf.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/udf.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/xfs.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/xfs.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/zfs.img.bz2 delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tests/zfs.results delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/tst_types.c delete mode 100644 src/_nfdos/e2fsprogs/lib/blkid/version.c delete mode 100644 src/_nfdos/e2fsprogs/lib/config.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/dirpaths.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/crypto_mode.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/e2p.h delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/e2p.pc.in delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/encoding.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/errcode.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/feature.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/fgetflags.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/fgetproject.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/fgetversion.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/fsetflags.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/fsetproject.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/fsetversion.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/getflags.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/getversion.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/hashstr.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/iod.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/ljs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/ls.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/mntopts.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/ostype.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/parse_num.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/pe.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/percent.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/pf.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/project.h delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/ps.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/setflags.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/setversion.c delete mode 100644 src/_nfdos/e2fsprogs/lib/e2p/uuid.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/et/com_err.3 delete mode 100644 src/_nfdos/e2fsprogs/lib/et/com_err.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/com_err.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/com_err.pc.in delete mode 100644 src/_nfdos/e2fsprogs/lib/et/com_err.texinfo delete mode 100644 src/_nfdos/e2fsprogs/lib/et/com_right.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/compile_et.1 delete mode 100644 src/_nfdos/e2fsprogs/lib/et/compile_et.sh.in delete mode 100644 src/_nfdos/e2fsprogs/lib/et/error_message.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/error_table.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/et_c.awk delete mode 100644 src/_nfdos/e2fsprogs/lib/et/et_h.awk delete mode 100644 src/_nfdos/e2fsprogs/lib/et/et_name.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/init_et.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/internal.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/continuation.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/continuation.et delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/continuation.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal.et delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal2.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal2.et delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal2.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal3.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal3.et delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/heimdal3.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/imap_err.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/imap_err.et delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/imap_err.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/simple.c delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/simple.et delete mode 100644 src/_nfdos/e2fsprogs/lib/et/test_cases/simple.h delete mode 100644 src/_nfdos/e2fsprogs/lib/et/texinfo.tex delete mode 100644 src/_nfdos/e2fsprogs/lib/et/vfprintf.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/alloc.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/alloc_sb.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/alloc_stats.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/alloc_tables.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/atexit.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/badblocks.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bb_compat.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bb_inode.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bitmaps.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bitops.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bitops.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/blkmap64_ba.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/blkmap64_rb.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/blknum.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/block.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bmap.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bmap64.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/bmove.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/brel.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/brel_ma.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/check_desc.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/closefs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/compiler.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/crc16.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/crc16.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/crc32c.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/crc32c_defs.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/csum.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dblist.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dblist_dir.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/digest_encode.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dir_iterate.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dirblock.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dirhash.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dosio.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dosio.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/dupfs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/e2image.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/expanddir.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2_err.et.in delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2_ext_attr.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2_fs.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2_io.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2_types.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2fs.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2fs.pc.in delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext2fsP.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext3_extents.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext4_acl.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ext_attr.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/extent.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/fallocate.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/fast_commit.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/fiemap.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/fileio.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/finddev.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/flushb.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/freefs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/gen_bitmap.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/gen_bitmap64.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/gen_crc32ctable.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/get_num_dirs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/get_pathname.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/getsectsize.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/getsize.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/hashmap.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/hashmap.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/i_block.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/icount.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/imager.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ind_block.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/initialize.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/inline.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/inline_data.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/inode.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/inode_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/io_manager.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/irel.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/irel_ma.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/ismounted.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/jfs_compat.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/kernel-jbd.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/kernel-list.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/link.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/llseek.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/lookup.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/mkdir.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/mkjournal.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/mmp.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/namei.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/native.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/newdir.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/nls_utf8.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/nt_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/openfs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/orphan.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/progress.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/punch.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/qcow2.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/qcow2.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/rbtree.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/rbtree.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/read_bb.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/read_bb_file.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/res_gdt.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/rw_bitmaps.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/sha256.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/sha512.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/sparse_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/swapfs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/symlink.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tdb.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tdb.h delete mode 100755 src/_nfdos/e2fsprogs/lib/ext2fs/tdb/build-tdb delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tdbtool.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/test_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_badblocks.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitmaps.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitmaps_cmd.ct delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitmaps_cmds delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitmaps_exp delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_bitops.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_byteswap.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_cmds.ct delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_fs_struct.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_getsectsize.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_getsize.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_inode_size.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_iscan.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_libext2fs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_super_size.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/tst_types.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/undo_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/unix_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/unlink.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/utf8data.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/utf8n.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/valid_blk.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/version.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/windows_io.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ext2fs/write_bb_file.c delete mode 100644 src/_nfdos/e2fsprogs/lib/fpopen.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/ct_c.awk delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/ct_c.sed delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/data.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/error.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/execute_cmd.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/get_readline.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/help.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/invocation.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/list_rqs.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/listen.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/mit-sipb-copyright.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/mk_cmds.1 delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/mk_cmds.sh.in delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/pager.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/parse.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/prompt.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/request_tbl.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/requests.c delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/ss.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/ss.pc.in delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/ss_err.et delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/ss_internal.h delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/std_rqs.ct delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/test_cmd.ct delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/test_script delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/test_script_expected delete mode 100644 src/_nfdos/e2fsprogs/lib/ss/test_ss.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/support/argv_parse.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/argv_parse.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/common.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/cstring.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/cstring.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/devname.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/devname.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/dict.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/dict.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/dqblk_v2.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/mkquota.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/nls-enable.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/parse_qtype.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/plausible.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/plausible.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/print_fs_flags.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/print_fs_flags.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/prof_err.et delete mode 100644 src/_nfdos/e2fsprogs/lib/support/profile.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/profile.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/profile_helpers.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/profile_helpers.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/quotaio.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/quotaio.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/quotaio_tree.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/quotaio_tree.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/quotaio_v2.c delete mode 100644 src/_nfdos/e2fsprogs/lib/support/quotaio_v2.h delete mode 100644 src/_nfdos/e2fsprogs/lib/support/sort_r.h delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/COPYING delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/clear.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/compare.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/configure.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/copy.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/gen_uuid.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/gen_uuid_nt.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/isnull.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/pack.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/parse.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/tst_uuid.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/unpack.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/unparse.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid.pc.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuidP.h delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_clear.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_compare.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_copy.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_generate.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_is_null.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_parse.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_time.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_time.c delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_types.h.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuid_unparse.3.in delete mode 100644 src/_nfdos/e2fsprogs/lib/uuid/uuidd.h delete mode 100644 src/_nfdos/e2fsprogs/misc/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/misc/badblocks.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/badblocks.c delete mode 100644 src/_nfdos/e2fsprogs/misc/base_device.c delete mode 100644 src/_nfdos/e2fsprogs/misc/base_device.tst delete mode 100644 src/_nfdos/e2fsprogs/misc/blkid.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/blkid.c delete mode 100644 src/_nfdos/e2fsprogs/misc/chattr.1.in delete mode 100644 src/_nfdos/e2fsprogs/misc/chattr.c delete mode 100644 src/_nfdos/e2fsprogs/misc/check_fuzzer.c delete mode 100644 src/_nfdos/e2fsprogs/misc/create_inode.c delete mode 100644 src/_nfdos/e2fsprogs/misc/create_inode.h delete mode 100644 src/_nfdos/e2fsprogs/misc/dumpe2fs.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/dumpe2fs.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e2freefrag.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e2freefrag.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e2freefrag.h delete mode 100644 src/_nfdos/e2fsprogs/misc/e2fuzz.c delete mode 100755 src/_nfdos/e2fsprogs/misc/e2fuzz.sh delete mode 100644 src/_nfdos/e2fsprogs/misc/e2image.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e2image.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e2initrd_helper.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e2label.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e2label.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e2mmpstatus.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e2undo.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e2undo.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e4crypt.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e4crypt.c delete mode 100644 src/_nfdos/e2fsprogs/misc/e4defrag.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/e4defrag.c delete mode 100644 src/_nfdos/e2fsprogs/misc/ext4.5.in delete mode 100644 src/_nfdos/e2fsprogs/misc/filefrag.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/filefrag.c delete mode 100644 src/_nfdos/e2fsprogs/misc/findfs.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/findsuper.c delete mode 100644 src/_nfdos/e2fsprogs/misc/fsck.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/fsck.c delete mode 100644 src/_nfdos/e2fsprogs/misc/fsck.h delete mode 100644 src/_nfdos/e2fsprogs/misc/fsmap.h delete mode 100644 src/_nfdos/e2fsprogs/misc/fuse2fs.1.in delete mode 100644 src/_nfdos/e2fsprogs/misc/fuse2fs.c delete mode 100644 src/_nfdos/e2fsprogs/misc/ismounted.c delete mode 100644 src/_nfdos/e2fsprogs/misc/logsave.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/logsave.c delete mode 100644 src/_nfdos/e2fsprogs/misc/lsattr.1.in delete mode 100644 src/_nfdos/e2fsprogs/misc/lsattr.c delete mode 100644 src/_nfdos/e2fsprogs/misc/mk_hugefiles.c delete mode 100644 src/_nfdos/e2fsprogs/misc/mke2fs-hurd.conf delete mode 100644 src/_nfdos/e2fsprogs/misc/mke2fs.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/mke2fs.c delete mode 100644 src/_nfdos/e2fsprogs/misc/mke2fs.conf.5.in delete mode 100644 src/_nfdos/e2fsprogs/misc/mke2fs.conf.in delete mode 100644 src/_nfdos/e2fsprogs/misc/mke2fs.h delete mode 100644 src/_nfdos/e2fsprogs/misc/mklost+found.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/mklost+found.c delete mode 100644 src/_nfdos/e2fsprogs/misc/partinfo.c delete mode 100644 src/_nfdos/e2fsprogs/misc/profile-to-c.awk delete mode 100644 src/_nfdos/e2fsprogs/misc/tune2fs.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/tune2fs.c delete mode 100644 src/_nfdos/e2fsprogs/misc/tune2fs.h delete mode 100644 src/_nfdos/e2fsprogs/misc/util.c delete mode 100644 src/_nfdos/e2fsprogs/misc/util.h delete mode 100644 src/_nfdos/e2fsprogs/misc/uuidd.8.in delete mode 100644 src/_nfdos/e2fsprogs/misc/uuidd.c delete mode 100644 src/_nfdos/e2fsprogs/misc/uuidd.rc delete mode 100644 src/_nfdos/e2fsprogs/misc/uuidgen.1.in delete mode 100644 src/_nfdos/e2fsprogs/misc/uuidgen.c delete mode 100644 src/_nfdos/e2fsprogs/po/LINGUAS delete mode 100644 src/_nfdos/e2fsprogs/po/Makefile.in.in delete mode 100644 src/_nfdos/e2fsprogs/po/Makevars delete mode 100644 src/_nfdos/e2fsprogs/po/POTFILES.in delete mode 100644 src/_nfdos/e2fsprogs/po/Rules-quot delete mode 100644 src/_nfdos/e2fsprogs/po/at-expand.pl delete mode 100644 src/_nfdos/e2fsprogs/po/boldquot.sed delete mode 100644 src/_nfdos/e2fsprogs/po/ca.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/ca.po delete mode 100644 src/_nfdos/e2fsprogs/po/cs.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/cs.po delete mode 100644 src/_nfdos/e2fsprogs/po/da.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/da.po delete mode 100644 src/_nfdos/e2fsprogs/po/de.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/de.po delete mode 100644 src/_nfdos/e2fsprogs/po/e2fsprogs.pot delete mode 100644 src/_nfdos/e2fsprogs/po/en@boldquot.header delete mode 100644 src/_nfdos/e2fsprogs/po/en@quot.header delete mode 100644 src/_nfdos/e2fsprogs/po/eo.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/eo.po delete mode 100644 src/_nfdos/e2fsprogs/po/es.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/es.po delete mode 100644 src/_nfdos/e2fsprogs/po/fi.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/fi.po delete mode 100644 src/_nfdos/e2fsprogs/po/fr.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/fr.po delete mode 100644 src/_nfdos/e2fsprogs/po/fur.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/fur.po delete mode 100644 src/_nfdos/e2fsprogs/po/hu.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/hu.po delete mode 100644 src/_nfdos/e2fsprogs/po/id.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/id.po delete mode 100644 src/_nfdos/e2fsprogs/po/insert-header.sin delete mode 100644 src/_nfdos/e2fsprogs/po/it.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/it.po delete mode 100644 src/_nfdos/e2fsprogs/po/ms.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/ms.po delete mode 100644 src/_nfdos/e2fsprogs/po/nl.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/nl.po delete mode 100644 src/_nfdos/e2fsprogs/po/pl.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/pl.po delete mode 100644 src/_nfdos/e2fsprogs/po/pt.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/pt.po delete mode 100644 src/_nfdos/e2fsprogs/po/quot.sed delete mode 100644 src/_nfdos/e2fsprogs/po/remove-potcdate.sin delete mode 100644 src/_nfdos/e2fsprogs/po/sr.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/sr.po delete mode 100644 src/_nfdos/e2fsprogs/po/sv.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/sv.po delete mode 100644 src/_nfdos/e2fsprogs/po/tr.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/tr.po delete mode 100644 src/_nfdos/e2fsprogs/po/uk.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/uk.po delete mode 100644 src/_nfdos/e2fsprogs/po/vi.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/vi.po delete mode 100644 src/_nfdos/e2fsprogs/po/zh_CN.gmo delete mode 100644 src/_nfdos/e2fsprogs/po/zh_CN.po delete mode 100644 src/_nfdos/e2fsprogs/resize/Android.bp delete mode 100644 src/_nfdos/e2fsprogs/resize/extent.c delete mode 100644 src/_nfdos/e2fsprogs/resize/main.c delete mode 100644 src/_nfdos/e2fsprogs/resize/online.c delete mode 100644 src/_nfdos/e2fsprogs/resize/resize2fs.8.in delete mode 100644 src/_nfdos/e2fsprogs/resize/resize2fs.c delete mode 100644 src/_nfdos/e2fsprogs/resize/resize2fs.h delete mode 100644 src/_nfdos/e2fsprogs/resize/resource_track.c delete mode 100644 src/_nfdos/e2fsprogs/resize/sim_progress.c delete mode 100755 src/_nfdos/e2fsprogs/resize/test-resize delete mode 100644 src/_nfdos/e2fsprogs/resize/test_extent.c delete mode 100644 src/_nfdos/e2fsprogs/resize/test_extent.in delete mode 100755 src/_nfdos/e2fsprogs/scrub/e2scrub delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.8 delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.8.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.conf delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.conf.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.rules delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub.rules.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub@.service delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub@.service.in delete mode 100755 src/_nfdos/e2fsprogs/scrub/e2scrub_all delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.8 delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.8.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.cron delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.cron.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.service delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.service.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.timer delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all.timer.in delete mode 100755 src/_nfdos/e2fsprogs/scrub/e2scrub_all_cron delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_all_cron.in delete mode 100755 src/_nfdos/e2fsprogs/scrub/e2scrub_fail delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_fail.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_fail@.service delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_fail@.service.in delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_reap.service delete mode 100644 src/_nfdos/e2fsprogs/scrub/e2scrub_reap.service.in delete mode 100644 src/_nfdos/e2fsprogs/tests/README delete mode 100644 src/_nfdos/e2fsprogs/tests/d_bad_ostype/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_bad_ostype/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_bad_ostype/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_corrupt_journal_nr_users/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_corrupt_journal_nr_users/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/d_corrupt_journal_nr_users/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_corrupt_journal_nr_users/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_dumpe2fs_group_only/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_dumpe2fs_group_only/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_dumpe2fs_group_only/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate/expect.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate_bigalloc/expect.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate_bigalloc/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate_bigalloc/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate_blkmap/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate_blkmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_fallocate_blkmap/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_inline_dump/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_inline_dump/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/d_inline_dump/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_inline_dump/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_loaddump/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_loaddump/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_loaddump/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_punch/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_punch/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_punch/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_punch_bigalloc/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_punch_bigalloc/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_punch_bigalloc/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_special_files/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_special_files/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_special_files/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_xattr_edits/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_xattr_edits/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_xattr_edits/script delete mode 100644 src/_nfdos/e2fsprogs/tests/d_xattr_sorting/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/d_xattr_sorting/name delete mode 100644 src/_nfdos/e2fsprogs/tests/d_xattr_sorting/script delete mode 100644 src/_nfdos/e2fsprogs/tests/defaults/e_script delete mode 100644 src/_nfdos/e2fsprogs/tests/defaults/f_script delete mode 100644 src/_nfdos/e2fsprogs/tests/defaults/j_script delete mode 100644 src/_nfdos/e2fsprogs/tests/e_brel_bma/name delete mode 100644 src/_nfdos/e2fsprogs/tests/e_brel_bma/script delete mode 100644 src/_nfdos/e2fsprogs/tests/e_icount_normal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/e_icount_opt/name delete mode 100644 src/_nfdos/e2fsprogs/tests/e_irel_ima/name delete mode 100644 src/_nfdos/e2fsprogs/tests/e_irel_ima/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_16384_block/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_16384_block/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_16384_block/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_16384_block/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_8192_block/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_8192_block/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_8192_block/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_8192_block/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bbitmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bbitmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bbitmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bbitmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bmap_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bmap_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bmap_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_bmap_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_disconnected_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_disconnected_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_disconnected_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_disconnected_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_encryption/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_encryption/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_encryption/image.gz delete mode 100755 src/_nfdos/e2fsprogs/tests/f_bad_encryption/mkimage.sh delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_encryption/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_fname/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_fname/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_fname/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_fname/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_gdt_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_gdt_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_gdt_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_gdt_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_ibitmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_ibitmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_ibitmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_ibitmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_inode_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_inode_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_inode_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_inode_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_local_jnl/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_local_jnl/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_local_jnl/image delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_local_jnl/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bad_local_jnl/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badbblocks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badbblocks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badbblocks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badbblocks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badcluster/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badcluster/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badcluster/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badcluster/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddir2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddotdir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddotdir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddotdir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_baddotdir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badinode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badinode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badinode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badinode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_encrypted/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_encrypted/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_encrypted/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_encrypted/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_indblks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_indblks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_indblks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjour_indblks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjourblks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjourblks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjourblks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badjourblks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badorphan/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badorphan/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badorphan/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badorphan/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badprimary/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badprimary/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badprimary/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badprimary/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badroot/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badroot/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badroot/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badroot/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks2/image.gz delete mode 100755 src/_nfdos/e2fsprogs/tests/f_badsymlinks2/mkimage.sh delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badsymlinks2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badtable/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badtable/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badtable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_badtable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bb_in_bb/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bb_in_bb/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bb_in_bb/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bb_in_bb/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbfile/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbfile/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbfile/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbfile/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbinode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbinode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbinode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bbinode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_big_sparse/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_big_sparse/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_big_sparse/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_big_sparse/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_badinode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_badinode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_badinode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_badinode/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_orphan_list/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_orphan_list/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_orphan_list/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_orphan_list/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_symlink_with_xattr/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_symlink_with_xattr/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_symlink_with_xattr/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bigalloc_symlink_with_xattr/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bitmaps/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bitmaps/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bitmaps/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_bitmaps/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_boundscheck/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_boundscheck/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_boundscheck/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_boundscheck/name delete mode 100755 src/_nfdos/e2fsprogs/tests/f_boundscheck/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_clear_xattr/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_clear_xattr/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_clear_xattr/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_clear_xattr/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_cloneblock_alloc_error/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_cloneblock_alloc_error/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_cloneblock_alloc_error/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_cloneblock_alloc_error/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_collapse_extent_tree/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_collapse_extent_tree/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_collapse_extent_tree/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_collapse_extent_tree/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_collapse_extent_tree/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_compress_extent_tree_level/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_compress_extent_tree_level/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_compress_extent_tree_level/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_compress_extent_tree_level/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_compress_extent_tree_level/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_and_extent/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_and_extent/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_and_extent/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_and_extent/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_and_extent/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_sparse/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_sparse/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_sparse/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_sparse/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_convert_bmap_sparse/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_corrupt_dirent_tail/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_corrupt_dirent_tail/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_corrupt_dirent_tail/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_corrupt_dirent_tail/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_crashdisk/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_crashdisk/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_crashdisk/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_crashdisk/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_create_symlinks/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_create_symlinks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_create_symlinks/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_del_dup_quota/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_del_dup_quota/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_del_dup_quota/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_del_dup_quota/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_del_dup_quota/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_deleted_inode_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_deleted_inode_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_deleted_inode_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_deleted_inode_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_128/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_128/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_128/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_128/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_bad/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_bad/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_desc_size_bad/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_junk/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_junk/expect.nodebugfs delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_junk/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_junk/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_junk/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_xfs/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_xfs/expect.nodebugfs delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_xfs/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_xfs/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_detect_xfs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_mode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_mode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_mode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dir_bad_mode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dirlink/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dirlink/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dirlink/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dirlink/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup3/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup3/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup3/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup3/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup4/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup4/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup4/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup4/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_ba/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_ba/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_ba/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_ba/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/expect-nohtree.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/expect-nohtree.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de_crypt/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de_crypt/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de_crypt/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_de_crypt/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_resize/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_resize/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_resize/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dup_resize/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupdot/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupdot/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupdot/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupdot/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupfsblks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupfsblks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupfsblks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupfsblks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupsuper/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupsuper/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupsuper/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_dupsuper/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_checks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_checks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_checks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_checks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode_self_ref/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode_self_ref/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode_self_ref/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_inode_self_ref/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_signed_hash/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_signed_hash/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_signed_hash/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_unsigned_hash/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_unsigned_hash/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_unsigned_hash/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_value_crash/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_value_crash/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_value_crash/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ea_value_crash/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_emptydir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_emptydir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_emptydir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_emptydir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_encrypted_lpf/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_encrypted_lpf/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_encrypted_lpf/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_encrypted_lpf/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_end-bitmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_end-bitmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_end-bitmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_end-bitmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_eofblocks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_eofblocks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_eofblocks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_eofblocks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expand/expect.1.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expand/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expand/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expand/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expandroot_create_lnf/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expandroot_create_lnf/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expandroot_create_lnf/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_expandroot_create_lnf/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_journal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_journal/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_journal/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_journal/journal.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_journal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_journal/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_zero_len/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_zero_len/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_zero_len/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ext_zero_len/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_bad_node/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_bad_node/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_bad_node/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_bad_node/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_htree/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_htree/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_htree/expect.pre.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_htree/expect.pre.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_htree/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_htree/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_extent/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_extent/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_extent/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_extent/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_magic/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_magic/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_magic/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_int_bad_magic/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_interior_start_lblk/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_interior_start_lblk/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_interior_start_lblk/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_interior_start_lblk/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_extent/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_extent/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_extent/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_extent/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_magic/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_magic/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_magic/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_leaf_bad_magic/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_oobounds/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_oobounds/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_oobounds/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_too_deep/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_too_deep/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_too_deep/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_too_deep/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extent_too_deep/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extents2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extra_journal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extra_journal/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extra_journal/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_extra_journal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_fast_symlink_extents/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_fast_symlink_extents/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_fast_symlink_extents/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_fast_symlink_extents/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_file_acl_high/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_file_acl_high/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_file_acl_high/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_file_acl_high/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_filetype/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_filetype/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_filetype/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_filetype/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_first_meta_bg_too_big/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_first_meta_bg_too_big/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_first_meta_bg_too_big/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_first_meta_bg_too_big/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_full_bg/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_full_bg/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_full_bg/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_full_bg/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badnode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badnode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badnode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badnode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badnode/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badroot/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badroot/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badroot/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badroot/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_badroot/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_normal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_normal/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_normal/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_normal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_normal/script delete mode 100755 src/_nfdos/e2fsprogs/tests/f_h_reindex/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_reindex/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_reindex/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_reindex/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_reindex/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_unsigned/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_unsigned/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_unsigned/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_unsigned/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_h_unsigned/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir3/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir3/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir3/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir3/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir4/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir4/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir4/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_holedir4/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_leaf_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_leaf_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_leaf_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_htree_leaf_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hugedir_blocks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hugedir_blocks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hugedir_blocks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hugedir_blocks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hurd/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hurd/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hurd/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_hurd/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_idata_and_extents/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_idata_and_extents/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_idata_and_extents/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_idata_and_extents/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illbbitmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illbbitmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illbbitmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illbbitmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illibitmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illibitmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illibitmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illibitmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable_flexbg/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable_flexbg/expect.2 delete mode 100755 src/_nfdos/e2fsprogs/tests/f_illitable_flexbg/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_illitable_flexbg/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic_fs/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic_fs/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic_fs/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_imagic_fs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ind_inode_collision/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ind_inode_collision/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ind_inode_collision/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_ind_inode_collision/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_dirblocks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_dirblocks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_dirblocks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_dirblocks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_flags/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_flags/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_flags/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_flags/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_repair/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_repair/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_repair/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedata_repair/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedir_detector/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedir_detector/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedir_detector/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inlinedir_detector/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inode_ea_collision/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inode_ea_collision/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inode_ea_collision/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_inode_ea_collision/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_bad_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_bad_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_bad_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_bad_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_extent_symlink/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_extent_symlink/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_extent_symlink/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_invalid_extent_symlink/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_itable_collision/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_itable_collision/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_itable_collision/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_itable_collision/name delete mode 100755 src/_nfdos/e2fsprogs/tests/f_itable_collision/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_32bit/expect.0 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_32bit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_32bit/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_32bit/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_32bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_32bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_64bit/expect.0 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_64bit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_64bit/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_64bit/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_errno/expect.0 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_errno/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_errno/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_errno/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_errno/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_errno/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_etb_alloc_fail/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_etb_alloc_fail/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_etb_alloc_fail/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_jnl_etb_alloc_fail/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_journal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_journal/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_journal/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_journal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir_csum/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_large_dir_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lotsbad/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lotsbad/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lotsbad/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lotsbad/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpf2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpffile/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpffile/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpffile/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_lpffile/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_many_subdirs/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_many_subdirs/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_many_subdirs/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_many_subdirs/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_messy_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_messy_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_messy_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_messy_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_blk_bmap/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_blk_bmap/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_blk_bmap/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_blk_bmap/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_journal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_journal/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_journal/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_miss_journal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_misstable/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_misstable/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_misstable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_misstable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mke2fs2b/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mke2fs2b/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mke2fs2b/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mke2fs2b/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mke2fs_baddisk/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp_garbage/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp_garbage/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp_garbage/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp_garbage/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_mmp_garbage/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_no/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_no/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_no_cache_corrupt_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_no_cache_corrupt_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_no_cache_corrupt_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_no_cache_corrupt_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_noroot/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_noroot/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_noroot/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_noroot/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_nospc_create_lnf/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_nospc_create_lnf/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_nospc_create_lnf/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_nospc_create_lnf/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_okgroup/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_okgroup/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_okgroup/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_okgroup/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_opt_extent/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_opt_extent/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_opt_extent/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_opt_extent_ext3/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_opt_extent_ext3/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_opt_extent_ext3/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_dotdot_ft/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_dotdot_ft/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_dotdot_ft/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_dotdot_ft/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_extents_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_extents_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_extents_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_extents_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_indirect_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_indirect_inode/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_indirect_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_indirect_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphan_indirect_inode/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphquot/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphquot/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_orphquot/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_overfsblks/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_overfsblks/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_overfsblks/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_overfsblks/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_pre_1970_date_encoding/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_pre_1970_date_encoding/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_pre_1970_date_encoding/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_preen/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_preen/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_preen/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_preen/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_preen/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/debugfs-cmds delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/expect.0 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_extent_opt/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_extent_opt/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_extent_opt/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_extent_opt/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_invalid_inum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_invalid_inum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_invalid_inum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_quota_invalid_inum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_readonly_fsck/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_readonly_fsck/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_readonly_fsck/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_readonly_fsck/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rebuild_csum_rootdir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rebuild_csum_rootdir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rebuild_csum_rootdir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rebuild_csum_rootdir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_recnect_bad/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_recnect_bad/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_recnect_bad/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_recnect_bad/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_reconnect/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_reconnect/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_reconnect/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_reconnect/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rehash_dir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rehash_dir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rehash_dir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rehash_dir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_rehash_dir/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_resize_inode/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_resize_inode/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_resize_inode_meta_bg/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_resize_inode_meta_bg/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_resize_inode_meta_bg/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_resize_inode_meta_bg/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_salvage_dir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_salvage_dir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_salvage_dir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_salvage_dir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_sb_extra_isize/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_sb_extra_isize/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_sb_extra_isize/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_sb_extra_isize/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_selinux/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_selinux/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_selinux/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_selinux/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_shared_blocks_ok/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_shared_blocks_ok/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_shared_blocks_ok/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_shared_blocks_ok/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_short_encrypted_dirent/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_short_encrypted_dirent/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_short_encrypted_dirent/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_short_encrypted_dirent/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_special_ea/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_special_ea/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_special_ea/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_special_ea/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_summary_counts/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_summary_counts/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_summary_counts/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_summary_counts/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_summary_counts/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_super_bad_csum/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_super_bad_csum/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_super_bad_csum/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_super_bad_csum/name delete mode 100755 src/_nfdos/e2fsprogs/tests/f_super_bad_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_toobig_extent_dir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_toobig_extent_dir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_toobig_extent_dir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_toobig_extent_dir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_trunc_dirent_header/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_trunc_dirent_header/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_trunc_dirent_header/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_trunc_dirent_header/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_bad_free_inodes/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_bad_free_inodes/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_bad_free_inodes/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_bad_free_inodes/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_blk_used_not_set/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_blk_used_not_set/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_blk_used_not_set/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_blk_used_not_set/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_cat/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_cat/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_cat/name delete mode 100755 src/_nfdos/e2fsprogs/tests/f_uninit_cat/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_checksum_bad/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_checksum_bad/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_checksum_bad/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_checksum_bad/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_dir/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_dir/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_dir/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_dir/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_disable/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_disable/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_disable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_disable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_enable/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_enable/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_enable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_enable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof2/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof2/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof2/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_ext_past_eof2/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_inode_past_unused/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_inode_past_unused/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_inode_past_unused/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_inode_past_unused/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_last_uninit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_last_uninit/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_last_uninit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_last_uninit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_restart_fsck/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_restart_fsck/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_restart_fsck/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_restart_fsck/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_set_inode_not_set/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_set_inode_not_set/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_set_inode_not_set/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_uninit_set_inode_not_set/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_no_space/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_no_space/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_no_space/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_no_space/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_no_space/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_ok/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_ok/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_ok/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_ok/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unshare_blocks_ok/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unsorted_EAs/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unsorted_EAs/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unsorted_EAs/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unsorted_EAs/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unused_itable/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unused_itable/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unused_itable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_unused_itable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_valid_ea_in_inode/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_valid_ea_in_inode/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_valid_ea_in_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_valid_ea_in_inode/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_verity/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_verity/image.gz delete mode 100755 src/_nfdos/e2fsprogs/tests/f_verity/mkimage.sh delete mode 100644 src/_nfdos/e2fsprogs/tests/f_verity/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_verity/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_no_extra_isize/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_no_extra_isize/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_no_extra_isize/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_no_extra_isize/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toobig_extra_isize/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toobig_extra_isize/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toobig_extra_isize/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toobig_extra_isize/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toosmall_extra_isize/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toosmall_extra_isize/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toosmall_extra_isize/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_write_ea_toosmall_extra_isize/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yes/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yes/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesall/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesall/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesall/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesthenall/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesthenall/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesthenno/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/f_yesthenno/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_group/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_group/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_group/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_group/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_inode_size/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_inode_size/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_inode_size/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_inode_size/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_super/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_super/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_super/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_super/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_xattr/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_xattr/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_xattr/name delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zero_xattr/script delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zeroed_ext_header/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zeroed_ext_header/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zeroed_ext_header/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/f_zeroed_ext_header/name delete mode 100644 src/_nfdos/e2fsprogs/tests/filter.sed delete mode 100644 src/_nfdos/e2fsprogs/tests/fuzz/.gitignore delete mode 100644 src/_nfdos/e2fsprogs/tests/fuzz/ext2fs_check_directory_fuzzer.cc delete mode 100644 src/_nfdos/e2fsprogs/tests/fuzz/ext2fs_image_read_write_fuzzer.cc delete mode 100644 src/_nfdos/e2fsprogs/tests/fuzz/ext2fs_read_bitmap_fuzzer.cc delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bad_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bad_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bitmaps/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bitmaps/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/i_bitmaps/script delete mode 100644 src/_nfdos/e2fsprogs/tests/i_qcow/i_qcow.crc delete mode 100644 src/_nfdos/e2fsprogs/tests/i_qcow/image1024.orig.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/i_qcow/image2048.orig.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/i_qcow/image4096.orig.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/i_qcow/script delete mode 100644 src/_nfdos/e2fsprogs/tests/i_zero_super/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/i_zero_super/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/i_zero_super/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_tid/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_tid/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_tid/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_commit_tid/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_tid/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_tid/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_tid/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_descr_tid/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_ext_jnl_sb_block/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_ext_jnl_sb_block/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_ext_jnl_sb_block/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_ext_jnl_sb_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_ext_jnl_sb_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_ext_jnl_sb_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_journal_block/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_journal_block/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_journal_block/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_journal_block/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_block/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_block/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_block/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_block/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_rcount/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_rcount/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_rcount/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_revoke_rcount/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_magic/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_magic/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_magic/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_corrupt_sb_magic/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_dumpe2fs/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_dumpe2fs/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_dumpe2fs/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_dumpe2fs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_long_revoke_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_long_revoke_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_long_revoke_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_long_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_long_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_ext_long_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans_mcsum_32bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans_mcsum_32bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans_mcsum_32bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans_mcsum_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans_mcsum_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_revoke_trans_mcsum_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans_mcsum_32bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans_mcsum_32bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans_mcsum_32bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans_mcsum_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans_mcsum_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_long_trans_mcsum_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_32bit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_32bit/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_32bit/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_32bit/name delete mode 100755 src/_nfdos/e2fsprogs/tests/j_recover_csum2_32bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_64bit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_64bit/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_64bit/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum2_64bit/name delete mode 100755 src/_nfdos/e2fsprogs/tests/j_recover_csum2_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum3_64bit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum3_64bit/expect.2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum3_64bit/image.bz2 delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_csum3_64bit/name delete mode 100755 src/_nfdos/e2fsprogs/tests/j_recover_csum3_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_fast_commit/commands delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_fast_commit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_recover_fast_commit/image.gz delete mode 100755 src/_nfdos/e2fsprogs/tests/j_recover_fast_commit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_revoke_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_revoke_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_revoke_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_revoke_trans_mcsum_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_revoke_trans_mcsum_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_revoke_trans_mcsum_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_mcsum_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_mcsum_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_mcsum_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_old_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_old_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_old_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_open_recover/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_open_recover/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_open_recover/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_recover/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_recover/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_recover/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_recover_mcsum_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_recover_mcsum_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_trans_recover_mcsum_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_uncommitted_trans/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_uncommitted_trans/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_uncommitted_trans/script delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_uncommitted_trans_mcsum_64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_uncommitted_trans_mcsum_64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/j_short_uncommitted_trans_mcsum_64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_64bit_flexbg/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_64bit_flexbg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_assume_storage_prezeroed/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_assume_storage_prezeroed/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_bigjournal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_bigjournal/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_dasd_bs/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_dasd_bs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_desc_size_128/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_desc_size_128/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_devdir/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_error_behavior/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/m_error_behavior/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_extent_journal/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_extent_journal/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_hugefile/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_hugefile/name delete mode 100644 src/_nfdos/e2fsprogs/tests/m_hugefile/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_hugefile_slack/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_hugefile_slack/name delete mode 100644 src/_nfdos/e2fsprogs/tests/m_hugefile_slack/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_image_mmp/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_image_mmp/name delete mode 100644 src/_nfdos/e2fsprogs/tests/m_image_mmp/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_large_file/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_large_file/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mcsum_extjournal/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mcsum_extjournal/name delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mcsum_extjournal/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_meta_bg/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_meta_bg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_minrootdir/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_minrootdir/output.sed delete mode 100644 src/_nfdos/e2fsprogs/tests/m_minrootdir/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mkfs_overhead/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mkfs_overhead/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_csum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_csum/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_csum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_magic/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_magic/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_magic/name delete mode 100644 src/_nfdos/e2fsprogs/tests/m_mmp_bad_magic/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_no_opt/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_no_opt/script delete mode 100755 src/_nfdos/e2fsprogs/tests/m_offset/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_quota/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_quota/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_raid_opt/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_raid_opt/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_resize_inode_meta_bg/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_resize_inode_meta_bg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_root_owner/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_root_owner/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_rootdir/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_rootdir/output.sed delete mode 100644 src/_nfdos/e2fsprogs/tests/m_rootdir/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_rootdir_acl/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/m_rootdir_acl/output.sed delete mode 100644 src/_nfdos/e2fsprogs/tests/m_rootdir_acl/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_std/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_std/script delete mode 100644 src/_nfdos/e2fsprogs/tests/m_uninit/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/m_uninit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/mke2fs.conf.in delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/crcsum.c delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/hold_inode.c delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/random_exercise.c delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/bma.setup delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/expect.brel delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/expect.icount delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/expect.irel delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/ima.setup delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/normal.setup delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/opt.setup delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/test.brel delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/test.icount delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_data/test.irel delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_icount.c delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_icount.h delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_icount_cmds.ct delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_rel.c delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_rel.h delete mode 100644 src/_nfdos/e2fsprogs/tests/progs/test_rel_cmds.ct delete mode 100644 src/_nfdos/e2fsprogs/tests/r_1024_small_bg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_expand_full/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_expand_full/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_expand_full/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_meta/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_meta/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_meta/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_move_itable/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_move_itable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_32to64bit_move_itable/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64bit_big_expand/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64bit_big_expand/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64to32bit/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64to32bit/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64to32bit/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64to32bit_meta/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64to32bit_meta/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_64to32bit_meta/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_bigalloc_big_expand/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_corrupt_fs/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_corrupt_fs/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_corrupt_fs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_expand_full/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_expand_full/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_expand_full/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_ext4_big_expand/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/r_ext4_big_expand/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_ext4_small_bg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_fixup_lastbg/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/r_fixup_lastbg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_fixup_lastbg_big/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/r_fixup_lastbg_big/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_inline_xattr/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_inline_xattr/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/r_inline_xattr/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_inline_xattr/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_meta_bg_shrink/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_min_itable/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_min_itable/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/r_min_itable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_min_itable/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_inode_int_extent/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_inode_int_extent/image.gz delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_inode_int_extent/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_inode_int_extent/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable_nostride/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable_nostride/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable_nostride/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable_realloc/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable_realloc/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_move_itable_realloc/script delete mode 100644 src/_nfdos/e2fsprogs/tests/r_resize_inode/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/r_resize_inode/name delete mode 100644 src/_nfdos/e2fsprogs/tests/r_resize_inode/script delete mode 100644 src/_nfdos/e2fsprogs/tests/run_e2fsck delete mode 100644 src/_nfdos/e2fsprogs/tests/run_mke2fs delete mode 100755 src/_nfdos/e2fsprogs/tests/scripts/gen-test-data delete mode 100755 src/_nfdos/e2fsprogs/tests/scripts/mkdup delete mode 100755 src/_nfdos/e2fsprogs/tests/scripts/repair-test delete mode 100755 src/_nfdos/e2fsprogs/tests/scripts/resize_test delete mode 100644 src/_nfdos/e2fsprogs/tests/t_change_uuid/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_change_uuid/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_change_uuid_mcsum/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_change_uuid_mcsum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_change_uuid_mcsum_mounted/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_change_uuid_mcsum_mounted/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_change_uuid_mcsum_seed_mounted/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_change_uuid_mcsum_seed_mounted/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_change_uuid_mounted/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_change_uuid_mounted/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_dangerous/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_dangerous/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_dangerous/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_changed_csum_seed/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_disable_changed_csum_seed/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_changed_csum_seed_mounted/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_disable_changed_csum_seed_mounted/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_csum_seed/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_disable_csum_seed/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum_noinitbg/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum_noinitbg/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum_noinitbg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum_yesinitbg/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum_yesinitbg/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_mcsum_yesinitbg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_disable_meta_csum_and_seed/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_disable_meta_csum_and_seed/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_csum_seed/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_enable_csum_seed/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum_ext3/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum_ext3/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum_ext3/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum_initbg/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum_initbg/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_enable_mcsum_initbg/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_ext_jnl_fail/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_ext_jnl_fail/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_ext_jnl_fail/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_ext_jnl_rm/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_format_csum_seed/expect delete mode 100755 src/_nfdos/e2fsprogs/tests/t_format_csum_seed/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_iexpand_full/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_iexpand_full/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_iexpand_full/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_iexpand_mcsum/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_iexpand_mcsum/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_iexpand_mcsum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_1on/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_1on/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_2off/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_2off/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_fail/is_slow_test delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_fail/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_mmp_fail/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_1on/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_1on/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_2off/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_2off/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_3on/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_3on/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_4off/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_project_4off/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_quota_1on/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_quota_1on/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_quota_2off/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_quota_2off/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_quota_add/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_quota_add/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_replay_and_set/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_replay_and_set/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_replay_and_set/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_uninit_bg_rm/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/t_uninit_bg_rm/script delete mode 100644 src/_nfdos/e2fsprogs/tests/t_write_subdirectory/name delete mode 100644 src/_nfdos/e2fsprogs/tests/t_write_subdirectory/script delete mode 100644 src/_nfdos/e2fsprogs/tests/test_config delete mode 100644 src/_nfdos/e2fsprogs/tests/test_one.in delete mode 100755 src/_nfdos/e2fsprogs/tests/test_post delete mode 100644 src/_nfdos/e2fsprogs/tests/test_script.in delete mode 100644 src/_nfdos/e2fsprogs/tests/u_bounce_io/expect.1 delete mode 100644 src/_nfdos/e2fsprogs/tests/u_bounce_io/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_compound_bad_rollback/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_compound_rollback/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_corrupt_blk_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_corrupt_blk_csum_force/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_corrupt_hdr_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_corrupt_key_csum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_debugfs_opt/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_direct_io/expect delete mode 100644 src/_nfdos/e2fsprogs/tests/u_direct_io/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_dryrun/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_e2fsck_opt/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_errorout/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_force/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_force_dryrun/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_incomplete/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_mke2fs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_mke2fs_opt/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_mke2fs_opt_oddsize/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_mke2fs_opt_offset/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_not_undo/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_offset/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_onefile_bad/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_resize2fs_opt/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_revert_64bitmcsum_onefile/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_revert_all_onefile/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_revert_upgrade_to_64bitmcsum/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_tune2fs/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_tune2fs_opt/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_undo_undo/script delete mode 100644 src/_nfdos/e2fsprogs/tests/u_wrong_fs/script delete mode 100644 src/_nfdos/e2fsprogs/util/all.exclude delete mode 100644 src/_nfdos/e2fsprogs/util/android-README.version.in delete mode 100644 src/_nfdos/e2fsprogs/util/android_config.h delete mode 100644 src/_nfdos/e2fsprogs/util/android_types.h delete mode 100644 src/_nfdos/e2fsprogs/util/copy_sparse.c delete mode 100755 src/_nfdos/e2fsprogs/util/gen-android-files delete mode 100755 src/_nfdos/e2fsprogs/util/gen-git-tarball delete mode 100755 src/_nfdos/e2fsprogs/util/gen-sample-fs delete mode 100644 src/_nfdos/e2fsprogs/util/gen-tarball.in delete mode 100755 src/_nfdos/e2fsprogs/util/get-ver delete mode 100644 src/_nfdos/e2fsprogs/util/install-symlink.in delete mode 100644 src/_nfdos/e2fsprogs/util/libecho.c delete mode 100644 src/_nfdos/e2fsprogs/util/mkutf8data.c delete mode 100644 src/_nfdos/e2fsprogs/util/subst.c delete mode 100644 src/_nfdos/e2fsprogs/util/subst.conf.in delete mode 100644 src/_nfdos/e2fsprogs/util/symlinks.c delete mode 100644 src/_nfdos/e2fsprogs/util/ucd/README delete mode 100644 src/_nfdos/e2fsprogs/version.h delete mode 100644 src/_nfdos/e2fsprogs/wordwrap.pl diff --git a/src/_nfdos/e2fsprogs/.github/workflows/ci.yml b/src/_nfdos/e2fsprogs/.github/workflows/ci.yml deleted file mode 100644 index 51b27c8..0000000 --- a/src/_nfdos/e2fsprogs/.github/workflows/ci.yml +++ /dev/null @@ -1,116 +0,0 @@ -name: CI -on: [push] -env: - DEF_CFLAGS: -O2 -g -Wall - -jobs: - gcc-build-and-test: - name: Build and test with gcc - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: ./configure CC=gcc CFLAGS="$DEF_CFLAGS" - - run: make -j8 check V=1 CFLAGS_WARN="-Werror" - - run: make -j8 install V=1 DESTDIR=$PWD/installdir - - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir - - clang-build-and-test: - name: Build and test with clang - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y clang - - run: ./configure CC=clang CFLAGS="$DEF_CFLAGS" - - run: make -j8 check V=1 CFLAGS_WARN="-Werror" - - run: make -j8 install V=1 DESTDIR=$PWD/installdir - - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir - - i386-build-and-test: - name: Build and test with gcc -m32 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y gcc-multilib - - run: ./configure CC=gcc CFLAGS="$DEF_CFLAGS -m32" LDFLAGS="-m32" - - run: make -j8 check V=1 CFLAGS_WARN="-Werror" - - run: make -j8 install V=1 DESTDIR=$PWD/installdir - - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir - - asan-build-and-test: - name: Build and test with ASAN enabled - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y clang - - run: echo "ASAN_CFLAGS=$DEF_CFLAGS -fsanitize=address -fno-sanitize-recover=address" >> $GITHUB_ENV - - run: ./configure CC=clang CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" - - run: make -j8 check V=1 CFLAGS_WARN="-Werror" - - ubsan-build-and-test: - name: Build and test with UBSAN enabled - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y clang - - run: echo "UBSAN_CFLAGS=$DEF_CFLAGS -fsanitize=undefined -fno-sanitize-recover=undefined" >> $GITHUB_ENV - - run: ./configure CC=clang CFLAGS="$UBSAN_CFLAGS" LDFLAGS="$UBSAN_CFLAGS" - - run: make -j8 check V=1 CFLAGS_WARN="-Werror" - - macos-build-and-test: - name: Build and test on macOS - runs-on: macos-latest - steps: - - uses: actions/checkout@v3 - - run: ./configure CFLAGS="$DEF_CFLAGS" - # -Wno-error=deprecated-declarations is needed to suppress known warnings - # due to e2fsprogs' use of sbrk(0) and daemon(). - - run: make -j8 check V=1 CFLAGS_WARN="-Werror -Wno-error=deprecated-declarations" - - run: make -j8 install DESTDIR=$PWD/installdir - - run: make -j8 uninstall DESTDIR=$PWD/installdir - - windows-msys2-build: - name: Build mke2fs on Windows with ${{matrix.sys}} - runs-on: windows-latest - strategy: - matrix: - include: - - { sys: mingw32, env: i686 } - - { sys: mingw64, env: x86_64 } - defaults: - run: - shell: msys2 {0} - steps: - - uses: actions/checkout@v3 - - uses: msys2/setup-msys2@v2 - with: - msystem: ${{matrix.sys}} - update: true - install: > - make - mingw-w64-${{matrix.env}}-cc - # For now the only parts that actually build for Windows are mke2fs and its - # dependencies: all libraries except libss. The build system doesn't want - # to build just those parts, though, so do it one step at a time... - - run: ./configure CFLAGS="$DEF_CFLAGS" - - run: make -j8 subs V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C lib/et/ all V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C lib/uuid/ all V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C lib/blkid/ all V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C lib/ext2fs/ all V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C lib/support/ all V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C lib/e2p/ all V=1 CFLAGS_WARN="-Werror" - - run: make -j8 -C misc/ mke2fs V=1 CFLAGS_WARN="-Werror" - - run: touch image.ext4 - - run: misc/mke2fs.exe -T ext4 image.ext4 128M diff --git a/src/_nfdos/e2fsprogs/.gitignore b/src/_nfdos/e2fsprogs/.gitignore deleted file mode 100644 index 5288836..0000000 --- a/src/_nfdos/e2fsprogs/.gitignore +++ /dev/null @@ -1,237 +0,0 @@ -autom4te.cache -build -build.profiled -build.static -FILES -^core -*~ -patches -Makefile -*.bak -*.diff -*.dSYM -*.o -*.a -*.orig -*.patch -*.pc -*.rej -*.swp -00[0-9][1-9]*.patch -MCONFIG -asm_types.h -config.log -config.status -cscope.* -debugfs/extent_cmds.c -debugfs/debug_cmds.c -debugfs/debugfs -debugfs/debugfs.8 -debugfs/extent_cmds.c -debugfs/tst_set_fields -doc/libext2fs.aux -doc/libext2fs.cp -doc/libext2fs.dvi -doc/libext2fs.fn -doc/libext2fs.fns -doc/libext2fs.info -doc/libext2fs.ky -doc/libext2fs.log -doc/libext2fs.pg -doc/libext2fs.toc -doc/libext2fs.tp -doc/libext2fs.vr -e2fsck/crc32table.h -e2fsck/e2fsck -e2fsck/e2fsck.8 -e2fsck/e2fsck.conf.5 -e2fsck/e2fsck.shared -e2fsck/e2fsck.static -e2fsck/gen_crc32table -e2fsck/prof_err.c -e2fsck/prof_err.h -e2fsck/tst_crc32 -e2fsck/tst_problem -e2fsck/tst_refcount -e2fsck/tst_region -e2fsprogs.spec -ext2ed/ext2ed.conf -ext2ed/ext2ed.8 -intl/charset.alias -intl/libgnuintl.h -intl/libintl.a -intl/libintl.h -intl/ref-add.sed -intl/ref-del.sed -lib/blkid/blkid.h -lib/blkid/blkid.pc -lib/blkid/blkid_types.h -lib/blkid/libblkid.3 -lib/blkid/subdirs -lib/blkid/test_probe -lib/blkid/tests/*.ok -lib/blkid/tests/*.out -lib/blkid/tests/tmp -lib/blkid/tst_cache -lib/blkid/tst_dev -lib/blkid/tst_devname -lib/blkid/tst_devno -lib/blkid/tst_getsize -lib/blkid/tst_probe -lib/blkid/tst_read -lib/blkid/tst_resolve -lib/blkid/tst_save -lib/blkid/tst_tag -lib/blkid/tst_types -lib/config.h -lib/dirpaths.h -lib/e2p/e2p.pc -lib/e2p/subdirs -lib/e2p/tst_feature -lib/e2p/tst_ostype -lib/et/com_err.pc -lib/et/compile_et -lib/et/subdirs -lib/ext2fs/crc32c_table.h -lib/ext2fs/debug_cmds.c -lib/ext2fs/ext2_err.c -lib/ext2fs/ext2_err.et -lib/ext2fs/ext2_err.h -lib/ext2fs/ext2_types.h -lib/ext2fs/ext2fs.pc -lib/ext2fs/extent_cmds.c -lib/ext2fs/gen_crc32ctable -lib/ext2fs/subdirs -lib/ext2fs/tst_badblocks -lib/ext2fs/tst_bitmaps -lib/ext2fs/tst_bitmaps_cmd.c -lib/ext2fs/tst_bitmaps_out -lib/ext2fs/tst_bitops -lib/ext2fs/tst_cmds.c -lib/ext2fs/tst_csum -lib/ext2fs/tst_crc32c -lib/ext2fs/tst_digest_encode -lib/ext2fs/tst_getsectsize -lib/ext2fs/tst_getsize -lib/ext2fs/tst_icount -lib/ext2fs/tst_inline -lib/ext2fs/tst_inline_data -lib/ext2fs/tst_inode_size -lib/ext2fs/tst_iscan -lib/ext2fs/tst_libext2fs -lib/ext2fs/tst_sha256 -lib/ext2fs/tst_sha512 -lib/ext2fs/tst_super_size -lib/ext2fs/tst_types -lib/quota/subdirs -lib/ss/mk_cmds -lib/ss/ss.pc -lib/ss/ss_err.c -lib/ss/ss_err.h -lib/ss/std_rqs.c -lib/ss/subdirs -lib/ss/test.diff -lib/ss/test_cmd.c -lib/ss/test_out -lib/ss/test_ss -lib/support/prof_err.c -lib/support/prof_err.h -lib/support/subdirs -lib/uuid/subdirs -lib/uuid/tst_uuid -lib/uuid/uuid.3 -lib/uuid/uuid.h -lib/uuid/uuid.pc -lib/uuid/uuid_clear.3 -lib/uuid/uuid_compare.3 -lib/uuid/uuid_copy.3 -lib/uuid/uuid_generate.3 -lib/uuid/uuid_is_null.3 -lib/uuid/uuid_parse.3 -lib/uuid/uuid_time -lib/uuid/uuid_time.3 -lib/uuid/uuid_types.h -lib/uuid/uuid_unparse.3 -misc/badblocks -misc/badblocks.8 -misc/base_device -misc/base_device.out -misc/blkid -misc/blkid.8 -misc/chattr -misc/chattr.1 -misc/default_profile.c -misc/dumpe2fs -misc/dumpe2fs.8 -misc/e2freefrag -misc/e2freefrag.8 -misc/e2fuzz -misc/e2image -misc/e2image.8 -misc/e2initrd_helper -misc/e2label.8 -misc/e2mmpstatus -misc/e2mmpstatus.8 -misc/e2undo -misc/e2undo.8 -misc/e4crypt -misc/e4crypt.8 -misc/e4defrag -misc/e4defrag.8 -misc/ext4.5 -misc/filefrag -misc/filefrag.8 -misc/findfs.8 -misc/findsuper -misc/fsck -misc/fsck.8 -misc/fuse2fs -misc/fuse2fs.1 -misc/logsave -misc/logsave.8 -misc/lsattr -misc/lsattr.1 -misc/mke2fs -misc/mke2fs.8 -misc/mke2fs.conf.5 -misc/mke2fs.conf -misc/mklost+found -misc/mklost+found.8 -misc/prof_err.c -misc/prof_err.h -misc/profile.h -misc/tune2fs -misc/tune2fs.8 -misc/uuidd -misc/uuidd.8 -misc/uuidgen -misc/uuidgen.1 -ncscope.* -parse-types.log -po/Makefile.in -po/POTFILES -public_config.h -resize/resize2fs -resize/resize2fs.8 -resize/test_extent -resize/test_extent.out -tags -TAGS -tests/progs/test_icount -tests/progs/test_icount_cmds.c -tests/progs/crcsum -tests/*.ok -tests/*.failed -tests/*.log -tests/*.tmp -tests/*.slow -tests/test_data.tmp -tests/mke2fs.conf -tests/test_script -tests/test_one -util/dirpaths.h -util/gen-tarball -util/install-symlink -util/subst -util/subst.conf -Meta diff --git a/src/_nfdos/e2fsprogs/.missing-copyright b/src/_nfdos/e2fsprogs/.missing-copyright deleted file mode 100644 index d99cb32..0000000 --- a/src/_nfdos/e2fsprogs/.missing-copyright +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -find . -type f \! -name \*~ \! -exec grep -q Begin-Header \{\} \; -print \ - | grep -v ^./build diff --git a/src/_nfdos/e2fsprogs/.release-checklist b/src/_nfdos/e2fsprogs/.release-checklist deleted file mode 100644 index 276dd8a..0000000 --- a/src/_nfdos/e2fsprogs/.release-checklist +++ /dev/null @@ -1,19 +0,0 @@ -1) Do "make depend" if necessary - -2) "make check"!!! - -3) Use "git log" to assemble release notes and update RELEASE-NOTES symlink. - -4) Update files which contain version information - version.h - README - e2fsprogs.lsm - e2fsprogs.spec - doc/libext2fs.texinfo (three places) - -5) Run "(cd po; make e2fsprogs.pot-update)" to update the translation template. - -6) Make source tarfile - -7) Adjust sizes in e2fsprogs-VER.lsm; rebuild source files; regenerate source tarfile - diff --git a/src/_nfdos/e2fsprogs/ABOUT-NLS b/src/_nfdos/e2fsprogs/ABOUT-NLS deleted file mode 100644 index 3cc8286..0000000 --- a/src/_nfdos/e2fsprogs/ABOUT-NLS +++ /dev/null @@ -1,1379 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is a -way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this 'ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU 'gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU 'gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - -1.1 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU 'gettext'. Other packages have their own ways to -internationalization, predating GNU 'gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU 'gettext' functions. Installers may use special -options at configuration time for changing the default behaviour. The -command: - - ./configure --disable-nls - -will _totally_ disable translation of messages. - - When you already have GNU 'gettext' installed on your system and run -configure without an option for your new package, 'configure' will -probably detect the previously built and installed 'libintl' library and -will decide to use it. If not, you may have to to use the -'--with-libintl-prefix' option to tell 'configure' where to look for it. - - Internationalized packages usually have many 'po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at 'configure' time by using the -'--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable 'LINGUAS' -may be set, prior to configuration, to limit the installed set. -'LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.2 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the 'LANG' environment variable to the appropriate -'LL_CC' combination. If you happen to have the 'LC_ALL' or some other -'LC_xxx' environment variables set, you should unset them before setting -'LANG', otherwise the setting of 'LANG' will not have the desired -effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is -an ISO 3166 two-letter country code. For example, let's suppose that -you speak German and live in Germany. At the shell prompt, merely -execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in -'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your -'.login' or '.profile' file, once and for all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of 'LL_CC', with 'LL' denoting the -language and 'CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are used, -such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales -supported by your system for your language by running the command -'locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG' -for the purpose of message handling, but you still need to have 'LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather read -translations in German than English for when Swedish is not available, -set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from 'no' to 'nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under 'nb' and some older ones under 'no', it's recommended -for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and -older translations are used. - - In the 'LANGUAGE' environment variable, but not in the 'LANG' -environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to -denote the language's main dialect. For example, 'de' is equivalent to -'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese -as spoken in Portugal) in this context. - -1.3 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -'http://translationproject.org/', in the "Teams" area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -'-request' appended. For example, speakers of Swedish can send a -message to 'sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate _actively_ -in translations, or at solving translational difficulties, rather than -merely lurking around. If your team does not exist yet and you want to -start one, or if you are unsure about what to do or how to get started, -please write to 'coordinator@translationproject.org' to reach the -coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.4 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of Jun 2014. -The matrix shows, in regard of each package, for which languages PO -files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs - +---------------------------------------------------+ - a2ps | [] [] [] | - aegis | | - anubis | | - aspell | [] [] [] | - bash | [] [] [] | - bfd | | - binutils | [] | - bison | | - bison-runtime | [] | - buzztrax | [] | - ccd2cue | | - ccide | | - cflow | | - clisp | | - coreutils | [] [] | - cpio | | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | | - denemo | [] [] | - dfarc | [] | - dialog | [] [] [] | - dico | | - diffutils | [] | - dink | [] | - direvent | | - doodle | [] | - dos2unix | | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] | - exif | [] | - fetchmail | [] [] | - findutils | [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | [] | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gjay | | - glunarclock | [] [] [] | - gnubiff | [] | - gnubik | [] | - gnucash | () () [] | - gnuchess | | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] | - gramadoir | | - grep | [] [] [] | - grub | [] | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] | - gst-plugins-ugly | [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] | - help2man | | - help2man-texi | | - hylafax | | - idutils | | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | | - kbd | [] | - klavaro | [] [] [] [] [] | - ld | [] | - leafpad | [] [] [] [] | - libc | [] [] [] | - libexif | () | - libextractor | | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] [] | - lilypond | [] [] | - lordsawar | [] | - lprng | | - lynx | [] [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] | - man-db | [] [] | - man-db-manpages | | - midi-instruments | [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | [] | - nano | [] [] [] | - opcodes | | - parted | [] | - pies | | - pnmixer | | - popt | [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] | - pushover | [] | - pwdutils | | - pyspread | | - radius | [] | - recode | [] [] [] | - recutils | | - rpm | | - rush | | - sarg | | - sed | [] [] [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] | - sudoers | [] [] | - sysstat | [] | - tar | [] [] [] | - texinfo | [] [] | - texinfo_document | [] [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | | - trader | | - util-linux | [] | - ve | | - vice | | - vmm | | - vorbis-tools | [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] | - wget | [] | - wyslij-po | | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +---------------------------------------------------+ - af am an ar as ast az be bg bn bn_IN bs ca crh cs - 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74 - - da de el en en_GB en_ZA eo es et eu fa fi fr - +--------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] [] | - aegis | [] [] [] [] | - anubis | [] [] [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] | - bfd | [] [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] [] [] [] | - ccd2cue | [] [] [] [] | - ccide | [] [] [] [] [] [] | - cflow | [] [] [] [] [] | - clisp | [] [] [] [] [] | - coreutils | [] [] [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] [] [] [] [] | - cryptsetup | [] [] [] [] [] | - datamash | [] [] [] [] | - denemo | [] | - dfarc | [] [] [] [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] | - dico | [] [] [] [] | - diffutils | [] [] [] [] [] [] | - dink | [] [] [] [] [] [] | - direvent | [] [] [] [] | - doodle | [] [] [] [] | - dos2unix | [] [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] () [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] | - flex | [] [] [] [] [] [] | - freedink | [] [] [] [] [] [] [] [] | - fusionforge | [] [] [] | - gas | [] [] [] | - gawk | [] [] [] [] [] | - gcal | [] [] [] [] | - gcc | [] | - gdbm | [] [] [] [] [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] [] | - glunarclock | [] [] [] [] [] | - gnubiff | () [] [] () | - gnubik | [] [] [] [] [] | - gnucash | [] () () () () () () | - gnuchess | [] [] [] [] | - gnulib | [] [] [] [] [] [] [] | - gnunet | [] | - gnunet-gtk | [] | - gold | [] [] [] | - gphoto2 | [] () [] [] | - gprof | [] [] [] [] [] [] | - gramadoir | [] [] [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] () [] [] [] | - gtkam | [] () [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] | - guix | [] [] | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] [] [] | - help2man | [] [] [] [] [] [] [] | - help2man-texi | [] [] [] | - hylafax | [] [] | - idutils | [] [] [] [] [] | - iso_15924 | [] () [] [] () [] () | - iso_3166 | [] () [] [] [] [] () [] () | - iso_3166_2 | [] () () () | - iso_4217 | [] () [] [] [] () [] () | - iso_639 | [] () [] [] () [] () | - iso_639_3 | () () () | - iso_639_5 | () () () | - jwhois | [] [] [] [] [] | - kbd | [] [] [] [] [] [] | - klavaro | [] [] [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () [] [] | - libextractor | [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] () [] | - libgphoto2_port | [] () [] [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] [] | - liferea | [] () [] [] [] [] [] | - lilypond | [] [] [] [] [] [] | - lordsawar | [] [] | - lprng | | - lynx | [] [] [] [] [] [] | - m4 | [] [] [] [] [] [] | - mailfromd | [] | - mailutils | [] [] [] [] | - make | [] [] [] [] [] | - man-db | [] [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] [] [] | - nano | [] [] [] [] [] [] [] | - opcodes | [] [] [] [] [] | - parted | [] [] [] | - pies | [] | - pnmixer | [] [] | - popt | [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] [] | - psmisc | [] [] [] [] [] [] [] | - pspp | [] [] [] | - pushover | () [] [] [] | - pwdutils | [] [] [] | - pyspread | [] [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - recutils | [] [] [] [] | - rpm | [] [] [] [] [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] [] | - skribilo | [] [] [] | - solfege | [] [] [] [] [] [] [] [] | - solfege-manual | [] [] [] [] [] | - spotmachine | [] [] [] [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] [] [] | - sysstat | [] [] [] [] [] [] | - tar | [] [] [] [] [] [] [] | - texinfo | [] [] [] [] [] | - texinfo_document | [] [] [] [] | - tigervnc | [] [] [] [] [] [] | - tin | [] [] [] [] | - tin-man | [] | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] [] [] [] [] [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] [] | - vice | () () () | - vmm | [] [] | - vorbis-tools | [] [] [] [] | - wastesedge | [] | - wcd | [] [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] [] | - +--------------------------------------------------+ - da de el en en_GB en_ZA eo es et eu fa fi fr - 119 131 32 1 6 0 94 95 22 13 4 102 139 - - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - +-------------------------------------------------+ - a2ps | [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] | - binutils | [] [] [] | - bison | [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | | - ccd2cue | [] | - ccide | [] [] | - cflow | [] [] [] | - clisp | | - coreutils | [] [] | - cpio | [] [] [] [] [] [] | - cppi | [] [] [] [] [] | - cpplib | [] [] | - cryptsetup | [] | - datamash | | - denemo | [] | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] | - dink | [] | - direvent | [] | - doodle | [] [] | - dos2unix | [] [] | - dos2unix-man | | - e2fsprogs | [] [] | - enscript | [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] [] | - flex | [] | - freedink | [] [] [] [] | - fusionforge | | - gas | [] | - gawk | [] () [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] | - gettext-tools | [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] [] () | - gnubik | [] [] [] | - gnucash | () () () () () | - gnuchess | | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] [] [] | - grub | [] [] [] | - gsasl | [] [] [] [] [] | - gss | [] [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] | - hello | [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | | - hylafax | [] | - idutils | [] [] | - iso_15924 | [] [] [] [] [] [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | [] [] | - iso_4217 | [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - iso_639_5 | | - jwhois | [] [] [] [] | - kbd | [] [] [] | - klavaro | [] [] [] [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] [] () | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | | - libgnutls | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] [] [] | - libidn | [] [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | | - mailutils | | - make | [] [] [] [] | - man-db | [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] [] [] [] | - minicom | [] [] [] | - mkisofs | [] [] | - myserver | [] | - nano | [] [] [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | | - pnmixer | [] [] | - popt | [] [] [] [] [] [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | [] | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] [] [] [] [] [] | - recutils | | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] [] [] [] [] [] | - sharutils | | - shishi | | - skribilo | [] | - solfege | [] [] | - solfege-manual | | - spotmachine | | - sudo | [] [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] [] [] | - tar | [] [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] [] | - tigervnc | | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] | - ve | [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | [] | - wcd | | - wcd-man | | - wdiff | [] [] [] | - wget | [] [] [] [] | - wyslij-po | [] [] [] | - xboard | | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] | - +-------------------------------------------------+ - ga gd gl gu he hi hr hu hy ia id is it ja ka kk - 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3 - - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - +--------------------------------------------------+ - a2ps | [] [] | - aegis | [] | - anubis | [] [] [] | - aspell | [] [] | - bash | [] [] | - bfd | | - binutils | | - bison | [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | | - ccd2cue | | - ccide | [] [] | - cflow | [] | - clisp | [] | - coreutils | [] [] | - cpio | [] | - cppi | | - cpplib | [] | - cryptsetup | [] | - datamash | [] [] | - denemo | | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] | - dink | [] | - direvent | [] | - doodle | [] | - dos2unix | [] [] | - dos2unix-man | [] | - e2fsprogs | [] | - enscript | [] | - exif | [] [] [] | - fetchmail | [] | - findutils | [] [] | - flex | [] | - freedink | [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | | - gettext-examples | [] [] [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] | - gjay | | - glunarclock | [] [] | - gnubiff | [] | - gnubik | [] [] | - gnucash | () () () () () () () [] | - gnuchess | [] [] | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] | - gprof | [] [] | - gramadoir | [] | - grep | [] [] | - grub | [] [] [] | - gsasl | [] | - gss | | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] [] | - gst-plugins-good | [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] | - gtkam | [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] | - hello | [] [] [] | - help2man | [] | - help2man-texi | | - hylafax | [] | - idutils | [] | - iso_15924 | () [] [] | - iso_3166 | [] [] [] () [] [] [] [] [] [] | - iso_3166_2 | () [] | - iso_4217 | () [] [] [] | - iso_639 | [] [] () [] [] [] [] | - iso_639_3 | [] () [] | - iso_639_5 | () | - jwhois | [] [] | - kbd | [] | - klavaro | [] [] | - ld | | - leafpad | [] [] [] [] [] | - libc | [] [] | - libexif | [] | - libextractor | [] | - libgnutls | [] [] | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | [] [] | - libidn | [] | - liferea | [] [] [] | - lilypond | [] | - lordsawar | | - lprng | | - lynx | [] | - m4 | [] | - mailfromd | | - mailutils | | - make | [] [] | - man-db | [] | - man-db-manpages | [] | - midi-instruments | [] [] [] [] [] [] [] | - minicom | [] | - mkisofs | [] | - myserver | | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pies | | - pnmixer | [] | - popt | [] [] [] [] [] | - procps-ng | | - procps-ng-man | | - psmisc | [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | | - radius | [] | - recode | [] [] | - recutils | [] | - rpm | [] | - rush | [] | - sarg | | - sed | [] [] | - sharutils | [] | - shishi | | - skribilo | | - solfege | [] [] | - solfege-manual | [] | - spotmachine | [] | - sudo | [] [] [] | - sudoers | [] [] [] | - sysstat | [] [] | - tar | [] [] [] | - texinfo | [] | - texinfo_document | [] | - tigervnc | [] | - tin | | - tin-man | | - tracgoogleappsa... | [] [] [] | - trader | [] | - util-linux | [] | - ve | [] | - vice | [] | - vmm | [] | - vorbis-tools | [] | - wastesedge | [] | - wcd | [] | - wcd-man | [] | - wdiff | [] | - wget | [] [] | - wyslij-po | [] | - xboard | [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +--------------------------------------------------+ - kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl - 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125 - - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - +------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] | - aegis | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] [] [] [] | - bash | [] [] [] [] [] [] | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] [] [] [] | - buzztrax | [] | - ccd2cue | [] [] | - ccide | [] [] [] | - cflow | [] [] [] | - clisp | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cppi | [] [] [] | - cpplib | [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] | - denemo | | - dfarc | [] [] [] | - dialog | [] [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] | - dink | | - direvent | [] [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] | - e2fsprogs | [] | - enscript | [] [] [] [] [] [] | - exif | [] [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - freedink | [] [] [] [] [] | - fusionforge | | - gas | | - gawk | [] | - gcal | | - gcc | | - gdbm | [] [] [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gjay | [] | - glunarclock | [] [] [] [] [] [] | - gnubiff | [] | - gnubik | [] [] [] [] | - gnucash | () () () () () [] | - gnuchess | [] [] | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] | - grep | [] [] [] [] [] [] | - grub | [] [] [] [] [] | - gsasl | [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | [] [] [] [] [] | - gtkam | [] [] [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] [] | - help2man-texi | [] | - hylafax | | - idutils | [] [] [] | - iso_15924 | [] () [] [] [] [] | - iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] | - iso_3166_2 | [] () [] | - iso_4217 | [] [] () [] [] [] [] [] | - iso_639 | [] [] [] () [] [] [] [] [] [] | - iso_639_3 | [] () | - iso_639_5 | () [] | - jwhois | [] [] [] [] | - kbd | [] [] | - klavaro | [] [] [] [] [] | - ld | | - leafpad | [] [] [] [] [] [] [] [] | - libc | [] [] [] | - libexif | [] () [] | - libextractor | [] | - libgnutls | [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] [] | - liferea | [] [] [] [] () [] [] | - lilypond | | - lordsawar | | - lprng | [] | - lynx | [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] | - make | [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] [] | - midi-instruments | [] [] [] [] [] [] [] [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | [] [] | - nano | [] [] [] [] [] [] | - opcodes | | - parted | [] [] [] [] [] [] | - pies | [] | - pnmixer | [] | - popt | [] [] [] [] [] [] | - procps-ng | [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] | - pushover | | - pwdutils | [] | - pyspread | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - recutils | [] [] | - rpm | [] | - rush | [] [] [] | - sarg | [] [] | - sed | [] [] [] [] [] [] [] [] | - sharutils | [] [] [] | - shishi | [] [] | - skribilo | [] | - solfege | [] [] [] | - solfege-manual | [] [] | - spotmachine | [] [] | - sudo | [] [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] | - trader | [] [] | - util-linux | [] [] | - ve | [] [] [] | - vice | | - vmm | | - vorbis-tools | [] [] [] | - wastesedge | | - wcd | | - wcd-man | | - wdiff | [] [] [] [] [] | - wget | [] [] [] [] [] | - wyslij-po | [] [] [] [] | - xboard | [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +------------------------------------------------+ - nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - 7 3 6 114 1 12 88 32 82 3 40 45 7 101 - - sv sw ta te tg th tr uk ur vi wa wo zh_CN - +----------------------------------------------+ - a2ps | [] [] [] [] [] | - aegis | [] | - anubis | [] [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] | - bison-runtime | [] [] [] [] [] [] | - buzztrax | [] [] [] | - ccd2cue | [] [] [] | - ccide | [] [] [] [] | - cflow | [] [] [] [] | - clisp | | - coreutils | [] [] [] | - cpio | [] [] [] [] [] | - cppi | [] [] [] [] | - cpplib | [] [] [] [] [] | - cryptsetup | [] [] [] | - datamash | [] [] [] | - denemo | [] | - dfarc | [] [] | - dialog | [] [] [] [] [] [] | - dico | [] | - diffutils | [] [] [] [] [] | - dink | [] | - direvent | [] [] | - doodle | [] [] | - dos2unix | [] [] [] [] | - dos2unix-man | [] [] [] | - e2fsprogs | [] [] [] [] | - enscript | [] [] [] [] | - exif | [] [] [] [] [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] [] [] | - freedink | [] [] [] | - fusionforge | | - gas | [] | - gawk | [] [] [] | - gcal | [] [] [] | - gcc | [] | - gdbm | [] [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] [] [] [] | - gjay | [] [] [] | - glunarclock | [] [] [] [] | - gnubiff | [] [] | - gnubik | [] [] [] [] | - gnucash | () () () () [] | - gnuchess | [] [] [] | - gnulib | [] [] [] [] | - gnunet | | - gnunet-gtk | | - gold | [] [] | - gphoto2 | [] [] [] [] | - gprof | [] [] [] [] | - gramadoir | [] [] [] | - grep | [] [] [] [] [] | - grub | [] [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] | - guix | | - guix-packages | | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] [] | - help2man | [] [] [] | - help2man-texi | [] | - hylafax | [] | - idutils | [] [] [] | - iso_15924 | [] () [] [] () [] | - iso_3166 | [] [] () [] [] () [] [] | - iso_3166_2 | () [] [] () [] | - iso_4217 | [] () [] [] () [] | - iso_639 | [] [] [] () [] [] () [] [] | - iso_639_3 | [] () [] [] () | - iso_639_5 | () [] () | - jwhois | [] [] [] [] | - kbd | [] [] [] [] | - klavaro | [] [] [] [] [] [] | - ld | [] [] [] [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () | - libextractor | [] [] | - libgnutls | [] [] [] [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | () [] [] [] | - liferea | [] [] [] [] [] | - lilypond | [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] | - m4 | [] [] [] | - mailfromd | [] [] | - mailutils | [] | - make | [] [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] | - midi-instruments | [] [] [] [] [] [] | - minicom | [] [] | - mkisofs | [] [] [] | - myserver | [] | - nano | [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] [] | - pies | [] [] | - pnmixer | [] [] [] | - popt | [] [] [] [] [] [] [] | - procps-ng | [] [] | - procps-ng-man | [] | - psmisc | [] [] [] [] | - pspp | [] [] [] | - pushover | [] | - pwdutils | [] [] | - pyspread | [] | - radius | [] [] | - recode | [] [] [] [] | - recutils | [] [] [] | - rpm | [] [] [] [] | - rush | [] [] | - sarg | | - sed | [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] [] | - skribilo | [] [] | - solfege | [] [] [] [] | - solfege-manual | [] | - spotmachine | [] [] [] | - sudo | [] [] [] [] [] | - sudoers | [] [] [] [] | - sysstat | [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - texinfo_document | [] | - tigervnc | [] [] [] | - tin | [] | - tin-man | | - tracgoogleappsa... | [] [] [] [] [] | - trader | [] | - util-linux | [] [] [] [] | - ve | [] [] [] [] | - vice | () () | - vmm | | - vorbis-tools | [] [] | - wastesedge | | - wcd | [] [] [] | - wcd-man | [] | - wdiff | [] [] [] [] | - wget | [] [] [] | - wyslij-po | [] [] | - xboard | [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +----------------------------------------------+ - sv sw ta te tg th tr uk ur vi wa wo zh_CN - 106 1 4 3 0 13 51 115 1 125 7 1 100 - - zh_HK zh_TW - +-------------+ - a2ps | | 30 - aegis | | 9 - anubis | | 19 - aspell | | 29 - bash | [] | 23 - bfd | | 11 - binutils | | 12 - bison | [] | 18 - bison-runtime | [] | 38 - buzztrax | | 9 - ccd2cue | | 10 - ccide | | 17 - cflow | | 16 - clisp | | 10 - coreutils | | 18 - cpio | | 20 - cppi | | 17 - cpplib | [] | 19 - cryptsetup | | 14 - datamash | | 11 - denemo | | 5 - dfarc | | 17 - dialog | [] | 42 - dico | | 6 - diffutils | | 22 - dink | | 10 - direvent | | 11 - doodle | | 12 - dos2unix | [] | 18 - dos2unix-man | | 9 - e2fsprogs | | 15 - enscript | | 21 - exif | | 27 - fetchmail | | 19 - findutils | | 29 - flex | [] | 19 - freedink | | 24 - fusionforge | | 3 - gas | | 5 - gawk | | 13 - gcal | | 8 - gcc | | 2 - gdbm | | 10 - gettext-examples | [] [] | 40 - gettext-runtime | [] [] | 35 - gettext-tools | [] | 24 - gjay | | 9 - glunarclock | [] | 27 - gnubiff | | 9 - gnubik | | 19 - gnucash | () | 6 - gnuchess | | 11 - gnulib | | 23 - gnunet | | 1 - gnunet-gtk | | 1 - gold | | 7 - gphoto2 | [] | 19 - gprof | | 21 - gramadoir | | 14 - grep | [] | 31 - grub | | 21 - gsasl | [] | 19 - gss | | 17 - gst-plugins-bad | | 21 - gst-plugins-base | | 27 - gst-plugins-good | | 32 - gst-plugins-ugly | | 34 - gstreamer | [] | 32 - gtick | | 19 - gtkam | | 24 - gtkspell | [] [] | 48 - guix | | 2 - guix-packages | | 0 - gutenprint | | 15 - hello | [] | 30 - help2man | | 18 - help2man-texi | | 5 - hylafax | | 5 - idutils | | 14 - iso_15924 | [] | 23 - iso_3166 | [] [] | 58 - iso_3166_2 | | 9 - iso_4217 | [] [] | 28 - iso_639 | [] [] | 46 - iso_639_3 | | 10 - iso_639_5 | | 2 - jwhois | [] | 20 - kbd | | 17 - klavaro | | 30 - ld | [] | 15 - leafpad | [] | 39 - libc | [] | 24 - libexif | | 10 - libextractor | | 5 - libgnutls | | 13 - libgphoto2 | | 10 - libgphoto2_port | [] | 19 - libgsasl | | 18 - libiconv | [] | 29 - libidn | | 17 - liferea | | 29 - lilypond | | 11 - lordsawar | | 3 - lprng | | 3 - lynx | | 19 - m4 | [] | 22 - mailfromd | | 4 - mailutils | | 6 - make | | 19 - man-db | | 15 - man-db-manpages | | 10 - midi-instruments | [] | 43 - minicom | [] | 17 - mkisofs | | 13 - myserver | | 9 - nano | [] | 30 - opcodes | | 12 - parted | [] | 23 - pies | | 4 - pnmixer | | 9 - popt | [] | 36 - procps-ng | | 5 - procps-ng-man | | 4 - psmisc | [] | 22 - pspp | | 13 - pushover | | 6 - pwdutils | | 8 - pyspread | | 6 - radius | | 9 - recode | | 31 - recutils | | 10 - rpm | [] | 13 - rush | | 10 - sarg | | 4 - sed | [] | 35 - sharutils | | 13 - shishi | | 7 - skribilo | | 7 - solfege | | 21 - solfege-manual | | 9 - spotmachine | | 11 - sudo | | 26 - sudoers | | 22 - sysstat | | 23 - tar | [] | 30 - texinfo | | 17 - texinfo_document | | 13 - tigervnc | | 14 - tin | [] | 7 - tin-man | | 1 - tracgoogleappsa... | [] | 22 - trader | | 12 - util-linux | | 13 - ve | | 14 - vice | | 1 - vmm | | 3 - vorbis-tools | | 13 - wastesedge | | 3 - wcd | | 8 - wcd-man | | 3 - wdiff | [] | 23 - wget | | 21 - wyslij-po | | 14 - xboard | | 10 - xdg-user-dirs | [] [] | 68 - xkeyboard-config | [] | 28 - +-------------+ - 89 teams zh_HK zh_TW - 166 domains 7 42 2809 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and distributed -as such by its maintainer. There might be an observable lag between the -mere existence a PO file and its wide availability in a distribution. - - If Jun 2014 seems to be old, you may fetch a more recent copy of this -'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix -with full percentage details can be found at -'http://translationproject.org/extra/matrix.html'. - -1.5 Using 'gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU 'gettext' in your -package. Of course you have to respect the GNU Lesser General Public -License which covers the use of the GNU 'gettext' library. This means -in particular that even non-free programs can use 'libintl' as a shared -library, whereas only free software can use 'libintl' as a static -library or use modified versions of 'libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of 'gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -'coordinator@translationproject.org' to make the '.pot' files available -to the translation teams. diff --git a/src/_nfdos/e2fsprogs/Android.bp b/src/_nfdos/e2fsprogs/Android.bp deleted file mode 100644 index 1e6aa1a..0000000 --- a/src/_nfdos/e2fsprogs/Android.bp +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2017 The Android Open Source Project - -package { - default_applicable_licenses: ["external_e2fsprogs_license"], -} - -// Added automatically by a large-scale-change that took the approach of -// 'apply every license found to every target'. While this makes sure we respect -// every license restriction, it may not be entirely correct. -// -// e.g. GPL in an MIT project might only apply to the contrib/ directory. -// -// Please consider splitting the single license below into multiple licenses, -// taking care not to lose any license_kind information, and overriding the -// default license using the 'licenses: [...]' property on targets as needed. -// -// For unused files, consider creating a 'fileGroup' with "//visibility:private" -// to attach the license to, and including a comment whether the files may be -// used in the current project. -// See: http://go/android-license-faq -license { - name: "external_e2fsprogs_license", - visibility: [":__subpackages__"], - license_kinds: [ - "SPDX-license-identifier-0BSD", - "SPDX-license-identifier-Apache-2.0", - "SPDX-license-identifier-BSD", - "SPDX-license-identifier-GPL", - "SPDX-license-identifier-GPL-2.0", - "SPDX-license-identifier-LGPL", - "SPDX-license-identifier-LGPL-2.0", - "SPDX-license-identifier-LGPL-2.1", - "SPDX-license-identifier-LGPL-3.0", - "SPDX-license-identifier-MIT", - "legacy_notice", - "legacy_unencumbered", - ], - license_text: [ - "NOTICE", - ], -} - -cc_defaults { - name: "e2fsprogs-defaults", - cflags: [ - "-Wall", - "-Werror", - // Some warnings that Android's build system enables by default are not - // supported by upstream e2fsprogs. When such a warning shows up, - // disable it below. Please don't disable warnings that upstream - // e2fsprogs is supposed to support; for those, fix the code instead. - "-Wno-pointer-arith", - "-Wno-sign-compare", - "-Wno-type-limits", - "-Wno-typedef-redefinition", - "-Wno-unused-parameter", - ], - target: { - bionic: { - system_shared_libs: [ - "libc", - "libdl", - ], - }, - windows: { - include_dirs: ["external/e2fsprogs/include/mingw"], - }, - }, -} - -subdirs = [ - "contrib", - "debugfs", - "e2fsck", - "lib", - "misc", - "resize", -] diff --git a/src/_nfdos/e2fsprogs/CleanSpec.mk b/src/_nfdos/e2fsprogs/CleanSpec.mk deleted file mode 100644 index 8331dae..0000000 --- a/src/_nfdos/e2fsprogs/CleanSpec.mk +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# If you don't need to do a full clean build but would like to touch -# a file or delete some intermediate files, add a clean step to the end -# of the list. These steps will only be run once, if they haven't been -# run before. -# -# E.g.: -# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) -# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) -# -# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with -# files that are missing or have been moved. -# -# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. -# Use $(OUT_DIR) to refer to the "out" directory. -# -# If you need to re-do something that's already mentioned, just copy -# the command and add it to the bottom of the list. E.g., if a change -# that you made last week required touching a file and a change you -# made today requires touching the same file, just copy the old -# touch step and add it to the end of the list. -# -# ************************************************ -# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST -# ************************************************ - -# For example: -#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) -#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) -#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) -#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) - -# ************************************************ -# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST -# ************************************************ - -$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libext2_uuid_intermediates) -$(call add-clean-step, rm -rf $(TARGET_RECOVERY_OUT)/root/sbin) diff --git a/src/_nfdos/e2fsprogs/INSTALL b/src/_nfdos/e2fsprogs/INSTALL deleted file mode 100644 index 2dd08f5..0000000 --- a/src/_nfdos/e2fsprogs/INSTALL +++ /dev/null @@ -1,69 +0,0 @@ - To install the second extended file system management programs, -just follow the steps: - -1) Change directory into the top of the e2fsprogs source tree - -2) Create a build directory and cd into it: - - mkdir build; cd build - -3) Run the configure script - - ../configure - - If you wish to turn on ELF shared libraries, add the option ---enable-elf-shlibs. If you wish to build profiling libraries, add -the option --enable-profile. - - Note that if you are building on an older system (i.e., a 2.4 -kernel and/or glibc 2.2), the use of thread local storage will probably -cause programs that use the uuid library to core dump. To disable -thread local storage, use the configure option --disable-tls. - -4) Compile the programs - - make - -5) Check to make sure the installation built correctly: - - make check - -6) Install the programs - - Run `make install' - -7) Install the include files and libraries - - You can run `make install-libs' to install the include files and -libraries. Please note that this installation is not needed for the -programs to work. It is only needed if you expect to develop other -programs using the libraries or if you want to compile other program -using these libraries (like the 4.4BSD dump and restore port). - -8) Remove any pre-formatted man pages. - - Some distributions will have pre-formatted manual pages which -will always be displayed in preference to newer man pages in /usr/man. -If this is the case, you may need to manually remove them in order to -see the correct manual pages. The shell script in -install-utils/remove_preformat_manpages may be helpful in doing so. - -9) Make sure your /etc/fstab file is correct. - - Some distributions install an /etc/fstab which is missing the -fifth and sixth field of filesystem entry, which are the dump -frequency, and the fsck pass number, respectively. The problem with -this is that the getmntent() library routine interprets those missing -fields as "0", and a pass number of 0 is documented as meaning that -fsck should not check that particular filesystem. If your entries in -your /etc/fstab file look like this: - -/dev/hda4 / ext2 defaults - -you should add "1 1" at the end of each line, so that they look like this: - -/dev/hda4 / ext2 defaults 1 1 - - There is a script in install-utils/convfstab (donated by -Michael Weller) that may help you correct your /etc/fstab file. - diff --git a/src/_nfdos/e2fsprogs/INSTALL.elfbin b/src/_nfdos/e2fsprogs/INSTALL.elfbin deleted file mode 100644 index 9c2c600..0000000 --- a/src/_nfdos/e2fsprogs/INSTALL.elfbin +++ /dev/null @@ -1,53 +0,0 @@ -NOTE: This is the ELF version of the binary distribution. If you have -a DLL system, please compile e2fsprogs from sources yourself. (In -fact, in general you're better off compiling e2fsprogs from sources -instead of using precompiled binaries.) - -Also please note that these binaries assume the use of the GNU Libc. -If you're still using libc5, you'll need build e2fsprogs from source. - - To install the binary distribution of the second extended file -system management programs, just follow the steps: - -1) Install this tar file using the following command: - - gunzip < e2fsprogs-1.13-elfbin.tar.gz | (cd /; tar Sxvpf - ) - -2) Run ldconfig to update the shared library pointers. - - As root, type /sbin/ldconfig. This will update the links to -the shared libraries included in the distribution. You can then remove -the old versions of the libraries from /lib. - -3) Remove any pre-formatted man pages. - - Some distributions will have pre-formatted manual pages which -will always be displayed in preference to newer man pages in /usr/man. -If this is the case, you may need to manually remove them in order to -see the correct manual pages. The shell script in -install-utils/remove_preformat_manpages may be helpful in doing so. - -4) Make sure your /etc/fstab file is correct. - - Some distributions install an /etc/fstab which is missing the -fifth and sixth field of filesystem entry, which are the dump -frequency, and the fsck pass number, respectively. The problem with -this is that the getmntent() library routine interprets those missing -fields as "0", and a pass number of 0 is documented as meaning that -fsck should not check that particular filesystem. If your entries in -your /etc/fstab file look like this: - -/dev/hda4 / ext2 defaults - -you should add "1 1" at the end of each line, so that they look like this: - -/dev/hda4 / ext2 defaults 1 1 - - There is a script in install-utils/convfstab (donated by -Michael Weller) that may help you correct your /etc/fstab file. - -5) Cleanup files from the installation. - - When you're done with the installation, you will probably want -to remove /INSTALL (this file), /README, and /install-utils from your -root directory diff --git a/src/_nfdos/e2fsprogs/MCONFIG.in b/src/_nfdos/e2fsprogs/MCONFIG.in deleted file mode 100644 index 82c75a2..0000000 --- a/src/_nfdos/e2fsprogs/MCONFIG.in +++ /dev/null @@ -1,336 +0,0 @@ -# Beginning of file MCONFIG - -all:: - -all-static:: - -check:: - -fullcheck:: - -SHELL = /bin/sh - -COMPRESS_EXT = gz bz2 bz Z - -prefix = @prefix@ -root_prefix = @root_prefix@ -exec_prefix = @exec_prefix@ -root_bindir = @root_bindir@ -root_sbindir = @root_sbindir@ -root_libdir = @root_libdir@ -datarootdir = @datarootdir@ -bindir = @bindir@ -sbindir = @sbindir@ -libdir = @libdir@ -datadir= @datadir@ -localedir = $(datadir)/locale -root_sysconfdir= @root_sysconfdir@ -includedir = @includedir@ -mandir = @mandir@ -man1dir = $(mandir)/man1 -man3dir = $(mandir)/man3 -man5dir = $(mandir)/man5 -man8dir = $(mandir)/man8 -infodir = @infodir@ -datadir = @datadir@ -pkgconfigdir = $(libdir)/pkgconfig -pkglibdir = $(libdir)/e2fsprogs - -HAVE_UDEV = @have_udev@ -UDEV_RULES_DIR = @pkg_udev_rules_dir@ -HAVE_CROND = @have_crond@ -CROND_DIR = @crond_dir@ -HAVE_SYSTEMD = @have_systemd@ -SYSTEMD_SYSTEM_UNIT_DIR = @systemd_system_unit_dir@ - -@SET_MAKE@ - -@ifGNUmake@ V = -@ifGNUmake@ ifeq ($(strip $(V)),) -@ifGNUmake@ # E = @echo -@ifGNUmake@ # ES = echo -@ifGNUmake@ # Q = @ -@ifGNUmake@ E = @E@ -@ifGNUmake@ ES = @ES@ -@ifGNUmake@ Q = @Q@ -@ifGNUmake@ else -@ifGNUmake@ E = @\# -@ifGNUmake@ ES = \# -@ifGNUmake@ Q = -@ifGNUmake@ endif - -@ifNotGNUmake@ E = @E@ -@ifNotGNUmake@ ES = @ES@ -@ifNotGNUmake@ Q = @Q@ - -@ifGNUmake@ CHECK=sparse -@ifGNUmake@ CHECK_OPTS=-Wsparse-all -Wno-transparent-union -Wno-return-void -Wno-undef -Wno-non-pointer-null -@ifGNUmake@ CPPCHECK=cppcheck -@ifGNUmake@ CPPCHECK_OPTS=--force --enable=all --quiet -@ifGNUmake@ ifeq ("$(C)", "2") -@ifGNUmake@ CHECK_CMD=$(CHECK) $(CHECK_OPTS) -Wbitwise -D__CHECK_ENDIAN__ -@ifGNUmake@ CPPCHECK_CMD=$(CPPCHECK) $(CPPCHECK_OPTS) -@ifGNUmake@ else -@ifGNUmake@ ifeq ("$(C)", "1") -@ifGNUmake@ CHECK_CMD=$(CHECK) $(CHECK_OPTS) -@ifGNUmake@ CPPCHECK_CMD=$(CPPCHECK) $(CPPCHECK_OPTS) -@ifGNUmake@ else -@ifGNUmake@ CHECK_CMD=@true -@ifGNUmake@ CPPCHECK_CMD=@true -@ifGNUmake@ endif -@ifGNUmake@ endif - -@ifNotGNUmake@ CHECK_CMD=true -@ifNotGNUmake@ CPPCHECK_CMD=true - -SANITIZER_CFLAGS = @lto_cflags@ @ubsan_cflags@ @addrsan_cflags@ @threadsan_cflags@ -SANITIZER_LDFLAGS = @lto_ldflags@ @ubsan_ldflags@ @addrsan_ldflags@ @threadsan_ldflags@ - -CC = @PTHREAD_CC@ -CXX = @CXX@ -BUILD_CC = @BUILD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -CFLAGS = @CFLAGS@ -CFLAGS_SHLIB = @CFLAGS_SHLIB@ -CFLAGS_STLIB = @CFLAGS_STLIB@ -CPPFLAGS = @INCLUDES@ -ALL_CFLAGS = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS) -ALL_CFLAGS_SHLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_SHLIB) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS) -ALL_CFLAGS_STLIB = $(CPPFLAGS) $(SANITIZER_CFLAGS) $(CFLAGS_STLIB) $(PTHREAD_CFLAGS) $(CFLAGS_WARN) @DEFS@ $(LOCAL_CFLAGS) -LDFLAGS = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS@ -LDFLAGS_SHLIB = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS_SHLIB@ -ALL_LDFLAGS = $(LDFLAGS) @LDFLAG_DYNAMIC@ $(LOCAL_LDFLAGS) -LDFLAGS_STATIC = $(SANITIZER_LDFLAGS) $(PTHREAD_CFLAGS) @LDFLAGS_STATIC@ -BUILD_CFLAGS = $(SANITIZER_CFLAGS) @BUILD_CFLAGS@ -BUILD_LDFLAGS = $(SANITIZER_LDFLAGS) @BUILD_LDFLAGS@ -RDYNAMIC = @RDYNAMIC@ -LINK_BUILD_FLAGS = @LINK_BUILD_FLAGS@ -LINK_INSTALL_FLAGS = @LINK_INSTALL_FLAGS@ -RM = @RM@ -LN = @LN@ -LN_S = @LN_S@ -MV = @MV@ -CP = @CP@ -CHMOD = @CHMOD@ -AR = @AR@ -AWK = @AWK@ -SED = @SED@ -PERL = @PERL@ -RANLIB = @RANLIB@ -STRIP = @STRIP@ -LD = $(PURE) @CC@ -ARUPD = $(AR) r -ARGEN = $(AR) rc -LDCONFIG = @LDCONFIG@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ - -# -# Library definitions -# -LIB = $(top_builddir)/lib -LIBSS = $(LIB)/libss@LIB_EXT@ @PRIVATE_LIBS_CMT@ @DLOPEN_LIB@ -LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@ -LIBE2P = $(LIB)/libe2p@LIB_EXT@ -LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@ -LIBUUID = @LIBUUID@ @SOCKET_LIB@ -LIBMAGIC = @MAGIC_LIB@ -LIBFUSE = @FUSE_LIB@ -LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@STATIC_LIB_EXT@ -LIBBLKID = @LIBBLKID@ @PRIVATE_LIBS_CMT@ $(LIBUUID) -LIBINTL = @LIBINTL@ -SYSLIBS = @LIBS@ @PTHREAD_LIBS@ -DEPLIBSS = $(LIB)/libss@LIB_EXT@ -DEPLIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ -DEPLIBUUID = @DEPLIBUUID@ -DEPLIBSUPPORT = $(LIB)/libsupport@STATIC_LIB_EXT@ -DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID) -TESTENV = LD_LIBRARY_PATH="$(LIB):$${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="$(LIB):$${DYLD_LIBRARY_PATH}" - -STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@ -STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@ -STATIC_LIBE2P = $(LIB)/libe2p@STATIC_LIB_EXT@ -STATIC_LIBEXT2FS = $(LIB)/libext2fs@STATIC_LIB_EXT@ -STATIC_LIBUUID = @STATIC_LIBUUID@ @SOCKET_LIB@ -STATIC_LIBSUPPORT = $(LIBINTL) $(LIBSUPPORT) -STATIC_LIBBLKID = @STATIC_LIBBLKID@ $(STATIC_LIBUUID) -DEPSTATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ -DEPSTATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ -DEPSTATIC_LIBUUID = @DEPSTATIC_LIBUUID@ -DEPSTATIC_LIBSUPPORT = $(DEPLIBSUPPORT) -DEPSTATIC_LIBBLKID = @DEPSTATIC_LIBBLKID@ $(DEPSTATIC_LIBUUID) - -PROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ @DLOPEN_LIB@ -PROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ @SEM_INIT_LIB@ -PROFILED_LIBE2P = $(LIB)/libe2p@PROFILED_LIB_EXT@ -PROFILED_LIBEXT2FS = $(LIB)/libext2fs@PROFILED_LIB_EXT@ -PROFILED_LIBUUID = @PROFILED_LIBUUID@ @SOCKET_LIB@ -PROFILED_LIBSUPPORT = $(LIBINTL) $(LIB)/libsupport@PROFILED_LIB_EXT@ -PROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(PROFILED_LIBUUID) -DEPPROFILED_LIBSS = $(LIB)/libss@PROFILED_LIB_EXT@ -DEPPROFILED_LIBCOM_ERR = $(LIB)/libcom_err@PROFILED_LIB_EXT@ -DEPPROFILED_LIBUUID = @PROFILED_LIBUUID@ -DEPPROFILED_LIBSUPPORT = $(PROFILED_LIBSUPPORT) -DEPPROFILED_LIBBLKID = @PROFILED_LIBBLKID@ $(DEPPROFILED_LIBUUID) - -# -# A fast substitution command for fixing up man pages, shell scripts, etc. -# -SUBST_CONF=$(top_builddir)/util/subst.conf -SUBSTITUTE= $(top_builddir)/util/subst -f $(SUBST_CONF) -SUBSTITUTE_UPTIME= $(top_builddir)/util/subst -t -f $(SUBST_CONF) -DEP_SUBSTITUTE= $(top_builddir)/util/subst $(SUBST_CONF) - -$(top_builddir)/util/subst: - cd $(top_builddir)/util ; $(MAKE) subst - -# -# Script for generating utf8data.h -# -MKUTF8DATA=$(top_builddir)/util/mkutf8data - -$(top_builddir)/util/mkutf8data: - $(MAKE) -C $(top_builddir)/util mkutf8data - -# -# Script for installing symlinks (for shared libraries) -# -$(top_builddir)/util/install-symlink: $(top_srcdir)/util/install-symlink.in \ - $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=util/install-symlink ./config.status - chmod +x $(top_builddir)/util/install-symlink - -$(top_builddir)/util/symlinks: - cd $(top_builddir)/util ; $(MAKE) symlinks - -INSTALL_SYMLINK = /bin/sh $(top_builddir)/util/install-symlink \ - @SYMLINK_RELATIVE@ \ - --symlinks=$(top_builddir)/util/symlinks -DEP_INSTALL_SYMLINK = $(top_builddir)/util/install-symlink \ - $(top_builddir)/util/symlinks - -# -# Warning flags -# -# Run make gcc-wall to do a build with warning messages. -# -# -WFLAGS= -std=gnu99 -D_XOPEN_SOURCE=600 -D_GNU_SOURCE $(WFLAGS_EXTRA) \ - -Wall -W -Wwrite-strings -Wpointer-arith \ - -Wcast-qual -Wcast-align -Wno-variadic-macros \ - -Wstrict-prototypes -Wmissing-prototypes \ - -Wformat-security -Wformat-nonliteral \ - -Wmissing-format-attribute -O2 -Wstrict-aliasing \ - -Wnested-externs -Winline -DNO_INLINE_FUNCS -Wshadow \ - -UENABLE_NLS - -gcc-wall-new: - ($(MAKE) CFLAGS_WARN="$(WFLAGS)" > /dev/null) 2>&1 - -gcc-wall: - $(MAKE) clean > /dev/null - $(MAKE) gcc-wall-new - -static-check: - ($(MAKE) C=1 V=1 CFLAGS="$(ALL_CFLAGS) $(WFLAGS)") 2>&1 - -static-check-all: - $(MAKE) clean > /dev/null - $(MAKE) static-check - -# -# Installation user and groups -# -BINGRP= bin -BINOWN= bin -BINMODE= 555 -INCGRP= bin -INCOWN= bin -INCMODE= 444 -LIBOWN= bin -LIBGRP= bin -LIBMODE= 444 -MANGRP= bin -MANOWN= bin -MANMODE= 444 - -# -# Autoconf magic... -# - -DEP_LIB_MAKEFILES = $(top_srcdir)/lib/Makefile.library \ - $(top_srcdir)/lib/Makefile.elf-lib \ - $(top_srcdir)/lib/Makefile.bsd-lib \ - $(top_srcdir)/lib/Makefile.darwin-lib \ - $(top_srcdir)/lib/Makefile.solaris-lib \ - $(top_srcdir)/lib/Makefile.profile - -$(top_builddir)/config.status: $(top_srcdir)/configure - cd $(top_builddir); ./config.status --recheck - -$(top_builddir)/MCONFIG: $(top_srcdir)/MCONFIG.in $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=MCONFIG ./config.status - -$(top_builddir)/lib/config.h: $(top_srcdir)/lib/config.h.in \ - $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=lib/config.h ./config.status - -$(top_builddir)/lib/dirpaths.h: $(DEP_SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in - $(E) " SUBST $@" - $(Q) $(SUBSTITUTE) $(top_srcdir)/lib/dirpaths.h.in $@ - -$(top_builddir)/lib/substitute_sh: $(top_srcdir)/lib/substitute_sh.in \ - $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=lib/substitute_sh ./config.status - -$(top_builddir)/util/subst.conf: $(top_srcdir)/util/subst.conf.in \ - $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=util/subst.conf ./config.status - -Makefile: $(srcdir)/Makefile.in $(top_builddir)/MCONFIG \ - $(DEP_MAKEFILE) $(top_builddir)/config.status - cd $(top_builddir); CONFIG_FILES=$(my_dir)/Makefile ./config.status - -@MAINTAINER_CMT@$(top_srcdir)/configure: $(top_srcdir)/configure.ac -@MAINTAINER_CMT@ cd $(top_srcdir) && autoheader && autoconf - -coverage.txt: Makefile $(SRCS) - if test -n "$(SRCS)"; then \ - gcov -s $(top_srcdir) -o . $(SRCS) > coverage.txt 2>&1 ; \ - fi - -clean:: - $(RM) -f *.gcda *.gcov *.gcno coverage.txt - -# -# Make depend magic... -# - -.depend: Makefile $(SRCS) $(top_srcdir)/depfix.sed $(top_srcdir)/wordwrap.pl - if test -n "$(SRCS)" ; then \ - $(CC) -M $(ALL_CFLAGS) $(DEPEND_CFLAGS) $(SRCS) | \ - $(SED) -f $(top_srcdir)/depfix.sed \ - -e 's; $(srcdir)/; $$(srcdir)/;g' \ - -e 's; $(top_srcdir)/; $$(top_srcdir)/;g' \ - -e 's; $(top_builddir)/; $$(top_builddir)/;g' \ - -e 's; \./; ;g' \ - -e '/^#/d' \ - -e '/^ *\\$$/d' | \ - $(PERL) $(top_srcdir)/wordwrap.pl > .depend; \ - else :; fi - -depend:: .depend - if test -n "$(SRCS)" ; then \ - sed -e '/^# +++ Dependency line eater +++/,$$d' \ - < $(srcdir)/Makefile.in | cat - .depend \ - > $(srcdir)/Makefile.in.new; \ - if cmp -s $(srcdir)/Makefile.in $(srcdir)/Makefile.in.new ; then \ - $(RM) $(srcdir)/Makefile.in.new ; \ - else \ - $(MV) $(srcdir)/Makefile.in $(srcdir)/Makefile.in.old; \ - $(MV) $(srcdir)/Makefile.in.new $(srcdir)/Makefile.in; \ - fi ; else :; fi - -# End of file MCONFIG diff --git a/src/_nfdos/e2fsprogs/NOTICE b/src/_nfdos/e2fsprogs/NOTICE deleted file mode 100644 index da98a3e..0000000 --- a/src/_nfdos/e2fsprogs/NOTICE +++ /dev/null @@ -1,849 +0,0 @@ -This package, the EXT2 filesystem utilities, are made available under -the GNU Public License version 2, with the exception of the lib/ext2fs -and lib/e2p libraries, which are made available under the GNU Library -General Public License Version 2, the lib/uuid library which is made -available under a BSD-style license and the lib/et and lib/ss -libraries which are made available under an MIT-style license. Please -see lib/uuid/COPYING for more details for the license for the files -comprising the libuuid library, and the source file headers of the -libet and libss libraries for more information. - -The most recent officially distributed version can be found at -http://e2fsprogs.sourceforge.net. If you need to make a distribution, -that's the one you should use. If there is some reason why you'd like -a more recent version that is still in ALPHA testing (i.e., either -using the "WIP" test distributions or one from the hg or git -repository from the development branch, please contact me -(tytso@mit.edu) before you ship. The release schedules for this -package are flexible, if you give me enough lead time. - - - Theodore Ts'o - 23-June-2007 - ----------------------------------------------------------------------- - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - ----------------------------------------------------------------------- - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/src/_nfdos/e2fsprogs/README b/src/_nfdos/e2fsprogs/README deleted file mode 100644 index 0970deb..0000000 --- a/src/_nfdos/e2fsprogs/README +++ /dev/null @@ -1,19 +0,0 @@ - This is the new version (1.47.0) of the second extended file -system management programs. - - From time to time, I release new versions of e2fsprogs, to fix -bugs and to make the utilities more robust. You can always find -information about the latest version at the the e2fsprogs web page, -which is: - - http://e2fsprogs.sourceforge.net - - The INSTALL file has instructions on building and installing -e2fsprogs. Provisions for building Red Hat RPMs and Debian dpkg files -are supplied as well. - - In case of bugs in these programs, please contact Ted Ts'o at -tytso@mit.edu or tytso@alum.mit.edu. See the e2fsck man page for -suggestions of what sort of information to include when submitting bug -reports for these programs. - diff --git a/src/_nfdos/e2fsprogs/RELEASE-NOTES b/src/_nfdos/e2fsprogs/RELEASE-NOTES deleted file mode 120000 index 5fc5f47..0000000 --- a/src/_nfdos/e2fsprogs/RELEASE-NOTES +++ /dev/null @@ -1 +0,0 @@ -doc/RelNotes/v1.47.0.txt \ No newline at end of file diff --git a/src/_nfdos/e2fsprogs/SHLIBS b/src/_nfdos/e2fsprogs/SHLIBS deleted file mode 100644 index 2fcbbc3..0000000 --- a/src/_nfdos/e2fsprogs/SHLIBS +++ /dev/null @@ -1,35 +0,0 @@ -Library:libcom_err.o -Description: Common error code library -Maintainer: Theodore Ts'o -Email: tytso@mit.edu -Start: 0x66800000 -End: 0x6687ffff - -Library:libss.o -Description: Generic Subsystem library (Simple tty UI) -Maintainer: Theodore Ts'o -Email: tytso@mit.edu -Start: 0x66880000 -End: 0x668fffff - -Library:libext2fs.so -Description: The ext2fs (raw interface) library -Maintainer: Theodore Ts'o -Email: tytso@mit.edu -Start: 0x66900000 -End: 0x6697ffff - -Library:libe2p.so -Description: The e2p (ext2fs's programmers) library -Maintainer: Theodore Ts'o -Email: tytso@mit.edu -Start: 0x66980000 -End: 0x669fffff - -Library:libuuid.so -Description: DCE Universally Unique ID (UUID) library -Maintainer: Theodore Ts'o -Email: tytso@mit.edu -Start: 0x67900000 -End: 0x679fffff - diff --git a/src/_nfdos/e2fsprogs/SUBMITTING-PATCHES b/src/_nfdos/e2fsprogs/SUBMITTING-PATCHES deleted file mode 100644 index 189deb3..0000000 --- a/src/_nfdos/e2fsprogs/SUBMITTING-PATCHES +++ /dev/null @@ -1,39 +0,0 @@ - -Like the Linux kernel, submitted e2fsprogs patches now require the -following "sign-off" procedure: - -The sign-off is a simple line at the end of the explanation for the -patch, which certifies that you wrote it or otherwise have the right to -pass it on as a open-source patch. The rules are pretty simple: if you -can certify the below: - - Developer's Certificate of Origin 1.1 - - By making a contribution to this project, I certify that: - - (a) The contribution was created in whole or in part by me and I - have the right to submit it under the open source license - indicated in the file; or - - (b) The contribution is based upon previous work that, to the best - of my knowledge, is covered under an appropriate open source - license and I have the right under that license to submit that - work with modifications, whether created in whole or in part - by me, under the same open source license (unless I am - permitted to submit under a different license), as indicated - in the file; or - - (c) The contribution was provided directly to me by some other - person who certified (a), (b) or (c) and I have not modified - it. - - (d) I understand and agree that this project and the contribution - are public and that a record of the contribution (including all - personal information I submit with it, including my sign-off) is - maintained indefinitely and may be redistributed consistent with - this project or the open source license(s) involved. - -then you just add a line saying - - Signed-off-by: Random J Developer - diff --git a/src/_nfdos/e2fsprogs/acinclude.m4 b/src/_nfdos/e2fsprogs/acinclude.m4 deleted file mode 100644 index 13b1e02..0000000 --- a/src/_nfdos/e2fsprogs/acinclude.m4 +++ /dev/null @@ -1,178 +0,0 @@ -# from http://autoconf-archive.cryp.to/ax_tls.html -# -# This was licensed under the GPL with the following exception: -# -# As a special exception, the respective Autoconf Macro's copyright -# owner gives unlimited permission to copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts, even though -# portions of the text of the Macro appear in them. The GNU General -# Public License (GPL) does govern all other use of the material that -# constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the -# Autoconf Macro released by the Autoconf Macro Archive. When you make -# and distribute a modified version of the Autoconf Macro, you may -# extend this special exception to the GPL to apply to your modified -# version as well. -# -AC_DEFUN([AX_TLS], [ - AC_MSG_CHECKING(for thread local storage (TLS) class) - AC_CACHE_VAL(ac_cv_tls, [ - ax_tls_keywords="__thread __declspec(thread) none" - for ax_tls_keyword in $ax_tls_keywords; do - case $ax_tls_keyword in - none) ac_cv_tls=none ; break ;; - *) - AC_TRY_COMPILE( - [#include - static void - foo(void) { - static ] $ax_tls_keyword [ int bar; - exit(1); - }], - [], - [ac_cv_tls=$ax_tls_keyword ; break], - ac_cv_tls=none - ) - esac - done -]) - - if test "$ac_cv_tls" != "none"; then - dnl AC_DEFINE([TLS], [], [If the compiler supports a TLS storage class define it to that here]) - AC_DEFINE_UNQUOTED([TLS], $ac_cv_tls, [If the compiler supports a TLS storage class define it to that here]) - fi - AC_MSG_RESULT($ac_cv_tls) -]) - -# =========================================================================== -# http://www.nongnu.org/autoconf-archive/check_gnu_make.html -# =========================================================================== -# -# SYNOPSIS -# -# CHECK_GNU_MAKE() -# -# DESCRIPTION -# -# This macro searches for a GNU version of make. If a match is found, the -# makefile variable `ifGNUmake' is set to the empty string, otherwise it -# is set to "#". This is useful for including a special features in a -# Makefile, which cannot be handled by other versions of make. The -# variable _cv_gnu_make_command is set to the command to invoke GNU make -# if it exists, the empty string otherwise. -# -# Here is an example of its use: -# -# Makefile.in might contain: -# -# # A failsafe way of putting a dependency rule into a makefile -# $(DEPEND): -# $(CC) -MM $(srcdir)/*.c > $(DEPEND) -# -# @ifGNUmake@ ifeq ($(DEPEND),$(wildcard $(DEPEND))) -# @ifGNUmake@ include $(DEPEND) -# @ifGNUmake@ endif -# -# Then configure.in would normally contain: -# -# CHECK_GNU_MAKE() -# AC_OUTPUT(Makefile) -# -# Then perhaps to cause gnu make to override any other make, we could do -# something like this (note that GNU make always looks for GNUmakefile -# first): -# -# if ! test x$_cv_gnu_make_command = x ; then -# mv Makefile GNUmakefile -# echo .DEFAULT: > Makefile ; -# echo \ $_cv_gnu_make_command \$@ >> Makefile; -# fi -# -# Then, if any (well almost any) other make is called, and GNU make also -# exists, then the other make wraps the GNU make. -# -# LICENSE -# -# Copyright (c) 2008 John Darrington -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. -# -# Note: Modified by Ted Ts'o to add @ifNotGNUMake@ - -AC_DEFUN( - [CHECK_GNU_MAKE], [ AC_CACHE_CHECK( for GNU make,_cv_gnu_make_command, - _cv_gnu_make_command='' ; -dnl Search all the common names for GNU make - if test -n "$FORCE_NATIVE_MAKE" ; then - MAKES="make" - else - MAKES="make gmake gnumake" - fi - for a in "$MAKE" $MAKES ; do - if test -z "$a" ; then continue ; fi ; - if ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) ; then - _cv_gnu_make_command=$a ; - break; - fi - done ; - ) ; -dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, '#' otherwise - if test "x$_cv_gnu_make_command" != "x" ; then - ifGNUmake='' ; - ifNotGNUmake='#' ; - else - ifGNUmake='#' ; - ifNotGNUmake='' ; - AC_MSG_RESULT("Not found"); - fi - AC_SUBST(ifGNUmake) - AC_SUBST(ifNotGNUmake) -] ) - -# AX_CHECK_MOUNT_OPT: an autoconf macro to check for generic filesystem- -# agnostic 'mount' options. Written by Nicholas Clark. Looks for constants in -# sys/mount.h to predict whether the 'mount' utility will support a specific -# mounting option. -# -# This macro can be used to check for the presence of 'nodev' (or other mount -# options), which isn't uniformly implemented in the BSD family at the time of -# this writing. Tested on FreeBSD, NetBSD, OpenBSD, and Linux. -# -# Usage: -# -# AX_CHECK_MOUNT_OPT(option) -# -# Defines HAVE_MOUNT_$OPTION (in uppercase) if the option exists, and sets -# ac_cv_mount_$option (in original case) otherwise. -# -# Copyright (c) 2018 Nicholas Clark -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty or attribution requirement. - -AC_DEFUN([AX_CHECK_MOUNT_OPT], [__AX_CHECK_MOUNT_OPT(m4_tolower([$1]),m4_toupper([$1]))]) -AC_DEFUN([__AX_CHECK_MOUNT_OPT], -[ - AS_ECHO_N("checking for mount '$1' option... ") - AC_TRY_COMPILE( - [#include ], - [void *temp = (void *)(MS_$2); (void) temp;], - [AC_DEFINE(HAVE_MOUNT_$2, 1, [Define to 1 if mount supports $1.]) - AS_VAR_SET(ac_cv_mount_$1, yes) - AS_ECHO("yes")], - [AC_TRY_COMPILE( - [#include ], - [void *temp = (void *)(MNT_$2); (void) temp;], - [AC_DEFINE(HAVE_MOUNT_$2, 1, [Define to 1 if mount supports $1.]) - AS_VAR_SET(ac_cv_mount_$1, yes) - AS_ECHO("yes")], - [AS_VAR_SET(ac_cv_mount_$1, no) - AS_ECHO("no")] - )] - ) -]) diff --git a/src/_nfdos/e2fsprogs/config/config.guess b/src/_nfdos/e2fsprogs/config/config.guess deleted file mode 100755 index 69188da..0000000 --- a/src/_nfdos/e2fsprogs/config/config.guess +++ /dev/null @@ -1,1774 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2023 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2023-01-01' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess -# -# Please send patches to . - - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2023 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -# Just in case it came from the environment. -GUESS= - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039,SC3028 - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD=$driver - break - fi - done - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; - esac -} - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if test -f /.attbin/uname ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case $UNAME_SYSTEM in -Linux|GNU|GNU/*) - LIBC=unknown - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #elif defined(__GLIBC__) - LIBC=gnu - #else - #include - /* First heuristic to detect musl libc. */ - #ifdef __DEFINED_va_list - LIBC=musl - #endif - #endif - EOF - cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - eval "$cc_set_libc" - - # Second heuristic to detect musl libc. - if [ "$LIBC" = unknown ] && - command -v ldd >/dev/null && - ldd --version 2>&1 | grep -q ^musl; then - LIBC=musl - fi - - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - if [ "$LIBC" = unknown ]; then - LIBC=gnu - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - echo unknown)` - case $UNAME_MACHINE_ARCH in - aarch64eb) machine=aarch64_be-unknown ;; - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=$UNAME_MACHINE_ARCH-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case $UNAME_MACHINE_ARCH in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case $UNAME_MACHINE_ARCH in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case $UNAME_VERSION in - Debian*) - release='-gnu' - ;; - *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - GUESS=$machine-${os}${release}${abi-} - ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE - ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE - ;; - *:SecBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE - ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE - ;; - *:MidnightBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE - ;; - *:ekkoBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE - ;; - *:SolidBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE - ;; - *:OS108:*:*) - GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE - ;; - macppc:MirBSD:*:*) - GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE - ;; - *:MirBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE - ;; - *:Sortix:*:*) - GUESS=$UNAME_MACHINE-unknown-sortix - ;; - *:Twizzler:*:*) - GUESS=$UNAME_MACHINE-unknown-twizzler - ;; - *:Redox:*:*) - GUESS=$UNAME_MACHINE-unknown-redox - ;; - mips:OSF1:*.*) - GUESS=mips-dec-osf1 - ;; - alpha:OSF1:*:*) - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - trap '' 0 - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case $ALPHA_CPU_TYPE in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - GUESS=$UNAME_MACHINE-dec-osf$OSF_REL - ;; - Amiga*:UNIX_System_V:4.0:*) - GUESS=m68k-unknown-sysv4 - ;; - *:[Aa]miga[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-amigaos - ;; - *:[Mm]orph[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-morphos - ;; - *:OS/390:*:*) - GUESS=i370-ibm-openedition - ;; - *:z/VM:*:*) - GUESS=s390-ibm-zvmoe - ;; - *:OS400:*:*) - GUESS=powerpc-ibm-os400 - ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - GUESS=arm-acorn-riscix$UNAME_RELEASE - ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - GUESS=arm-unknown-riscos - ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - GUESS=hppa1.1-hitachi-hiuxmpp - ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - case `(/bin/universe) 2>/dev/null` in - att) GUESS=pyramid-pyramid-sysv3 ;; - *) GUESS=pyramid-pyramid-bsd ;; - esac - ;; - NILE*:*:*:dcosx) - GUESS=pyramid-pyramid-svr4 - ;; - DRS?6000:unix:4.0:6*) - GUESS=sparc-icl-nx6 - ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) GUESS=sparc-icl-nx7 ;; - esac - ;; - s390x:SunOS:*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL - ;; - sun4H:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-hal-solaris2$SUN_REL - ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris2$SUN_REL - ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - GUESS=i386-pc-auroraux$UNAME_RELEASE - ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$SUN_ARCH-pc-solaris2$SUN_REL - ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris3$SUN_REL - ;; - sun4*:SunOS:*:*) - case `/usr/bin/arch -k` in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` - GUESS=sparc-sun-sunos$SUN_REL - ;; - sun3*:SunOS:*:*) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case `/bin/arch` in - sun3) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun4) - GUESS=sparc-sun-sunos$UNAME_RELEASE - ;; - esac - ;; - aushp:SunOS:*:*) - GUESS=sparc-auspex-sunos$UNAME_RELEASE - ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - GUESS=m68k-milan-mint$UNAME_RELEASE - ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - GUESS=m68k-hades-mint$UNAME_RELEASE - ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - GUESS=m68k-unknown-mint$UNAME_RELEASE - ;; - m68k:machten:*:*) - GUESS=m68k-apple-machten$UNAME_RELEASE - ;; - powerpc:machten:*:*) - GUESS=powerpc-apple-machten$UNAME_RELEASE - ;; - RISC*:Mach:*:*) - GUESS=mips-dec-mach_bsd4.3 - ;; - RISC*:ULTRIX:*:*) - GUESS=mips-dec-ultrix$UNAME_RELEASE - ;; - VAX*:ULTRIX*:*:*) - GUESS=vax-dec-ultrix$UNAME_RELEASE - ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - GUESS=clipper-intergraph-clix$UNAME_RELEASE - ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - GUESS=mips-mips-riscos$UNAME_RELEASE - ;; - Motorola:PowerMAX_OS:*:*) - GUESS=powerpc-motorola-powermax - ;; - Motorola:*:4.3:PL8-*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:Power_UNIX:*:*) - GUESS=powerpc-harris-powerunix - ;; - m88k:CX/UX:7*:*) - GUESS=m88k-harris-cxux7 - ;; - m88k:*:4*:R4*) - GUESS=m88k-motorola-sysv4 - ;; - m88k:*:3*:R3*) - GUESS=m88k-motorola-sysv3 - ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 - then - if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - test "$TARGET_BINARY_INTERFACE"x = x - then - GUESS=m88k-dg-dgux$UNAME_RELEASE - else - GUESS=m88k-dg-dguxbcs$UNAME_RELEASE - fi - else - GUESS=i586-dg-dgux$UNAME_RELEASE - fi - ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - GUESS=m88k-dolphin-sysv3 - ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - GUESS=m88k-motorola-sysv3 - ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - GUESS=m88k-tektronix-sysv3 - ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - GUESS=m68k-tektronix-bsd - ;; - *:IRIX*:*:*) - IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` - GUESS=mips-sgi-irix$IRIX_REL - ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id - ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - GUESS=i386-ibm-aix - ;; - ia64:AIX:*:*) - if test -x /usr/bin/oslevel ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV - ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - GUESS=$SYSTEM_NAME - else - GUESS=rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - GUESS=rs6000-ibm-aix3.2.4 - else - GUESS=rs6000-ibm-aix3.2 - fi - ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if test -x /usr/bin/lslpp ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$IBM_ARCH-ibm-aix$IBM_REV - ;; - *:AIX:*:*) - GUESS=rs6000-ibm-aix - ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - GUESS=romp-ibm-bsd4.4 - ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to - ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - GUESS=rs6000-bull-bosx - ;; - DPX/2?00:B.O.S.:*:*) - GUESS=m68k-bull-sysv3 - ;; - 9000/[34]??:4.3bsd:1.*:*) - GUESS=m68k-hp-bsd - ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - GUESS=m68k-hp-bsd4.4 - ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - case $UNAME_MACHINE in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if test -x /usr/bin/getconf; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case $sc_cpu_version in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case $sc_kernel_bits in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if test "$HP_ARCH" = ""; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if test "$HP_ARCH" = hppa2.0w - then - set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - GUESS=$HP_ARCH-hp-hpux$HPUX_REV - ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - GUESS=ia64-hp-hpux$HPUX_REV - ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - GUESS=unknown-hitachi-hiuxwe2 - ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - GUESS=hppa1.1-hp-bsd - ;; - 9000/8??:4.3bsd:*:*) - GUESS=hppa1.0-hp-bsd - ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - GUESS=hppa1.0-hp-mpeix - ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - GUESS=hppa1.1-hp-osf - ;; - hp8??:OSF1:*:*) - GUESS=hppa1.0-hp-osf - ;; - i*86:OSF1:*:*) - if test -x /usr/sbin/sysversion ; then - GUESS=$UNAME_MACHINE-unknown-osf1mk - else - GUESS=$UNAME_MACHINE-unknown-osf1 - fi - ;; - parisc*:Lites*:*:*) - GUESS=hppa1.1-hp-lites - ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - GUESS=c1-convex-bsd - ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - GUESS=c34-convex-bsd - ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - GUESS=c38-convex-bsd - ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - GUESS=c4-convex-bsd - ;; - CRAY*Y-MP:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=ymp-cray-unicos$CRAY_REL - ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=t90-cray-unicos$CRAY_REL - ;; - CRAY*T3E:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=alphaev5-cray-unicosmk$CRAY_REL - ;; - CRAY*SV1:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=sv1-cray-unicos$CRAY_REL - ;; - *:UNICOS/mp:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=craynv-cray-unicosmp$CRAY_REL - ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE - ;; - sparc*:BSD/OS:*:*) - GUESS=sparc-unknown-bsdi$UNAME_RELEASE - ;; - *:BSD/OS:*:*) - GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE - ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi - else - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf - fi - ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case $UNAME_PROCESSOR in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL - ;; - i*:CYGWIN*:*) - GUESS=$UNAME_MACHINE-pc-cygwin - ;; - *:MINGW64*:*) - GUESS=$UNAME_MACHINE-pc-mingw64 - ;; - *:MINGW*:*) - GUESS=$UNAME_MACHINE-pc-mingw32 - ;; - *:MSYS*:*) - GUESS=$UNAME_MACHINE-pc-msys - ;; - i*:PW*:*) - GUESS=$UNAME_MACHINE-pc-pw32 - ;; - *:SerenityOS:*:*) - GUESS=$UNAME_MACHINE-pc-serenity - ;; - *:Interix*:*) - case $UNAME_MACHINE in - x86) - GUESS=i586-pc-interix$UNAME_RELEASE - ;; - authenticamd | genuineintel | EM64T) - GUESS=x86_64-unknown-interix$UNAME_RELEASE - ;; - IA64) - GUESS=ia64-unknown-interix$UNAME_RELEASE - ;; - esac ;; - i*:UWIN*:*) - GUESS=$UNAME_MACHINE-pc-uwin - ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - GUESS=x86_64-pc-cygwin - ;; - prep*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=powerpcle-unknown-solaris2$SUN_REL - ;; - *:GNU:*:*) - # the GNU system - GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` - GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL - ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC - ;; - x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) - GUESS="$UNAME_MACHINE-pc-managarm-mlibc" - ;; - *:[Mm]anagarm:*:*) - GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" - ;; - *:Minix:*:*) - GUESS=$UNAME_MACHINE-unknown-minix - ;; - aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi - else - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf - fi - fi - ;; - avr32*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - cris:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - crisv32:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - e2k:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - frv:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - hexagon:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:Linux:*:*) - GUESS=$UNAME_MACHINE-pc-linux-$LIBC - ;; - ia64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - k1om:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m32r*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m68*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= - #else - MIPS_ENDIAN= - #endif - #endif -EOF - cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` - eval "$cc_set_vars" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } - ;; - mips64el:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - openrisc*:Linux:*:*) - GUESS=or1k-unknown-linux-$LIBC - ;; - or32:Linux:*:* | or1k*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - padre:Linux:*:*) - GUESS=sparc-unknown-linux-$LIBC - ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - GUESS=hppa64-unknown-linux-$LIBC - ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; - PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; - *) GUESS=hppa-unknown-linux-$LIBC ;; - esac - ;; - ppc64:Linux:*:*) - GUESS=powerpc64-unknown-linux-$LIBC - ;; - ppc:Linux:*:*) - GUESS=powerpc-unknown-linux-$LIBC - ;; - ppc64le:Linux:*:*) - GUESS=powerpc64le-unknown-linux-$LIBC - ;; - ppcle:Linux:*:*) - GUESS=powerpcle-unknown-linux-$LIBC - ;; - riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - s390:Linux:*:* | s390x:Linux:*:*) - GUESS=$UNAME_MACHINE-ibm-linux-$LIBC - ;; - sh64*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sh*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - tile*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - vax:Linux:*:*) - GUESS=$UNAME_MACHINE-dec-linux-$LIBC - ;; - x86_64:Linux:*:*) - set_cc_for_build - CPU=$UNAME_MACHINE - LIBCABI=$LIBC - if test "$CC_FOR_BUILD" != no_compiler_found; then - ABI=64 - sed 's/^ //' << EOF > "$dummy.c" - #ifdef __i386__ - ABI=x86 - #else - #ifdef __ILP32__ - ABI=x32 - #endif - #endif -EOF - cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` - eval "$cc_set_abi" - case $ABI in - x86) CPU=i686 ;; - x32) LIBCABI=${LIBC}x32 ;; - esac - fi - GUESS=$CPU-pc-linux-$LIBCABI - ;; - xtensa*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - GUESS=i386-sequent-sysv4 - ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION - ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - GUESS=$UNAME_MACHINE-pc-os2-emx - ;; - i*86:XTS-300:*:STOP) - GUESS=$UNAME_MACHINE-unknown-stop - ;; - i*86:atheos:*:*) - GUESS=$UNAME_MACHINE-unknown-atheos - ;; - i*86:syllable:*:*) - GUESS=$UNAME_MACHINE-pc-syllable - ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - GUESS=i386-unknown-lynxos$UNAME_RELEASE - ;; - i*86:*DOS:*:*) - GUESS=$UNAME_MACHINE-pc-msdosdjgpp - ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL - fi - ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv32 - fi - ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - GUESS=i586-pc-msdosdjgpp - ;; - Intel:Mach:3*:*) - GUESS=i386-pc-mach3 - ;; - paragon:*:*:*) - GUESS=i860-intel-osf1 - ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 - fi - ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - GUESS=m68010-convergent-sysv - ;; - mc68k:UNIX:SYSTEM5:3.51m) - GUESS=m68k-convergent-sysv - ;; - M680?0:D-NIX:5.3:*) - GUESS=m68k-diab-dnix - ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - GUESS=m68k-unknown-lynxos$UNAME_RELEASE - ;; - mc68030:UNIX_System_V:4.*:*) - GUESS=m68k-atari-sysv4 - ;; - TSUNAMI:LynxOS:2.*:*) - GUESS=sparc-unknown-lynxos$UNAME_RELEASE - ;; - rs6000:LynxOS:2.*:*) - GUESS=rs6000-unknown-lynxos$UNAME_RELEASE - ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - GUESS=powerpc-unknown-lynxos$UNAME_RELEASE - ;; - SM[BE]S:UNIX_SV:*:*) - GUESS=mips-dde-sysv$UNAME_RELEASE - ;; - RM*:ReliantUNIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - RM*:SINIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - GUESS=$UNAME_MACHINE-sni-sysv4 - else - GUESS=ns32k-sni-sysv - fi - ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - GUESS=i586-unisys-sysv4 - ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - GUESS=hppa1.1-stratus-sysv4 - ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - GUESS=i860-stratus-sysv4 - ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=$UNAME_MACHINE-stratus-vos - ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=hppa1.1-stratus-vos - ;; - mc68*:A/UX:*:*) - GUESS=m68k-apple-aux$UNAME_RELEASE - ;; - news*:NEWS-OS:6*:*) - GUESS=mips-sony-newsos6 - ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if test -d /usr/nec; then - GUESS=mips-nec-sysv$UNAME_RELEASE - else - GUESS=mips-unknown-sysv$UNAME_RELEASE - fi - ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - GUESS=powerpc-be-beos - ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - GUESS=powerpc-apple-beos - ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - GUESS=i586-pc-beos - ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - GUESS=i586-pc-haiku - ;; - ppc:Haiku:*:*) # Haiku running on Apple PowerPC - GUESS=powerpc-apple-haiku - ;; - *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) - GUESS=$UNAME_MACHINE-unknown-haiku - ;; - SX-4:SUPER-UX:*:*) - GUESS=sx4-nec-superux$UNAME_RELEASE - ;; - SX-5:SUPER-UX:*:*) - GUESS=sx5-nec-superux$UNAME_RELEASE - ;; - SX-6:SUPER-UX:*:*) - GUESS=sx6-nec-superux$UNAME_RELEASE - ;; - SX-7:SUPER-UX:*:*) - GUESS=sx7-nec-superux$UNAME_RELEASE - ;; - SX-8:SUPER-UX:*:*) - GUESS=sx8-nec-superux$UNAME_RELEASE - ;; - SX-8R:SUPER-UX:*:*) - GUESS=sx8r-nec-superux$UNAME_RELEASE - ;; - SX-ACE:SUPER-UX:*:*) - GUESS=sxace-nec-superux$UNAME_RELEASE - ;; - Power*:Rhapsody:*:*) - GUESS=powerpc-apple-rhapsody$UNAME_RELEASE - ;; - *:Rhapsody:*:*) - GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE - ;; - arm64:Darwin:*:*) - GUESS=aarch64-apple-darwin$UNAME_RELEASE - ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build - fi - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE - fi - GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE - ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE - ;; - *:QNX:*:4*) - GUESS=i386-pc-qnx - ;; - NEO-*:NONSTOP_KERNEL:*:*) - GUESS=neo-tandem-nsk$UNAME_RELEASE - ;; - NSE-*:NONSTOP_KERNEL:*:*) - GUESS=nse-tandem-nsk$UNAME_RELEASE - ;; - NSR-*:NONSTOP_KERNEL:*:*) - GUESS=nsr-tandem-nsk$UNAME_RELEASE - ;; - NSV-*:NONSTOP_KERNEL:*:*) - GUESS=nsv-tandem-nsk$UNAME_RELEASE - ;; - NSX-*:NONSTOP_KERNEL:*:*) - GUESS=nsx-tandem-nsk$UNAME_RELEASE - ;; - *:NonStop-UX:*:*) - GUESS=mips-compaq-nonstopux - ;; - BS2000:POSIX*:*:*) - GUESS=bs2000-siemens-sysv - ;; - DS/*:UNIX_System_V:*:*) - GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE - ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "${cputype-}" = 386; then - UNAME_MACHINE=i386 - elif test "x${cputype-}" != x; then - UNAME_MACHINE=$cputype - fi - GUESS=$UNAME_MACHINE-unknown-plan9 - ;; - *:TOPS-10:*:*) - GUESS=pdp10-unknown-tops10 - ;; - *:TENEX:*:*) - GUESS=pdp10-unknown-tenex - ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - GUESS=pdp10-dec-tops20 - ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - GUESS=pdp10-xkl-tops20 - ;; - *:TOPS-20:*:*) - GUESS=pdp10-unknown-tops20 - ;; - *:ITS:*:*) - GUESS=pdp10-unknown-its - ;; - SEI:*:*:SEIUX) - GUESS=mips-sei-seiux$UNAME_RELEASE - ;; - *:DragonFly:*:*) - DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL - ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case $UNAME_MACHINE in - A*) GUESS=alpha-dec-vms ;; - I*) GUESS=ia64-dec-vms ;; - V*) GUESS=vax-dec-vms ;; - esac ;; - *:XENIX:*:SysV) - GUESS=i386-pc-xenix - ;; - i*86:skyos:*:*) - SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` - GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL - ;; - i*86:rdos:*:*) - GUESS=$UNAME_MACHINE-pc-rdos - ;; - i*86:Fiwix:*:*) - GUESS=$UNAME_MACHINE-pc-fiwix - ;; - *:AROS:*:*) - GUESS=$UNAME_MACHINE-unknown-aros - ;; - x86_64:VMkernel:*:*) - GUESS=$UNAME_MACHINE-unknown-esx - ;; - amd64:Isilon\ OneFS:*:*) - GUESS=x86_64-unknown-onefs - ;; - *:Unleashed:*:*) - GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE - ;; -esac - -# Do we have a guess based on uname results? -if test "x$GUESS" != x; then - echo "$GUESS" - exit -fi - -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" < -#include -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include -#if defined(_SIZE_T_) || defined(SIGLOST) -#include -#endif -#endif -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); -#endif - -#if defined (vax) -#if !defined (ultrix) -#include -#if defined (BSD) -#if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -#else -#if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#endif -#else - printf ("vax-dec-bsd\n"); exit (0); -#endif -#else -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. -test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } - -echo "$0: unable to guess system type" >&2 - -case $UNAME_MACHINE:$UNAME_SYSTEM in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&2 <&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = "$UNAME_MACHINE" -UNAME_RELEASE = "$UNAME_RELEASE" -UNAME_SYSTEM = "$UNAME_SYSTEM" -UNAME_VERSION = "$UNAME_VERSION" -EOF -fi - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/_nfdos/e2fsprogs/config/config.rpath b/src/_nfdos/e2fsprogs/config/config.rpath deleted file mode 100755 index 98183ff..0000000 --- a/src/_nfdos/e2fsprogs/config/config.rpath +++ /dev/null @@ -1,684 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2016 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - nagfor*) - wl='-Wl,-Wl,,' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - xl* | bgxl* | bgf* | mpixl*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) - wl= - ;; - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - newsos6) - ;; - *nto* | *qnx*) - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - wl='-Qoption ld ' - ;; - *) - wl='-Wl,' - ;; - esac - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - haiku*) - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then - : - else - ld_shlibs=no - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd2.[01]*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - *nto* | *qnx*) - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - case "$host_cpu" in - powerpc*) - library_names_spec='$libname$shrext' ;; - m68k) - library_names_spec='$libname.a' ;; - esac - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd[23].*) - library_names_spec='$libname$shrext$versuffix' - ;; - freebsd* | dragonfly*) - library_names_spec='$libname$shrext' - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - haiku*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - *nto* | *qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - tpf*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2023 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Split fields of configuration type -# shellcheck disable=SC2162 -saved_IFS=$IFS -IFS="-" read field1 field2 field3 field4 <&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - basic_os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*) - basic_machine=$field1 - basic_os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - basic_os=linux-android - ;; - *) - basic_machine=$field1-$field2 - basic_os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - basic_os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - basic_os=$field2 - ;; - zephyr*) - basic_machine=$field1-unknown - basic_os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - basic_os= - ;; - *) - basic_machine=$field1 - basic_os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - basic_os=bsd - ;; - a29khif) - basic_machine=a29k-amd - basic_os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - basic_os=scout - ;; - alliant) - basic_machine=fx80-alliant - basic_os= - ;; - altos | altos3068) - basic_machine=m68k-altos - basic_os= - ;; - am29k) - basic_machine=a29k-none - basic_os=bsd - ;; - amdahl) - basic_machine=580-amdahl - basic_os=sysv - ;; - amiga) - basic_machine=m68k-unknown - basic_os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - basic_os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - basic_os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - basic_os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - basic_os=bsd - ;; - aros) - basic_machine=i386-pc - basic_os=aros - ;; - aux) - basic_machine=m68k-apple - basic_os=aux - ;; - balance) - basic_machine=ns32k-sequent - basic_os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - basic_os=linux - ;; - cegcc) - basic_machine=arm-unknown - basic_os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - basic_os=bsd - ;; - convex-c2) - basic_machine=c2-convex - basic_os=bsd - ;; - convex-c32) - basic_machine=c32-convex - basic_os=bsd - ;; - convex-c34) - basic_machine=c34-convex - basic_os=bsd - ;; - convex-c38) - basic_machine=c38-convex - basic_os=bsd - ;; - cray) - basic_machine=j90-cray - basic_os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - basic_os= - ;; - da30) - basic_machine=m68k-da30 - basic_os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - basic_os= - ;; - delta88) - basic_machine=m88k-motorola - basic_os=sysv3 - ;; - dicos) - basic_machine=i686-pc - basic_os=dicos - ;; - djgpp) - basic_machine=i586-pc - basic_os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - basic_os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - basic_os=ose - ;; - gmicro) - basic_machine=tron-gmicro - basic_os=sysv - ;; - go32) - basic_machine=i386-pc - basic_os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - basic_os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - basic_os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - basic_os=hms - ;; - harris) - basic_machine=m88k-harris - basic_os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - basic_os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - basic_os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - basic_os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - basic_os=proelf - ;; - i386mach) - basic_machine=i386-mach - basic_os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - basic_os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - basic_os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - basic_os=sysv - ;; - merlin) - basic_machine=ns32k-utek - basic_os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - basic_os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - basic_os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - basic_os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - basic_os=coff - ;; - morphos) - basic_machine=powerpc-unknown - basic_os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - basic_os=moxiebox - ;; - msdos) - basic_machine=i386-pc - basic_os=msdos - ;; - msys) - basic_machine=i686-pc - basic_os=msys - ;; - mvs) - basic_machine=i370-ibm - basic_os=mvs - ;; - nacl) - basic_machine=le32-unknown - basic_os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - basic_os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - basic_os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - basic_os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - basic_os=newsos - ;; - news1000) - basic_machine=m68030-sony - basic_os=newsos - ;; - necv70) - basic_machine=v70-nec - basic_os=sysv - ;; - nh3000) - basic_machine=m68k-harris - basic_os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - basic_os=cxux - ;; - nindy960) - basic_machine=i960-intel - basic_os=nindy - ;; - mon960) - basic_machine=i960-intel - basic_os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - basic_os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - basic_os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - basic_os=ose - ;; - os68k) - basic_machine=m68k-none - basic_os=os68k - ;; - paragon) - basic_machine=i860-intel - basic_os=osf - ;; - parisc) - basic_machine=hppa-unknown - basic_os=linux - ;; - psp) - basic_machine=mipsallegrexel-sony - basic_os=psp - ;; - pw32) - basic_machine=i586-unknown - basic_os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - basic_os=rdos - ;; - rdos32) - basic_machine=i386-pc - basic_os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - basic_os=coff - ;; - sa29200) - basic_machine=a29k-amd - basic_os=udi - ;; - sei) - basic_machine=mips-sei - basic_os=seiux - ;; - sequent) - basic_machine=i386-sequent - basic_os= - ;; - sps7) - basic_machine=m68k-bull - basic_os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - basic_os= - ;; - stratus) - basic_machine=i860-stratus - basic_os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - basic_os= - ;; - sun2os3) - basic_machine=m68000-sun - basic_os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - basic_os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - basic_os= - ;; - sun3os3) - basic_machine=m68k-sun - basic_os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - basic_os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - basic_os= - ;; - sun4os3) - basic_machine=sparc-sun - basic_os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - basic_os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - basic_os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - basic_os= - ;; - sv1) - basic_machine=sv1-cray - basic_os=unicos - ;; - symmetry) - basic_machine=i386-sequent - basic_os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - basic_os=unicos - ;; - t90) - basic_machine=t90-cray - basic_os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - basic_os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - basic_os=tpf - ;; - udi29k) - basic_machine=a29k-amd - basic_os=udi - ;; - ultra3) - basic_machine=a29k-nyu - basic_os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - basic_os=none - ;; - vaxv) - basic_machine=vax-dec - basic_os=sysv - ;; - vms) - basic_machine=vax-dec - basic_os=vms - ;; - vsta) - basic_machine=i386-pc - basic_os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - basic_os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - basic_os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - basic_os=vxworks - ;; - xbox) - basic_machine=i686-pc - basic_os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - basic_os=unicos - ;; - *) - basic_machine=$1 - basic_os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # Here we handle the default manufacturer of certain CPU types. It is in - # some cases the only manufacturer, in others, it is the most popular. - w89k) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - basic_os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - basic_os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - basic_os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - basic_os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - basic_os=${basic_os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv32 - ;; - i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv4 - ;; - i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv - ;; - i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - basic_os=${basic_os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $basic_os in - irix*) - ;; - *) - basic_os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - basic_os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - basic_os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $basic_os in - openstep*) - ;; - nextstep*) - ;; - ns2*) - basic_os=nextstep2 - ;; - *) - basic_os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - basic_os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - basic_os=${basic_os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - basic_os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - basic_os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` - ;; - - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read cpu vendor <&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if test x$basic_os != x -then - -# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just -# set os. -case $basic_os in - gnu/linux*) - kernel=linux - os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` - ;; - os2-emx) - kernel=os2 - os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` - ;; - nto-qnx*) - kernel=nto - os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` - ;; - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read kernel os <&2 - exit 1 - ;; -esac - -# As a final step for OS-related things, validate the OS-kernel combination -# (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* ) - ;; - uclinux-uclibc* ) - ;; - managarm-mlibc* | managarm-kernel* ) - ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) - # These are just libc implementations, not actual OSes, and thus - # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - -kernel* ) - echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - *-kernel* ) - echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2 - exit 1 - ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) - ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) - ;; - nto-qnx*) - ;; - os2-emx) - ;; - *-eabi* | *-gnueabi*) - ;; - -*) - # Blank kernel with real OS is always fine. - ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 - exit 1 - ;; -esac - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) - case $cpu-$os in - *-riscix*) - vendor=acorn - ;; - *-sunos*) - vendor=sun - ;; - *-cnk* | *-aix*) - vendor=ibm - ;; - *-beos*) - vendor=be - ;; - *-hpux*) - vendor=hp - ;; - *-mpeix*) - vendor=hp - ;; - *-hiux*) - vendor=hitachi - ;; - *-unos*) - vendor=crds - ;; - *-dgux*) - vendor=dg - ;; - *-luna*) - vendor=omron - ;; - *-genix*) - vendor=ns - ;; - *-clix*) - vendor=intergraph - ;; - *-mvs* | *-opened*) - vendor=ibm - ;; - *-os400*) - vendor=ibm - ;; - s390-* | s390x-*) - vendor=ibm - ;; - *-ptx*) - vendor=sequent - ;; - *-tpf*) - vendor=ibm - ;; - *-vxsim* | *-vxworks* | *-windiss*) - vendor=wrs - ;; - *-aux*) - vendor=apple - ;; - *-hms*) - vendor=hitachi - ;; - *-mpw* | *-macos*) - vendor=apple - ;; - *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) - vendor=atari - ;; - *-vos*) - vendor=stratus - ;; - esac - ;; -esac - -echo "$cpu-$vendor-${kernel:+$kernel-}$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/src/_nfdos/e2fsprogs/config/ltmain.sh b/src/_nfdos/e2fsprogs/config/ltmain.sh deleted file mode 100644 index c12c197..0000000 --- a/src/_nfdos/e2fsprogs/config/ltmain.sh +++ /dev/null @@ -1,11249 +0,0 @@ -#! /bin/sh -## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 - -# libtool (GNU libtool) 2.4.6 -# Provide generalized library-building support services. -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-9" -package_revision=2.4.6 - - -## ------ ## -## Usage. ## -## ------ ## - -# Run './libtool --help' for help with using this script from the -# command line. - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# After configure completes, it has a better idea of some of the -# shell tools we need than the defaults used by the functions shared -# with bootstrap, so set those here where they can still be over- -# ridden by the user, but otherwise take precedence. - -: ${AUTOCONF="autoconf"} -: ${AUTOMAKE="automake"} - - -## -------------------------- ## -## Source external libraries. ## -## -------------------------- ## - -# Much of our low-level functionality needs to be sourced from external -# libraries, which are installed to $pkgauxdir. - -# Set a version string for this script. -scriptversion=2015-01-20.17; # UTC - -# General shell script boiler plate, and helper functions. -# Written by Gary V. Vaughan, 2004 - -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# Evaluate this file near the top of your script to gain access to -# the functions and variables defined here: -# -# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh -# -# If you need to override any of the default environment variable -# settings, do that before evaluating this file. - - -## -------------------- ## -## Shell normalisation. ## -## -------------------- ## - -# Some shells need a little help to be as Bourne compatible as possible. -# Before doing anything else, make sure all that help has been provided! - -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac -fi - -# NLS nuisances: We save the old values in case they are required later. -_G_user_locale= -_G_safe_locale= -for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test set = \"\${$_G_var+set}\"; then - save_$_G_var=\$$_G_var - $_G_var=C - export $_G_var - _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" - _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" - fi" -done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Make sure IFS has a sensible default -sp=' ' -nl=' -' -IFS="$sp $nl" - -# There are apparently some retarded systems that use ';' as a PATH separator! -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - - -## ------------------------- ## -## Locate command utilities. ## -## ------------------------- ## - - -# func_executable_p FILE -# ---------------------- -# Check that FILE is an executable regular file. -func_executable_p () -{ - test -f "$1" && test -x "$1" -} - - -# func_path_progs PROGS_LIST CHECK_FUNC [PATH] -# -------------------------------------------- -# Search for either a program that responds to --version with output -# containing "GNU", or else returned by CHECK_FUNC otherwise, by -# trying all the directories in PATH with each of the elements of -# PROGS_LIST. -# -# CHECK_FUNC should accept the path to a candidate program, and -# set $func_check_prog_result if it truncates its output less than -# $_G_path_prog_max characters. -func_path_progs () -{ - _G_progs_list=$1 - _G_check_func=$2 - _G_PATH=${3-"$PATH"} - - _G_path_prog_max=0 - _G_path_prog_found=false - _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} - for _G_dir in $_G_PATH; do - IFS=$_G_save_IFS - test -z "$_G_dir" && _G_dir=. - for _G_prog_name in $_G_progs_list; do - for _exeext in '' .EXE; do - _G_path_prog=$_G_dir/$_G_prog_name$_exeext - func_executable_p "$_G_path_prog" || continue - case `"$_G_path_prog" --version 2>&1` in - *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; - *) $_G_check_func $_G_path_prog - func_path_progs_result=$func_check_prog_result - ;; - esac - $_G_path_prog_found && break 3 - done - done - done - IFS=$_G_save_IFS - test -z "$func_path_progs_result" && { - echo "no acceptable sed could be found in \$PATH" >&2 - exit 1 - } -} - - -# We want to be able to use the functions in this file before configure -# has figured out where the best binaries are kept, which means we have -# to search for them ourselves - except when the results are already set -# where we skip the searches. - -# Unless the user overrides by setting SED, search the path for either GNU -# sed, or the sed that truncates its output the least. -test -z "$SED" && { - _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for _G_i in 1 2 3 4 5 6 7; do - _G_sed_script=$_G_sed_script$nl$_G_sed_script - done - echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed - _G_sed_script= - - func_check_prog_sed () - { - _G_path_prog=$1 - - _G_count=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo '' >> conftest.nl - "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin - rm -f conftest.sed - SED=$func_path_progs_result -} - - -# Unless the user overrides by setting GREP, search the path for either GNU -# grep, or the grep that truncates its output the least. -test -z "$GREP" && { - func_check_prog_grep () - { - _G_path_prog=$1 - - _G_count=0 - _G_path_prog_max=0 - printf 0123456789 >conftest.in - while : - do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo 'GREP' >> conftest.nl - "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break - diff conftest.out conftest.nl >/dev/null 2>&1 || break - _G_count=`expr $_G_count + 1` - if test "$_G_count" -gt "$_G_path_prog_max"; then - # Best one so far, save it but keep looking for a better one - func_check_prog_result=$_G_path_prog - _G_path_prog_max=$_G_count - fi - # 10*(2^10) chars as input seems more than enough - test 10 -lt "$_G_count" && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out - } - - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin - GREP=$func_path_progs_result -} - - -## ------------------------------- ## -## User overridable command paths. ## -## ------------------------------- ## - -# All uppercase variable names are used for environment variables. These -# variables can be overridden by the user before calling a script that -# uses them if a suitable command of that name is not already available -# in the command search PATH. - -: ${CP="cp -f"} -: ${ECHO="printf %s\n"} -: ${EGREP="$GREP -E"} -: ${FGREP="$GREP -F"} -: ${LN_S="ln -s"} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} - - -## -------------------- ## -## Useful sed snippets. ## -## -------------------- ## - -sed_dirname='s|/[^/]*$||' -sed_basename='s|^.*/||' - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s|\([`"$\\]\)|\\\1|g' - -# Same as above, but do not quote variable references. -sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' - -# Sed substitution that converts a w32 file name or path -# that contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-'\' parameter expansions in output of sed_double_quote_subst that -# were '\'-ed in input to the same. If an odd number of '\' preceded a -# '$' in input to sed_double_quote_subst, that '$' was protected from -# expansion. Since each input '\' is now two '\'s, look for any number -# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. -_G_bs='\\' -_G_bs2='\\\\' -_G_bs4='\\\\\\\\' -_G_dollar='\$' -sed_double_backslash="\ - s/$_G_bs4/&\\ -/g - s/^$_G_bs2$_G_dollar/$_G_bs&/ - s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g - s/\n//g" - - -## ----------------- ## -## Global variables. ## -## ----------------- ## - -# Except for the global variables explicitly listed below, the following -# functions in the '^func_' namespace, and the '^require_' namespace -# variables initialised in the 'Resource management' section, sourcing -# this file will not pollute your global namespace with anything -# else. There's no portable way to scope variables in Bourne shell -# though, so actually running these functions will sometimes place -# results into a variable named after the function, and often use -# temporary variables in the '^_G_' namespace. If you are careful to -# avoid using those namespaces casually in your sourcing script, things -# should continue to work as you expect. And, of course, you can freely -# overwrite any of the functions or variables defined here before -# calling anything to customize them. - -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -# Allow overriding, eg assuming that you follow the convention of -# putting '$debug_cmd' at the start of all your functions, you can get -# bash to show function call trace with: -# -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name -debug_cmd=${debug_cmd-":"} -exit_cmd=: - -# By convention, finish your script with: -# -# exit $exit_status -# -# so that you can set exit_status to non-zero if you want to indicate -# something went wrong during execution without actually bailing out at -# the point of failure. -exit_status=$EXIT_SUCCESS - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath=$0 - -# The name of this program. -progname=`$ECHO "$progpath" |$SED "$sed_basename"` - -# Make sure we have an absolute progpath for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` - progdir=`cd "$progdir" && pwd` - progpath=$progdir/$progname - ;; - *) - _G_IFS=$IFS - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS=$_G_IFS - test -x "$progdir/$progname" && break - done - IFS=$_G_IFS - test -n "$progdir" || progdir=`pwd` - progpath=$progdir/$progname - ;; -esac - - -## ----------------- ## -## Standard options. ## -## ----------------- ## - -# The following options affect the operation of the functions defined -# below, and should be set appropriately depending on run-time para- -# meters passed on the command line. - -opt_dry_run=false -opt_quiet=false -opt_verbose=false - -# Categories 'all' and 'none' are always available. Append any others -# you will pass as the first argument to func_warning from your own -# code. -warning_categories= - -# By default, display warnings according to 'opt_warning_types'. Set -# 'warning_func' to ':' to elide all warnings, or func_fatal_error to -# treat the next displayed warning as a fatal error. -warning_func=func_warn_and_continue - -# Set to 'all' to display all warnings, 'none' to suppress all -# warnings, or a space delimited list of some subset of -# 'warning_categories' to display only the listed warnings. -opt_warning_types=all - - -## -------------------- ## -## Resource management. ## -## -------------------- ## - -# This section contains definitions for functions that each ensure a -# particular resource (a file, or a non-empty configuration variable for -# example) is available, and if appropriate to extract default values -# from pertinent package files. Call them using their associated -# 'require_*' variable to ensure that they are executed, at most, once. -# -# It's entirely deliberate that calling these functions can set -# variables that don't obey the namespace limitations obeyed by the rest -# of this file, in order that that they be as useful as possible to -# callers. - - -# require_term_colors -# ------------------- -# Allow display of bold text on terminals that support it. -require_term_colors=func_require_term_colors -func_require_term_colors () -{ - $debug_cmd - - test -t 1 && { - # COLORTERM and USE_ANSI_COLORS environment variables take - # precedence, because most terminfo databases neglect to describe - # whether color sequences are supported. - test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} - - if test 1 = "$USE_ANSI_COLORS"; then - # Standard ANSI escape sequences - tc_reset='' - tc_bold=''; tc_standout='' - tc_red=''; tc_green='' - tc_blue=''; tc_cyan='' - else - # Otherwise trust the terminfo database after all. - test -n "`tput sgr0 2>/dev/null`" && { - tc_reset=`tput sgr0` - test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` - tc_standout=$tc_bold - test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` - test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` - test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` - test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` - test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` - } - fi - } - - require_term_colors=: -} - - -## ----------------- ## -## Function library. ## -## ----------------- ## - -# This section contains a variety of useful functions to call in your -# scripts. Take note of the portable wrappers for features provided by -# some modern shells, which will fall back to slower equivalents on -# less featureful shells. - - -# func_append VAR VALUE -# --------------------- -# Append VALUE onto the existing contents of VAR. - - # We should try to minimise forks, especially on Windows where they are - # unreasonably slow, so skip the feature probes when bash or zsh are - # being used: - if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then - : ${_G_HAVE_ARITH_OP="yes"} - : ${_G_HAVE_XSI_OPS="yes"} - # The += operator was introduced in bash 3.1 - case $BASH_VERSION in - [12].* | 3.0 | 3.0*) ;; - *) - : ${_G_HAVE_PLUSEQ_OP="yes"} - ;; - esac - fi - - # _G_HAVE_PLUSEQ_OP - # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. - test -z "$_G_HAVE_PLUSEQ_OP" \ - && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ - && _G_HAVE_PLUSEQ_OP=yes - -if test yes = "$_G_HAVE_PLUSEQ_OP" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_append () - { - $debug_cmd - - eval "$1+=\$2" - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_append () - { - $debug_cmd - - eval "$1=\$$1\$2" - } -fi - - -# func_append_quoted VAR VALUE -# ---------------------------- -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -if test yes = "$_G_HAVE_PLUSEQ_OP"; then - eval 'func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" - }' -else - func_append_quoted () - { - $debug_cmd - - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" - } -fi - - -# func_append_uniq VAR VALUE -# -------------------------- -# Append unique VALUE onto the existing contents of VAR, assuming -# entries are delimited by the first character of VALUE. For example: -# -# func_append_uniq options " --another-option option-argument" -# -# will only append to $options if " --another-option option-argument " -# is not already present somewhere in $options already (note spaces at -# each end implied by leading space in second argument). -func_append_uniq () -{ - $debug_cmd - - eval _G_current_value='`$ECHO $'$1'`' - _G_delim=`expr "$2" : '\(.\)'` - - case $_G_delim$_G_current_value$_G_delim in - *"$2$_G_delim"*) ;; - *) func_append "$@" ;; - esac -} - - -# func_arith TERM... -# ------------------ -# Set func_arith_result to the result of evaluating TERMs. - test -z "$_G_HAVE_ARITH_OP" \ - && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ - && _G_HAVE_ARITH_OP=yes - -if test yes = "$_G_HAVE_ARITH_OP"; then - eval 'func_arith () - { - $debug_cmd - - func_arith_result=$(( $* )) - }' -else - func_arith () - { - $debug_cmd - - func_arith_result=`expr "$@"` - } -fi - - -# func_basename FILE -# ------------------ -# Set func_basename_result to FILE with everything up to and including -# the last / stripped. -if test yes = "$_G_HAVE_XSI_OPS"; then - # If this shell supports suffix pattern removal, then use it to avoid - # forking. Hide the definitions single quotes in case the shell chokes - # on unsupported syntax... - _b='func_basename_result=${1##*/}' - _d='case $1 in - */*) func_dirname_result=${1%/*}$2 ;; - * ) func_dirname_result=$3 ;; - esac' - -else - # ...otherwise fall back to using sed. - _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' - _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` - if test "X$func_dirname_result" = "X$1"; then - func_dirname_result=$3 - else - func_append func_dirname_result "$2" - fi' -fi - -eval 'func_basename () -{ - $debug_cmd - - '"$_b"' -}' - - -# func_dirname FILE APPEND NONDIR_REPLACEMENT -# ------------------------------------------- -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -eval 'func_dirname () -{ - $debug_cmd - - '"$_d"' -}' - - -# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT -# -------------------------------------------------------- -# Perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# For efficiency, we do not delegate to the functions above but instead -# duplicate the functionality here. -eval 'func_dirname_and_basename () -{ - $debug_cmd - - '"$_b"' - '"$_d"' -}' - - -# func_echo ARG... -# ---------------- -# Echo program name prefixed message. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_echo_all ARG... -# -------------------- -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - - -# func_echo_infix_1 INFIX ARG... -# ------------------------------ -# Echo program name, followed by INFIX on the first line, with any -# additional lines not showing INFIX. -func_echo_infix_1 () -{ - $debug_cmd - - $require_term_colors - - _G_infix=$1; shift - _G_indent=$_G_infix - _G_prefix="$progname: $_G_infix: " - _G_message=$* - - # Strip color escape sequences before counting printable length - for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" - do - test -n "$_G_tc" && { - _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` - _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` - } - done - _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes - - func_echo_infix_1_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_infix_1_IFS - $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 - _G_prefix=$_G_indent - done - IFS=$func_echo_infix_1_IFS -} - - -# func_error ARG... -# ----------------- -# Echo program name prefixed message to standard error. -func_error () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 -} - - -# func_fatal_error ARG... -# ----------------------- -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - $debug_cmd - - func_error "$*" - exit $EXIT_FAILURE -} - - -# func_grep EXPRESSION FILENAME -# ----------------------------- -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $debug_cmd - - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_len STRING -# --------------- -# Set func_len_result to the length of STRING. STRING may not -# start with a hyphen. - test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_len () - { - $debug_cmd - - func_len_result=${#1} - }' -else - func_len () - { - $debug_cmd - - func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` - } -fi - - -# func_mkdir_p DIRECTORY-PATH -# --------------------------- -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - $debug_cmd - - _G_directory_path=$1 - _G_dir_list= - - if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then - - # Protect directory names starting with '-' - case $_G_directory_path in - -*) _G_directory_path=./$_G_directory_path ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$_G_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - _G_dir_list=$_G_directory_path:$_G_dir_list - - # If the last portion added has no slash in it, the list is done - case $_G_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` - done - _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` - - func_mkdir_p_IFS=$IFS; IFS=: - for _G_dir in $_G_dir_list; do - IFS=$func_mkdir_p_IFS - # mkdir can fail with a 'File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$_G_dir" 2>/dev/null || : - done - IFS=$func_mkdir_p_IFS - - # Bail out if we (or some other process) failed to create a directory. - test -d "$_G_directory_path" || \ - func_fatal_error "Failed to create '$1'" - fi -} - - -# func_mktempdir [BASENAME] -# ------------------------- -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, BASENAME is the basename for that directory. -func_mktempdir () -{ - $debug_cmd - - _G_template=${TMPDIR-/tmp}/${1-$progname} - - if test : = "$opt_dry_run"; then - # Return a directory name, but don't create it in dry-run mode - _G_tmpdir=$_G_template-$$ - else - - # If mktemp works, use that first and foremost - _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` - - if test ! -d "$_G_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - _G_tmpdir=$_G_template-${RANDOM-0}$$ - - func_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$_G_tmpdir" - umask $func_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$_G_tmpdir" || \ - func_fatal_error "cannot create temporary directory '$_G_tmpdir'" - fi - - $ECHO "$_G_tmpdir" -} - - -# func_normal_abspath PATH -# ------------------------ -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -func_normal_abspath () -{ - $debug_cmd - - # These SED scripts presuppose an absolute path with a trailing slash. - _G_pathcar='s|^/\([^/]*\).*$|\1|' - _G_pathcdr='s|^/[^/]*||' - _G_removedotparts=':dotsl - s|/\./|/|g - t dotsl - s|/\.$|/|' - _G_collapseslashes='s|/\{1,\}|/|g' - _G_finalslash='s|/*$|/|' - - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` - while :; do - # Processed it all yet? - if test / = "$func_normal_abspath_tpath"; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result"; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$_G_pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - - -# func_notquiet ARG... -# -------------------- -# Echo program name prefixed message only when not in quiet mode. -func_notquiet () -{ - $debug_cmd - - $opt_quiet || func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - - -# func_relative_path SRCDIR DSTDIR -# -------------------------------- -# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. -func_relative_path () -{ - $debug_cmd - - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=$func_dirname_result - if test -z "$func_relative_path_tlibdir"; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test -n "$func_stripname_result"; then - func_append func_relative_path_result "/$func_stripname_result" - fi - - # Normalisation. If bindir is libdir, return '.' else relative path. - if test -n "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - fi - - test -n "$func_relative_path_result" || func_relative_path_result=. - - : -} - - -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () -{ - $debug_cmd - - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *[\\\`\"\$]*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" - fi - - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_quoted_arg=\"$_G_unquoted_arg\" - ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; - esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift - done -} - - -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd - - case $1 in - *[\\\`\"]*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; - esac - - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - _G_arg=\"$_G_arg\" - ;; - esac - - func_quote_for_expand_result=$_G_arg -} - - -# func_stripname PREFIX SUFFIX NAME -# --------------------------------- -# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_stripname () - { - $debug_cmd - - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary variable first. - func_stripname_result=$3 - func_stripname_result=${func_stripname_result#"$1"} - func_stripname_result=${func_stripname_result%"$2"} - }' -else - func_stripname () - { - $debug_cmd - - case $2 in - .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; - *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; - esac - } -fi - - -# func_show_eval CMD [FAIL_EXP] -# ----------------------------- -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" - - $opt_dry_run || { - eval "$_G_cmd" - _G_status=$? - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_show_eval_locale CMD [FAIL_EXP] -# ------------------------------------ -# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - $debug_cmd - - _G_cmd=$1 - _G_fail_exp=${2-':'} - - $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - $opt_dry_run || { - eval "$_G_user_locale - $_G_cmd" - _G_status=$? - eval "$_G_safe_locale" - if test 0 -ne "$_G_status"; then - eval "(exit $_G_status); $_G_fail_exp" - fi - } -} - - -# func_tr_sh -# ---------- -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - $debug_cmd - - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_verbose ARG... -# ------------------- -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $debug_cmd - - $opt_verbose && func_echo "$*" - - : -} - - -# func_warn_and_continue ARG... -# ----------------------------- -# Echo program name prefixed warning message to standard error. -func_warn_and_continue () -{ - $debug_cmd - - $require_term_colors - - func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 -} - - -# func_warning CATEGORY ARG... -# ---------------------------- -# Echo program name prefixed warning message to standard error. Warning -# messages can be filtered according to CATEGORY, where this function -# elides messages where CATEGORY is not listed in the global variable -# 'opt_warning_types'. -func_warning () -{ - $debug_cmd - - # CATEGORY must be in the warning_categories list! - case " $warning_categories " in - *" $1 "*) ;; - *) func_internal_error "invalid warning category '$1'" ;; - esac - - _G_category=$1 - shift - - case " $opt_warning_types " in - *" $_G_category "*) $warning_func ${1+"$@"} ;; - esac -} - - -# func_sort_ver VER1 VER2 -# ----------------------- -# 'sort -V' is not generally available. -# Note this deviates from the version comparison in automake -# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a -# but this should suffice as we won't be specifying old -# version formats or redundant trailing .0 in bootstrap.conf. -# If we did want full compatibility then we should probably -# use m4_version_compare from autoconf. -func_sort_ver () -{ - $debug_cmd - - printf '%s\n%s\n' "$1" "$2" \ - | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n -} - -# func_lt_ver PREV CURR -# --------------------- -# Return true if PREV and CURR are in the correct order according to -# func_sort_ver, otherwise false. Use it like this: -# -# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." -func_lt_ver () -{ - $debug_cmd - - test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: -#! /bin/sh - -# Set a version string for this script. -scriptversion=2015-10-07.11; # UTC - -# A portable, pluggable option parser for Bourne shell. -# Written by Gary V. Vaughan, 2010 - -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Please report bugs or propose patches to gary@gnu.org. - - -## ------ ## -## Usage. ## -## ------ ## - -# This file is a library for parsing options in your shell scripts along -# with assorted other useful supporting features that you can make use -# of too. -# -# For the simplest scripts you might need only: -# -# #!/bin/sh -# . relative/path/to/funclib.sh -# . relative/path/to/options-parser -# scriptversion=1.0 -# func_options ${1+"$@"} -# eval set dummy "$func_options_result"; shift -# ...rest of your script... -# -# In order for the '--version' option to work, you will need to have a -# suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. -# -# For '-h' and '--help' to work, you will also need a one line -# description of your script's purpose in a comment directly above the -# '# Written by ' line, like the one at the top of this file. -# -# The default options also support '--debug', which will turn on shell -# execution tracing (see the comment above debug_cmd below for another -# use), and '--verbose' and the func_verbose function to allow your script -# to display verbose messages only when your user has specified -# '--verbose'. -# -# After sourcing this file, you can plug processing for additional -# options by amending the variables from the 'Configuration' section -# below, and following the instructions in the 'Option parsing' -# section further down. - -## -------------- ## -## Configuration. ## -## -------------- ## - -# You should override these variables in your script after sourcing this -# file so that they reflect the customisations you have added to the -# option parser. - -# The usage line for option parsing errors and the start of '-h' and -# '--help' output messages. You can embed shell variables for delayed -# expansion at the time the message is displayed, but you will need to -# quote other shell meta-characters carefully to prevent them being -# expanded when the contents are evaled. -usage='$progpath [OPTION]...' - -# Short help message in response to '-h' and '--help'. Add to this or -# override it after sourcing this library to reflect the full set of -# options your script accepts. -usage_message="\ - --debug enable verbose shell tracing - -W, --warnings=CATEGORY - report the warnings falling in CATEGORY [all] - -v, --verbose verbosely report processing - --version print version information and exit - -h, --help print short or long help message and exit -" - -# Additional text appended to 'usage_message' in response to '--help'. -long_help_message=" -Warning categories include: - 'all' show all warnings - 'none' turn off all the warnings - 'error' warnings are treated as fatal errors" - -# Help message printed before fatal option parsing errors. -fatal_help="Try '\$progname --help' for more information." - - - -## ------------------------- ## -## Hook function management. ## -## ------------------------- ## - -# This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. - -# func_hookable FUNC_NAME -# ----------------------- -# Declare that FUNC_NAME will run hooks added with -# 'func_add_hook FUNC_NAME ...'. -func_hookable () -{ - $debug_cmd - - func_append hookable_fns " $1" -} - - -# func_add_hook FUNC_NAME HOOK_FUNC -# --------------------------------- -# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must -# first have been declared "hookable" by a call to 'func_hookable'. -func_add_hook () -{ - $debug_cmd - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not accept hook functions." ;; - esac - - eval func_append ${1}_hooks '" $2"' -} - - -# func_remove_hook FUNC_NAME HOOK_FUNC -# ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. -func_remove_hook () -{ - $debug_cmd - - eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' -} - - -# func_run_hooks FUNC_NAME [ARG]... -# --------------------------------- -# Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more -# than a whitespace-delimited list of legal shell function names, and -# no effort is wasted trying to catch shell meta-characters or preserve -# whitespace. -func_run_hooks () -{ - $debug_cmd - - _G_rc_run_hooks=false - - case " $hookable_fns " in - *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; - esac - - eval _G_hook_fns=\$$1_hooks; shift - - for _G_hook in $_G_hook_fns; do - if eval $_G_hook '"$@"'; then - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift - _G_rc_run_hooks=: - fi - done - - $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result -} - - - -## --------------- ## -## Option parsing. ## -## --------------- ## - -# In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, you may remove/edit -# any options that you action, and then pass back the remaining unprocessed -# options in '_result', escaped suitably for -# 'eval'. In this case you also must return $EXIT_SUCCESS to let the -# hook's caller know that it should pay attention to -# '_result'. Returning $EXIT_FAILURE signalizes that -# arguments are left untouched by the hook and therefore caller will ignore the -# result variable. -# -# Like this: -# -# my_options_prep () -# { -# $debug_cmd -# -# # Extend the existing usage message. -# usage_message=$usage_message' -# -s, --silent don'\''t print informational messages -# ' -# # No change in '$@' (ignored completely by this hook). There is -# # no need to do the equivalent (but slower) action: -# # func_quote_for_eval ${1+"$@"} -# # my_options_prep_result=$func_quote_for_eval_result -# false -# } -# func_add_hook func_options_prep my_options_prep -# -# -# my_silent_option () -# { -# $debug_cmd -# -# args_changed=false -# -# # Note that for efficiency, we parse as many options as we can -# # recognise in a loop before passing the remainder back to the -# # caller on the first unrecognised argument we encounter. -# while test $# -gt 0; do -# opt=$1; shift -# case $opt in -# --silent|-s) opt_silent=: -# args_changed=: -# ;; -# # Separate non-argument short options: -# -s*) func_split_short_opt "$_G_opt" -# set dummy "$func_split_short_opt_name" \ -# "-$func_split_short_opt_arg" ${1+"$@"} -# shift -# args_changed=: -# ;; -# *) # Make sure the first unrecognised option "$_G_opt" -# # is added back to "$@", we could need that later -# # if $args_changed is true. -# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; -# esac -# done -# -# if $args_changed; then -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result -# fi -# -# $args_changed -# } -# func_add_hook func_parse_options my_silent_option -# -# -# my_option_validation () -# { -# $debug_cmd -# -# $opt_silent && $opt_verbose && func_fatal_help "\ -# '--silent' and '--verbose' options are mutually exclusive." -# -# false -# } -# func_add_hook func_validate_options my_option_validation -# -# You'll also need to manually amend $usage_message to reflect the extra -# options you parse. It's preferable to append if you can, so that -# multiple option parsing hooks can be added safely. - - -# func_options_finish [ARG]... -# ---------------------------- -# Finishing the option parse loop (call 'func_options' hooks ATM). -func_options_finish () -{ - $debug_cmd - - _G_func_options_finish_exit=false - if func_run_hooks func_options ${1+"$@"}; then - func_options_finish_result=$func_run_hooks_result - _G_func_options_finish_exit=: - fi - - $_G_func_options_finish_exit -} - - -# func_options [ARG]... -# --------------------- -# All the functions called inside func_options are hookable. See the -# individual implementations for details. -func_hookable func_options -func_options () -{ - $debug_cmd - - _G_rc_options=false - - for my_func in options_prep parse_options validate_options options_finish - do - if eval func_$my_func '${1+"$@"}'; then - eval _G_res_var='$'"func_${my_func}_result" - eval set dummy "$_G_res_var" ; shift - _G_rc_options=: - fi - done - - # Save modified positional parameters for caller. As a top-level - # options-parser function we always need to set the 'func_options_result' - # variable (regardless the $_G_rc_options value). - if $_G_rc_options; then - func_options_result=$_G_res_var - else - func_quote_for_eval ${1+"$@"} - func_options_result=$func_quote_for_eval_result - fi - - $_G_rc_options -} - - -# func_options_prep [ARG]... -# -------------------------- -# All initialisations required before starting the option parse loop. -# Note that when calling hook functions, we pass through the list of -# positional parameters. If a hook function modifies that list, and -# needs to propagate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). -func_hookable func_options_prep -func_options_prep () -{ - $debug_cmd - - # Option defaults: - opt_verbose=false - opt_warning_types= - - _G_rc_options_prep=false - if func_run_hooks func_options_prep ${1+"$@"}; then - _G_rc_options_prep=: - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result - fi - - $_G_rc_options_prep -} - - -# func_parse_options [ARG]... -# --------------------------- -# The main option parsing loop. -func_hookable func_parse_options -func_parse_options () -{ - $debug_cmd - - func_parse_options_result= - - _G_rc_parse_options=false - # this just eases exit handling - while test $# -gt 0; do - # Defer to hook functions for initial option parsing, so they - # get priority in the event of reusing an option name. - if func_run_hooks func_parse_options ${1+"$@"}; then - eval set dummy "$func_run_hooks_result"; shift - _G_rc_parse_options=: - fi - - # Break out of the loop if we already parsed every option. - test $# -gt 0 || break - - _G_match_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" - $debug_cmd - ;; - - --no-warnings|--no-warning|--no-warn) - set dummy --warnings none ${1+"$@"} - shift - ;; - - --warnings|--warning|-W) - if test $# = 0 && func_missing_arg $_G_opt; then - _G_rc_parse_options=: - break - fi - case " $warning_categories $1" in - *" $1 "*) - # trailing space prevents matching last $1 above - func_append_uniq opt_warning_types " $1" - ;; - *all) - opt_warning_types=$warning_categories - ;; - *none) - opt_warning_types=none - warning_func=: - ;; - *error) - opt_warning_types=$warning_categories - warning_func=func_fatal_error - ;; - *) - func_fatal_error \ - "unsupported warning category: '$1'" - ;; - esac - shift - ;; - - --verbose|-v) opt_verbose=: ;; - --version) func_version ;; - -\?|-h) func_usage ;; - --help) func_help ;; - - # Separate optargs to long options (plugins may need this): - --*=*) func_split_equals "$_G_opt" - set dummy "$func_split_equals_lhs" \ - "$func_split_equals_rhs" ${1+"$@"} - shift - ;; - - # Separate optargs to short options: - -W*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-v*|-x*) - func_split_short_opt "$_G_opt" - set dummy "$func_split_short_opt_name" \ - "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) _G_rc_parse_options=: ; break ;; - -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift - _G_match_parse_options=false - break - ;; - esac - - $_G_match_parse_options && _G_rc_parse_options=: - done - - - if $_G_rc_parse_options; then - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result - fi - - $_G_rc_parse_options -} - - -# func_validate_options [ARG]... -# ------------------------------ -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -func_hookable func_validate_options -func_validate_options () -{ - $debug_cmd - - _G_rc_validate_options=false - - # Display all warnings if -W was not given. - test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - - if func_run_hooks func_validate_options ${1+"$@"}; then - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result - _G_rc_validate_options=: - fi - - # Bail if the options were screwed! - $exit_cmd $EXIT_FAILURE - - $_G_rc_validate_options -} - - - -## ----------------- ## -## Helper functions. ## -## ----------------- ## - -# This section contains the helper functions used by the rest of the -# hookable option parser framework in ascii-betical order. - - -# func_fatal_help ARG... -# ---------------------- -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - eval \$ECHO \""$fatal_help"\" - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - - -# func_help -# --------- -# Echo long help message to standard output and exit. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message" - exit 0 -} - - -# func_missing_arg ARGNAME -# ------------------------ -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $debug_cmd - - func_error "Missing argument for '$1'." - exit_cmd=exit -} - - -# func_split_equals STRING -# ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. -test -z "$_G_HAVE_XSI_OPS" \ - && (eval 'x=a/b/c; - test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ - && _G_HAVE_XSI_OPS=yes - -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=${1%%=*} - func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_equals () - { - $debug_cmd - - func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` - func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ - || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` - } -fi #func_split_equals - - -# func_split_short_opt SHORTOPT -# ----------------------------- -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -if test yes = "$_G_HAVE_XSI_OPS" -then - # This is an XSI compatible shell, allowing a faster implementation... - eval 'func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} - }' -else - # ...otherwise fall back to using expr, which is often a shell builtin. - func_split_short_opt () - { - $debug_cmd - - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` - func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` - } -fi #func_split_short_opt - - -# func_usage -# ---------- -# Echo short help message to standard output and exit. -func_usage () -{ - $debug_cmd - - func_usage_message - $ECHO "Run '$progname --help |${PAGER-more}' for full usage" - exit 0 -} - - -# func_usage_message -# ------------------ -# Echo short help message to standard output. -func_usage_message () -{ - $debug_cmd - - eval \$ECHO \""Usage: $usage"\" - echo - $SED -n 's|^# || - /^Written by/{ - x;p;x - } - h - /^Written by/q' < "$progpath" - echo - eval \$ECHO \""$usage_message"\" -} - - -# func_version -# ------------ -# Echo version message to standard output and exit. -func_version () -{ - $debug_cmd - - printf '%s\n' "$progname $scriptversion" - $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| - p - } - /^# Written by / { - s|^# || - p - } - /^warranty; /q' < "$progpath" - - exit $? -} - - -# Local variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" -# time-stamp-time-zone: "UTC" -# End: - -# Set a version string. -scriptversion='(GNU libtool) 2.4.6' - - -# func_echo ARG... -# ---------------- -# Libtool also displays the current mode in messages, so override -# funclib.sh func_echo with this custom definition. -func_echo () -{ - $debug_cmd - - _G_message=$* - - func_echo_IFS=$IFS - IFS=$nl - for _G_line in $_G_message; do - IFS=$func_echo_IFS - $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" - done - IFS=$func_echo_IFS -} - - -# func_warning ARG... -# ------------------- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ - $debug_cmd - - $warning_func ${1+"$@"} -} - - -## ---------------- ## -## Options parsing. ## -## ---------------- ## - -# Hook in the functions to make sure our own options are parsed during -# the option parsing loop. - -usage='$progpath [OPTION]... [MODE-ARG]...' - -# Short help message in response to '-h'. -usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-warnings equivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --quiet, --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - -v, --verbose print more informational messages than default - --version print version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message -" - -# Additional text appended to 'usage_message' in response to '--help'. -func_help () -{ - $debug_cmd - - func_usage_message - $ECHO "$long_help_message - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. When passed as first option, -'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. -Try '$progname --help --mode=MODE' for a more detailed description of MODE. - -When reporting a bug, please describe a test case to reproduce it and -include the following information: - - host-triplet: $host - shell: $SHELL - compiler: $LTCC - compiler flags: $LTCFLAGS - linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-9 - automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` - autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` - -Report bugs to . -GNU libtool home page: . -General help using GNU software: ." - exit 0 -} - - -# func_lo2o OBJECT-NAME -# --------------------- -# Transform OBJECT-NAME from a '.lo' suffix to the platform specific -# object suffix. - -lo2o=s/\\.lo\$/.$objext/ -o2lo=s/\\.$objext\$/.lo/ - -if test yes = "$_G_HAVE_XSI_OPS"; then - eval 'func_lo2o () - { - case $1 in - *.lo) func_lo2o_result=${1%.lo}.$objext ;; - * ) func_lo2o_result=$1 ;; - esac - }' - - # func_xform LIBOBJ-OR-SOURCE - # --------------------------- - # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) - # suffix to a '.lo' libtool-object suffix. - eval 'func_xform () - { - func_xform_result=${1%.*}.lo - }' -else - # ...otherwise fall back to using sed. - func_lo2o () - { - func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` - } - - func_xform () - { - func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` - } -fi - - -# func_fatal_configuration ARG... -# ------------------------------- -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func__fatal_error ${1+"$@"} \ - "See the $PACKAGE documentation for more information." \ - "Fatal configuration error." -} - - -# func_config -# ----------- -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - - -# func_features -# ------------- -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test yes = "$build_libtool_libs"; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test yes = "$build_old_libs"; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - - -# func_enable_tag TAGNAME -# ----------------------- -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname=$1 - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf=/$re_begincf/,/$re_endcf/p - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - - -# func_check_version_match -# ------------------------ -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# libtool_options_prep [ARG]... -# ----------------------------- -# Preparation for options parsed by libtool. -libtool_options_prep () -{ - $debug_mode - - # Option defaults: - opt_config=false - opt_dlopen= - opt_dry_run=false - opt_help=false - opt_mode= - opt_preserve_dup_deps=false - opt_quiet=false - - nonopt= - preserve_args= - - _G_rc_lt_options_prep=: - - # Shorthand for --mode=foo, only valid as the first argument - case $1 in - clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; - compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; - execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; - finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; - install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; - link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; - uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; - *) - _G_rc_lt_options_prep=false - ;; - esac - - if $_G_rc_lt_options_prep; then - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result - fi - - $_G_rc_lt_options_prep -} -func_add_hook func_options_prep libtool_options_prep - - -# libtool_parse_options [ARG]... -# --------------------------------- -# Provide handling for libtool specific options. -libtool_parse_options () -{ - $debug_cmd - - _G_rc_lt_parse_options=false - - # Perform our own loop to consume as many options as possible in - # each iteration. - while test $# -gt 0; do - _G_match_lt_parse_options=: - _G_opt=$1 - shift - case $_G_opt in - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - - --config) func_config ;; - - --dlopen|-dlopen) - opt_dlopen="${opt_dlopen+$opt_dlopen -}$1" - shift - ;; - - --preserve-dup-deps) - opt_preserve_dup_deps=: ;; - - --features) func_features ;; - - --finish) set dummy --mode finish ${1+"$@"}; shift ;; - - --help) opt_help=: ;; - - --help-all) opt_help=': help-all' ;; - - --mode) test $# = 0 && func_missing_arg $_G_opt && break - opt_mode=$1 - case $1 in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" - exit_cmd=exit - break - ;; - esac - shift - ;; - - --no-silent|--no-quiet) - opt_quiet=false - func_append preserve_args " $_G_opt" - ;; - - --no-warnings|--no-warning|--no-warn) - opt_warning=false - func_append preserve_args " $_G_opt" - ;; - - --no-verbose) - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --silent|--quiet) - opt_quiet=: - opt_verbose=false - func_append preserve_args " $_G_opt" - ;; - - --tag) test $# = 0 && func_missing_arg $_G_opt && break - opt_tag=$1 - func_append preserve_args " $_G_opt $1" - func_enable_tag "$1" - shift - ;; - - --verbose|-v) opt_quiet=false - opt_verbose=: - func_append preserve_args " $_G_opt" - ;; - - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"} ; shift - _G_match_lt_parse_options=false - break - ;; - esac - $_G_match_lt_parse_options && _G_rc_lt_parse_options=: - done - - if $_G_rc_lt_parse_options; then - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result - fi - - $_G_rc_lt_parse_options -} -func_add_hook func_parse_options libtool_parse_options - - - -# libtool_validate_options [ARG]... -# --------------------------------- -# Perform any sanity checks on option settings and/or unconsumed -# arguments. -libtool_validate_options () -{ - # save first non-option argument - if test 0 -lt $#; then - nonopt=$1 - shift - fi - - # preserve --debug - test : = "$debug_cmd" || func_append preserve_args " --debug" - - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - test yes != "$build_libtool_libs" \ - && test yes != "$build_old_libs" \ - && func_fatal_configuration "not configured to build any kind of library" - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test execute != "$opt_mode"; then - func_error "unrecognized option '-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help=$help - help="Try '$progname --help --mode=$opt_mode' for more information." - } - - # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result -} -func_add_hook func_validate_options libtool_validate_options - - -# Process options as early as possible so that --help and --version -# can return quickly. -func_options ${1+"$@"} -eval set dummy "$func_options_result"; shift - - - -## ----------- ## -## Main. ## -## ----------- ## - -magic='%%%MAGIC variable%%%' -magic_exe='%%%MAGIC EXE variable%%%' - -# Global variables. -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# func_generated_by_libtool -# True iff stdin has been generated by Libtool. This function is only -# a basic sanity check; it will hardly flush out determined imposters. -func_generated_by_libtool_p () -{ - $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool '.la' library or '.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if 'file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case $lalib_p_line in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test yes = "$lalib_p" -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - test -f "$1" && - $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $debug_cmd - - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# 'FILE.' does not work on cygwin managed mounts. -func_source () -{ - $debug_cmd - - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case $lt_sysroot:$1 in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result='='$func_stripname_result - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $debug_cmd - - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with '--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=$1 - if test yes = "$build_libtool_libs"; then - write_lobj=\'$2\' - else - write_lobj=none - fi - - if test yes = "$build_old_libs"; then - write_oldobj=\'$3\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $debug_cmd - - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result= - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result"; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $debug_cmd - - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $debug_cmd - - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $debug_cmd - - if test -z "$2" && test -n "$1"; then - func_error "Could not determine host file name corresponding to" - func_error " '$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result=$1 - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $debug_cmd - - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " '$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result=$3 - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $debug_cmd - - case $4 in - $1 ) func_to_host_path_result=$3$func_to_host_path_result - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via '$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $debug_cmd - - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $debug_cmd - - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result=$1 -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result=$func_convert_core_msys_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result=$func_convert_core_file_wine_to_w32_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_file_result=$1 - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result=$func_cygpath_result - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via '$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $debug_cmd - - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd=func_convert_path_$func_stripname_result - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $debug_cmd - - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result=$1 -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_msys_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result=$func_convert_core_path_wine_to_w32_result - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $debug_cmd - - func_to_host_path_result=$1 - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result=$func_cygpath_result - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_dll_def_p FILE -# True iff FILE is a Windows DLL '.def' file. -# Keep in sync with _LT_DLL_DEF_P in libtool.m4 -func_dll_def_p () -{ - $debug_cmd - - func_dll_def_p_tmp=`$SED -n \ - -e 's/^[ ]*//' \ - -e '/^\(;.*\)*$/d' \ - -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ - -e q \ - "$1"` - test DEF = "$func_dll_def_p_tmp" -} - - -# func_mode_compile arg... -func_mode_compile () -{ - $debug_cmd - - # Get the compilation command and the source file. - base_compile= - srcfile=$nonopt # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg=$arg - arg_mode=normal - ;; - - target ) - libobj=$arg - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify '-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs=$IFS; IFS=, - for arg in $args; do - IFS=$save_ifs - func_append_quoted lastarg "$arg" - done - IFS=$save_ifs - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg=$srcfile - srcfile=$arg - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with '-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj=$func_basename_result - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from '$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test yes = "$build_libtool_libs" \ - || func_fatal_configuration "cannot build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name '$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname=$func_basename_result - xdir=$func_dirname_result - lobj=$xdir$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test yes = "$build_old_libs"; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test no = "$compiler_c_o"; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext - lockfile=$output_obj.lock - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test yes = "$need_locks"; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test warn = "$need_locks"; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test yes = "$build_libtool_libs"; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test no != "$pic_mode"; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test yes = "$suppress_opt"; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test yes = "$build_old_libs"; then - if test yes != "$pic_mode"; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test yes = "$compiler_c_o"; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test warn = "$need_locks" && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support '-c' and '-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test no != "$need_locks"; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test compile = "$opt_mode" && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a '.o' file suitable for static linking - -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a 'standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix '.c' with the -library object suffix, '.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to '-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the '--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the 'install' or 'cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE use a list of object files found in FILE to specify objects - -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with '-') are ignored. - -Every other argument is treated as a filename. Files ending in '.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in '.la', then a libtool library is created, -only library objects ('.lo' files) may be specified, and '-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created -using 'ar' and 'ranlib', or on Windows using 'lib'. - -If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode '$opt_mode'" - ;; - esac - - echo - $ECHO "Try '$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test : = "$opt_help"; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | $SED -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - $SED '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $debug_cmd - - # The first argument is the command name. - cmd=$nonopt - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "'$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "'$file' was not linked with '-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir=$func_dirname_result - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir=$func_dirname_result - ;; - - *) - func_warning "'-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir=$absdir - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic=$magic - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file=$progdir/$program - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file=$progdir/$program - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if $opt_dry_run; then - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - else - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd=\$cmd$args - fi -} - -test execute = "$opt_mode" && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $debug_cmd - - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "'$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument '$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and '=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_quiet && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the '-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the '$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the '$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the '$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test finish = "$opt_mode" && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $debug_cmd - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac - then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=false - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=: ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test X-m = "X$prev" && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the '$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=: - if $isdir; then - destdir=$dest - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir=$func_dirname_result - destname=$func_basename_result - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "'$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "'$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "'$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir=$func_dirname_result - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking '$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname=$1 - shift - - srcname=$realname - test -n "$relink_command" && srcname=${realname}T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme=$stripme - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme= - ;; - esac - ;; - os2*) - case $realname in - *_dll.a) - tstripme= - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try 'ln -sf' first, because the 'ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib=$destdir/$realname - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name=$func_basename_result - instname=$dir/${name}i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest=$destfile - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to '$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test yes = "$build_old_libs"; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile=$destdir/$destname - else - func_basename "$file" - destfile=$func_basename_result - destfile=$destdir/$destfile - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext= - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=.exe - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script '$wrapper'" - - finalize=: - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "'$lib' has not been installed in '$libdir'" - finalize=false - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test no = "$fast_install" && test -n "$relink_command"; then - $opt_dry_run || { - if $finalize; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file=$func_basename_result - outputname=$tmpdir/$file - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink '$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file=$outputname - else - func_warning "cannot relink '$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name=$func_basename_result - - # Set up the ranlib parameters. - oldlib=$destdir/$name - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run '$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test install = "$opt_mode" && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $debug_cmd - - my_outputname=$1 - my_originator=$2 - my_pic_p=${3-false} - my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms=${my_outputname}S.c - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist=$output_objdir/$my_outputname.nm - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE -/* DATA imports from DLLs on WIN32 can't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined __osf__ -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* External symbol declarations for the compiler. */\ -" - - if test yes = "$dlself"; then - func_verbose "generating symbol list for '$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from '$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols=$output_objdir/$outputname.exp - $opt_dry_run || { - $RM $export_symbols - eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from '$dlprefile'" - func_basename "$dlprefile" - name=$func_basename_result - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename= - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname"; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename=$func_basename_result - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename"; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - func_show_eval '$RM "${nlist}I"' - if test -n "$global_symbol_to_import"; then - eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[];\ -" - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ -static void lt_syminit(void) -{ - LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; - for (; symbol->name; ++symbol) - {" - $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" - echo >> "$output_objdir/$my_dlsyms" "\ - } -}" - fi - echo >> "$output_objdir/$my_dlsyms" "\ -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{ {\"$my_originator\", (void *) 0}," - - if test -s "$nlist"I; then - echo >> "$output_objdir/$my_dlsyms" "\ - {\"@INIT@\", (void *) <_syminit}," - fi - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - $my_pic_p && pic_flag_for_symtable=" $pic_flag" - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' - - # Transform the symbol file into the correct name. - symfileobj=$output_objdir/${my_outputname}S.$objext - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for '$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $debug_cmd - - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $debug_cmd - - win32_libid_type=unknown - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - case $nm_interface in - "MS dumpbin") - if func_cygming_ms_implib_p "$1" || - func_cygming_gnu_implib_p "$1" - then - win32_nmres=import - else - win32_nmres= - fi - ;; - *) - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s|.*|import| - p - q - } - }'` - ;; - esac - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $debug_cmd - - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $debug_cmd - - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive that possess that section. Heuristic: eliminate - # all those that have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $debug_cmd - - if func_cygming_gnu_implib_p "$1"; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1"; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result= - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $debug_cmd - - f_ex_an_ar_dir=$1; shift - f_ex_an_ar_oldlib=$1 - if test yes = "$lock_old_archive_extraction"; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test yes = "$lock_old_archive_extraction"; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $debug_cmd - - my_gentop=$1; shift - my_oldlibs=${1+"$@"} - my_oldobjs= - my_xlib= - my_xabs= - my_xdir= - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib=$func_basename_result - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir=$my_gentop/$my_xlib_u - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - func_basename "$darwin_archive" - darwin_base_archive=$func_basename_result - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches; do - func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" - $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" - cd "unfat-$$/$darwin_base_archive-$darwin_arch" - func_extract_an_archive "`pwd`" "$darwin_base_archive" - cd "$darwin_curdir" - $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result=$my_oldobjs -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory where it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ that is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options that match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test yes = "$fast_install"; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - \$ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) - -/* declarations of non-ANSI functions */ -#if defined __MINGW32__ -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined __CYGWIN__ -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined other_platform || defined ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined _MSC_VER -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -#elif defined __MINGW32__ -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined __CYGWIN__ -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined other platforms ... */ -#endif - -#if defined PATH_MAX -# define LT_PATHMAX PATH_MAX -#elif defined MAXPATHLEN -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ - defined __OS2__ -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free (stale); stale = 0; } \ -} while (0) - -#if defined LT_DEBUGWRAPPER -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - size_t tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined HAVE_DOS_BASED_FILE_SYSTEM - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined HAVE_DOS_BASED_FILE_SYSTEM - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = (size_t) (q - p); - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (STREQ (str, pat)) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - size_t len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - size_t orig_value_len = strlen (orig_value); - size_t add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - size_t len = strlen (new_value); - while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[--len] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $debug_cmd - - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_suncc_cstd_abi -# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! -# Several compiler flags select an ABI that is incompatible with the -# Cstd library. Avoid specifying it if any are in CXXFLAGS. -func_suncc_cstd_abi () -{ - $debug_cmd - - case " $compile_command " in - *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) - suncc_use_cstd_abi=no - ;; - *) - suncc_use_cstd_abi=yes - ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $debug_cmd - - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # what system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll that has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - os2dllname= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=false - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module=$wl-single_module - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test yes != "$build_libtool_libs" \ - && func_fatal_configuration "cannot build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg=$1 - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir=$arg - prev= - continue - ;; - dlfiles|dlprefiles) - $preload || { - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=: - } - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test no = "$dlself"; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test dlprefiles = "$prev"; then - dlself=yes - elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test dlfiles = "$prev"; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols=$arg - test -f "$arg" \ - || func_fatal_error "symbol file '$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex=$arg - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir=$arg - prev= - continue - ;; - mllvm) - # Clang does not use LLVM to link, so we can simply discard any - # '-mllvm $arg' options when doing the link step. - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - if test none != "$pic_object"; then - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - fi - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file '$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - os2dllname) - os2dllname=$arg - prev= - continue - ;; - precious_regex) - precious_files_regex=$arg - prev= - continue - ;; - release) - release=-$arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test rpath = "$prev"; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds=$arg - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg=$arg - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "'-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test X-export-symbols = "X$arg"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between '-L' and '$1'" - else - func_fatal_error "need path for '-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of '$dir'" - dir=$absdir - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test X-lc = "X$arg" || test X-lm = "X$arg"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test X-lc = "X$arg" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc due to us having libc/libc_r. - test X-lc = "X$arg" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test X-lc = "X$arg" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test X-lc = "X$arg" && continue - ;; - esac - elif test X-lc_r = "X$arg"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -mllvm) - prev=mllvm - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module=$wl-multi_module - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "'-no-install' is ignored for $host" - func_warning "assuming '-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -os2dllname) - prev=os2dllname - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs=$IFS; IFS=, - for flag in $args; do - IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS=$save_ifs - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # -fstack-protector* stack protector flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - # -specs=* GCC specs files - # -stdlib=* select c++ std lib with clang - # -fsanitize=* Clang/GCC memory and address sanitizer - # -fuse-ld=* Linker select flags for GCC - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - -Z*) - if test os2 = "`expr $host : '.*\(os2\)'`"; then - # OS/2 uses -Zxxx to specify OS/2-specific options - compiler_flags="$compiler_flags $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case $arg in - -Zlinker | -Zstack) - prev=xcompiler - ;; - esac - continue - else - # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - fi - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test none = "$pic_object" && - test none = "$non_pic_object"; then - func_fatal_error "cannot find name of object for '$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - test none = "$pic_object" || { - # Prepend the subdirectory the object is found in. - pic_object=$xdir$pic_object - - if test dlfiles = "$prev"; then - if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test dlprefiles = "$prev"; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg=$pic_object - } - - # Non-PIC object. - if test none != "$non_pic_object"; then - # Prepend the subdirectory the object is found in. - non_pic_object=$xdir$non_pic_object - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test none = "$pic_object"; then - arg=$non_pic_object - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object=$pic_object - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir=$func_dirname_result - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "'$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test dlfiles = "$prev"; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test dlprefiles = "$prev"; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the '$prevarg' option requires an argument" - - if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname=$func_basename_result - libobjs_save=$libobjs - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - # Definition is injected by LT_CONFIG during libtool generation. - func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" - - func_dirname "$output" "/" "" - output_objdir=$func_dirname_result$objdir - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test lib = "$linkmode"; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=false - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test lib,link = "$linkmode,$pass"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs=$tmp_deplibs - fi - - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass"; then - libs=$deplibs - deplibs= - fi - if test prog = "$linkmode"; then - case $pass in - dlopen) libs=$dlfiles ;; - dlpreopen) libs=$dlprefiles ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test lib,dlpreopen = "$linkmode,$pass"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs=$dlprefiles - fi - if test dlopen = "$pass"; then - # Collect dlpreopened libraries - save_deplibs=$deplibs - deplibs= - fi - - for deplib in $libs; do - lib= - found=false - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test lib != "$linkmode" && test prog != "$linkmode"; then - func_warning "'-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test lib = "$linkmode"; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib=$searchdir/lib$name$search_ext - if test -f "$lib"; then - if test .la = "$search_ext"; then - found=: - else - found=false - fi - break 2 - fi - done - done - if $found; then - # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll=$l - done - if test "X$ll" = "X$old_library"; then # only static version available - found=false - func_dirname "$lib" "" "." - ladir=$func_dirname_result - lib=$ladir/$old_library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - else - # deplib doesn't seem to be a libtool library - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - ;; # -l - *.ltframework) - if test prog,link = "$linkmode,$pass"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test lib = "$linkmode"; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test conv = "$pass" && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - if test scan = "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "'-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test link = "$pass"; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=false - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=: - fi - ;; - pass_all) - valid_a_lib=: - ;; - esac - if $valid_a_lib; then - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - else - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - fi - ;; - esac - continue - ;; - prog) - if test link != "$pass"; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test conv = "$pass"; then - deplibs="$deplib $deplibs" - elif test prog = "$linkmode"; then - if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=: - continue - ;; - esac # case $deplib - - $found || test -f "$lib" \ - || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "'$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir=$func_dirname_result - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test lib,link = "$linkmode,$pass" || - test prog,scan = "$linkmode,$pass" || - { test prog != "$linkmode" && test lib != "$linkmode"; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test conv = "$pass"; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test prog != "$linkmode" && test lib != "$linkmode"; then - func_fatal_error "'$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test yes = "$prefer_static_libs" || - test built,no = "$prefer_static_libs,$installed"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib=$l - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for '$lib'" - fi - - # This library was specified with -dlopen. - if test dlopen = "$pass"; then - test -z "$libdir" \ - && func_fatal_error "cannot -dlopen a convenience library: '$lib'" - if test -z "$dlname" || - test yes != "$dlopen_support" || - test no = "$build_libtool_libs" - then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of '$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir=$ladir - fi - ;; - esac - func_basename "$lib" - laname=$func_basename_result - - # Find the relevant object directory and library name. - if test yes = "$installed"; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library '$lib' was moved." - dir=$ladir - absdir=$abs_ladir - libdir=$abs_ladir - else - dir=$lt_sysroot$libdir - absdir=$lt_sysroot$libdir - fi - test yes = "$hardcode_automatic" && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir=$ladir - absdir=$abs_ladir - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir=$ladir/$objdir - absdir=$abs_ladir/$objdir - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test dlpreopen = "$pass"; then - if test -z "$libdir" && test prog = "$linkmode"; then - func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" - fi - case $host in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test lib = "$linkmode"; then - deplibs="$dir/$old_library $deplibs" - elif test prog,link = "$linkmode,$pass"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test prog = "$linkmode" && test link != "$pass"; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=false - if test no != "$link_all_deplibs" || test -z "$library_names" || - test no = "$build_libtool_libs"; then - linkalldeplibs=: - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if $linkalldeplibs; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test prog,link = "$linkmode,$pass"; then - if test -n "$library_names" && - { { test no = "$prefer_static_libs" || - test built,yes = "$prefer_static_libs,$installed"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then - # Make sure the rpath contains only unique directories. - case $temp_rpath: in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if $alldeplibs && - { test pass_all = "$deplibs_check_method" || - { test yes = "$build_libtool_libs" && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test built = "$use_static_libs" && test yes = "$installed"; then - use_static_libs=no - fi - if test -n "$library_names" && - { test no = "$use_static_libs" || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc* | *os2*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test no = "$installed"; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule= - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule=$dlpremoduletest - break - fi - done - if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then - echo - if test prog = "$linkmode"; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test lib = "$linkmode" && - test yes = "$hardcode_into_libs"; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname=$1 - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname=$dlname - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc* | *os2*) - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - esac - eval soname=\"$soname_spec\" - else - soname=$realname - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot=$soname - func_basename "$soroot" - soname=$func_basename_result - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from '$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for '$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test prog = "$linkmode" || test relink != "$opt_mode"; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test no = "$hardcode_direct"; then - add=$dir/$linklib - case $host in - *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; - *-*-sysv4*uw2*) add_dir=-L$dir ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir=-L$dir ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we cannot - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library"; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add=$dir/$old_library - fi - elif test -n "$old_library"; then - add=$dir/$old_library - fi - fi - esac - elif test no = "$hardcode_minus_L"; then - case $host in - *-*-sunos*) add_shlibpath=$dir ;; - esac - add_dir=-L$dir - add=-l$name - elif test no = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - relink) - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$dir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$absdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - add_shlibpath=$dir - add=-l$name - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test yes != "$lib_linked"; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test prog = "$linkmode"; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test yes != "$hardcode_direct" && - test yes != "$hardcode_minus_L" && - test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test prog = "$linkmode" || test relink = "$opt_mode"; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test yes = "$hardcode_direct" && - test no = "$hardcode_direct_absolute"; then - add=$libdir/$linklib - elif test yes = "$hardcode_minus_L"; then - add_dir=-L$libdir - add=-l$name - elif test yes = "$hardcode_shlibpath_var"; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add=-l$name - elif test yes = "$hardcode_automatic"; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib"; then - add=$inst_prefix_dir$libdir/$linklib - else - add=$libdir/$linklib - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir=-L$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add=-l$name - fi - - if test prog = "$linkmode"; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test prog = "$linkmode"; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test unsupported != "$hardcode_direct"; then - test -n "$old_library" && linklib=$old_library - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test yes = "$build_libtool_libs"; then - # Not a shared library - if test pass_all != "$deplibs_check_method"; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system cannot link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test yes = "$module"; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test lib = "$linkmode"; then - if test -n "$dependency_libs" && - { test yes != "$hardcode_into_libs" || - test yes = "$build_old_libs" || - test yes = "$link_static"; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs=$temp_deplibs - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test no != "$link_all_deplibs"; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path=$deplib ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of '$dir'" - absdir=$dir - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names"; then - for tmp in $deplibrary_names; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl"; then - depdepl=$absdir/$objdir/$depdepl - darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" - func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" - path= - fi - fi - ;; - *) - path=-L$absdir/$objdir - ;; - esac - else - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "'$deplib' seems to be moved" - - path=-L$absdir - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test link = "$pass"; then - if test prog = "$linkmode"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs=$newdependency_libs - if test dlpreopen = "$pass"; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test dlopen != "$pass"; then - test conv = "$pass" || { - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - } - - if test prog,link = "$linkmode,$pass"; then - vars="compile_deplibs finalize_deplibs" - else - vars=deplibs - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - - # Add Sun CC postdeps if required: - test CXX = "$tagname" && { - case $host_os in - linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C++ 5.9 - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - - solaris*) - func_cc_basename "$CC" - case $func_cc_basename_result in - CC* | sunCC*) - func_suncc_cstd_abi - - if test no != "$suncc_use_cstd_abi"; then - func_append postdeps ' -library=Cstd -library=Crun' - fi - ;; - esac - ;; - esac - } - - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i= - ;; - esac - if test -n "$i"; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test prog = "$linkmode"; then - dlfiles=$newdlfiles - fi - if test prog = "$linkmode" || test lib = "$linkmode"; then - dlprefiles=$newdlprefiles - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "'-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "'-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs=$output - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form 'libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test no = "$module" \ - && func_fatal_help "libtool library '$output' must begin with 'lib'" - - if test no != "$need_lib_prefix"; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test pass_all != "$deplibs_check_method"; then - func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test no = "$dlself" \ - || func_warning "'-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test 1 -lt "$#" \ - && func_warning "ignoring multiple '-rpath's for a libtool library" - - install_libdir=$1 - - oldlibs= - if test -z "$rpath"; then - if test yes = "$build_libtool_libs"; then - # Building a libtool convenience library. - # Some compilers have problems with a '.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "'-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "'-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs=$IFS; IFS=: - set dummy $vinfo 0 0 0 - shift - IFS=$save_ifs - - test -n "$7" && \ - func_fatal_help "too many parameters to '-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major=$1 - number_minor=$2 - number_revision=$3 - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # that has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_revision - ;; - freebsd-aout|qnx|sunos) - current=$number_major - revision=$number_minor - age=0 - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age=$number_minor - revision=$number_minor - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type '$version_type'" - ;; - esac - ;; - no) - current=$1 - revision=$2 - age=$3 - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT '$current' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION '$revision' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE '$age' must be a nonnegative integer" - func_fatal_error "'$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE '$age' is greater than the current interface number '$current'" - func_fatal_error "'$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - # On Darwin other compilers - case $CC in - nagfor*) - verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" - ;; - *) - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - esac - ;; - - freebsd-aout) - major=.$current - versuffix=.$current.$revision - ;; - - freebsd-elf) - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - irix | nonstopux) - if test no = "$lt_irix_increment"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring=$verstring_prefix$major.$revision - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test 0 -ne "$loop"; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring_prefix$major.$iface:$verstring - done - - # Before this point, $major must not contain '.'. - major=.$major - versuffix=$major.$revision - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix=$major.$age.$revision - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=.$current.$age.$revision - verstring=$current.$age.$revision - - # Add in all the interfaces that we are compatible with. - loop=$age - while test 0 -ne "$loop"; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring=$verstring:$iface.0 - done - - # Make executables depend on our current version. - func_append verstring ":$current.0" - ;; - - qnx) - major=.$current - versuffix=.$current - ;; - - sco) - major=.$current - versuffix=.$current - ;; - - sunos) - major=.$current - versuffix=.$current.$revision - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 file systems. - func_arith $current - $age - major=$func_arith_result - versuffix=-$major - ;; - - *) - func_fatal_configuration "unknown library version type '$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring=0.0 - ;; - esac - if test no = "$need_version"; then - versuffix= - else - versuffix=.0.0 - fi - fi - - # Remove version info from name if versioning should be avoided - if test yes,no = "$avoid_version,$need_version"; then - major= - versuffix= - verstring= - fi - - # Check to see if the archive will have undefined symbols. - if test yes = "$allow_undefined"; then - if test unsupported = "$allow_undefined_flag"; then - if test yes = "$build_old_libs"; then - func_warning "undefined symbols not allowed in $host shared libraries; building static only" - build_libtool_libs=no - else - func_fatal_error "can't build $host shared library unless -no-undefined is specified" - fi - fi - else - # Don't allow undefined symbols. - allow_undefined_flag=$no_undefined_flag - fi - - fi - - func_generate_dlsyms "$libname" "$libname" : - func_append libobjs " $symfileobj" - test " " = "$libobjs" && libobjs= - - if test relink != "$opt_mode"; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) - if test -n "$precious_files_regex"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles=$dlfiles - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles=$dlprefiles - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test yes = "$build_libtool_libs"; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test yes = "$build_libtool_need_lc"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release= - versuffix= - major= - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib=$potent_lib - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | $SED 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; - *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib= - ;; - esac - fi - if test -n "$a_deplib"; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib=$potent_lib # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib= - break 2 - fi - done - done - fi - if test -n "$a_deplib"; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib"; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs= - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test yes = "$allow_libtool_libs_with_static_runtimes"; then - for i in $predeps $postdeps; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test none = "$deplibs_check_method"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test yes = "$droppeddeps"; then - if test yes = "$module"; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using 'nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** 'nm' from GNU binutils and a full rebuild may help." - fi - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test no = "$allow_undefined"; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test no = "$build_old_libs"; then - oldlibs=$output_objdir/$libname.$libext - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs=$new_libs - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test yes = "$build_libtool_libs"; then - # Remove $wl instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test yes = "$hardcode_into_libs"; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath=$finalize_rpath - test relink = "$opt_mode" || rpath=$compile_rpath$rpath - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath=$finalize_shlibpath - test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname=$1 - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname=$realname - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib=$output_objdir/$realname - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols=$output_objdir/$libname.uexp - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - func_dll_def_p "$export_symbols" || { - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols=$export_symbols - export_symbols= - always_export_symbols=yes - } - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs=$IFS; IFS='~' - for cmd1 in $cmds; do - IFS=$save_ifs - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test yes = "$try_normal_branch" \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=$output_objdir/$output_la.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS=$save_ifs - if test -n "$export_symbols_regex" && test : != "$skipped_export"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test : != "$skipped_export" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs=$tmp_deplibs - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test yes = "$compiler_needs_object" && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test : != "$skipped_export" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then - output=$output_objdir/$output_la.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test yes = "$compiler_needs_object"; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-$k.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test -z "$objlist" || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test 1 -eq "$k"; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-$k.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-$k.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - ${skipped_export-false} && { - func_verbose "generating symbol list for '$libname.la'" - export_symbols=$output_objdir/$libname.exp - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - } - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs=$IFS; IFS='~' - for cmd in $concat_cmds; do - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - ${skipped_export-false} && { - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols=$export_symbols - test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for '$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands, which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - } - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test yes = "$module" && test -n "$module_cmds"; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs=$IFS; IFS='~' - for cmd in $cmds; do - IFS=$sp$nl - eval cmd=\"$cmd\" - IFS=$save_ifs - $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS=$save_ifs - - # Restore the uninstalled library and exit - if test relink = "$opt_mode"; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test yes = "$module" || test yes = "$export_dynamic"; then - # On all known operating systems, these are identical. - dlname=$soname - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then - func_warning "'-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "'-l' and '-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "'-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "'-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "'-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object '$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj=$output - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # if reload_cmds runs $LD directly, get rid of -Wl from - # whole_archive_flag_spec and hope we can get by with turning comma - # into space. - case $reload_cmds in - *\$LD[\ \$]*) wl= ;; - esac - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags - else - gentop=$output_objdir/${obj}x - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test yes = "$build_libtool_libs" || libobjs=$non_pic_objects - - # Create the old-style object. - reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs - - output=$obj - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - test yes = "$build_libtool_libs" || { - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - } - - if test -n "$pic_flag" || test default != "$pic_mode"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output=$libobj - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "'-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "'-release' is ignored for programs" - - $preload \ - && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ - && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test CXX = "$tagname"; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " $wl-bind_at_load" - func_append finalize_command " $wl-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs=$new_libs - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath=$rpath - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs=$libdir - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir=$hardcode_libdirs - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath=$rpath - - if test -n "$libobjs" && test yes = "$build_old_libs"; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" false - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=: - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=false - ;; - *cygwin* | *mingw* ) - test yes = "$build_libtool_libs" || wrappers_required=false - ;; - *) - if test no = "$need_relink" || test yes != "$build_libtool_libs"; then - wrappers_required=false - fi - ;; - esac - $wrappers_required || { - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command=$compile_command$compile_rpath - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.$objext"; then - func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' - fi - - exit $exit_status - } - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test yes = "$no_install"; then - # We don't need to create a wrapper script. - link_command=$compile_var$compile_command$compile_rpath - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - case $hardcode_action,$fast_install in - relink,*) - # Fast installation is not supported - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "'$output' will be relinked during installation" - ;; - *,yes) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - ;; - *,no) - link_command=$compile_var$compile_command$compile_rpath - relink_command=$finalize_var$finalize_command$finalize_rpath - ;; - *,needless) - link_command=$finalize_var$compile_command$finalize_rpath - relink_command= - ;; - esac - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource=$output_path/$objdir/lt-$output_name.c - cwrapper=$output_path/$output_name.exe - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host"; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - case $build_libtool_libs in - convenience) - oldobjs="$libobjs_save $symfileobj" - addlibs=$convenience - build_libtool_libs=no - ;; - module) - oldobjs=$libobjs_save - addlibs=$old_convenience - build_libtool_libs=no - ;; - *) - oldobjs="$old_deplibs $non_pic_objects" - $preload && test -f "$symfileobj" \ - && func_append oldobjs " $symfileobj" - addlibs=$old_convenience - ;; - esac - - if test -n "$addlibs"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop=$output_objdir/${outputname}x - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase=$func_basename_result - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj"; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test -z "$oldobjs"; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test yes = "$build_old_libs" && old_library=$libname.$libext - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test yes = "$hardcode_automatic"; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test yes = "$installed"; then - if test -z "$install_libdir"; then - break - fi - output=$output_objdir/${outputname}i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name=$func_basename_result - func_resolve_sysroot "$deplib" - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "'$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs=$newdependency_libs - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name=$func_basename_result - eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "'$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles=$newdlprefiles - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles=$newdlfiles - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles=$newdlprefiles - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test -n "$bindir"; then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result/$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that cannot go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test no,yes = "$installed,$need_relink"; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -if test link = "$opt_mode" || test relink = "$opt_mode"; then - func_mode_link ${1+"$@"} -fi - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $debug_cmd - - RM=$nonopt - files= - rmforce=false - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic=$magic - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=: ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir=$func_dirname_result - if test . = "$dir"; then - odir=$objdir - else - odir=$dir/$objdir - fi - func_basename "$file" - name=$func_basename_result - test uninstall = "$opt_mode" && odir=$dir - - # Remember odir for removal later, being careful to avoid duplicates - if test clean = "$opt_mode"; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif $rmforce; then - continue - fi - - rmfiles=$file - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case $opt_mode in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && test none != "$pic_object"; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && test none != "$non_pic_object"; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test clean = "$opt_mode"; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.$objext" - if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name"; then - func_append rmfiles " $odir/lt-$noexename.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the $objdir's in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then - func_mode_uninstall ${1+"$@"} -fi - -test -z "$opt_mode" && { - help=$generic_help - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode '$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# where we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/src/_nfdos/e2fsprogs/config/mkinstalldirs b/src/_nfdos/e2fsprogs/config/mkinstalldirs deleted file mode 100755 index 4f58503..0000000 --- a/src/_nfdos/e2fsprogs/config/mkinstalldirs +++ /dev/null @@ -1,40 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/src/_nfdos/e2fsprogs/config/parse-types.sh b/src/_nfdos/e2fsprogs/config/parse-types.sh deleted file mode 100755 index 24d2a99..0000000 --- a/src/_nfdos/e2fsprogs/config/parse-types.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/sh - -cat > sed.script << "EOF" -/^#/d -/^$/d -s/__extension__ // -s/typedef \(.*\) __u\([1-9]*\);/#define __U\2_TYPEDEF \1/ -s/typedef \(.*\) __s\([1-9]*\);/#define __S\2_TYPEDEF \1/ -EOF - -if test -z "$CC"; then - CC=gcc -fi - -if test -z "$CPP"; then - CPP="$CC -E" -fi - -/bin/echo -n "checking for __uNN types... " -# can't check [ -f /usr/include/asm/types.h ] directly, since -# the include path might be different if cross-compiling -if echo '#include ' | $CPP - 2> parse-types.log | \ - sed -f sed.script | grep '^#' > asm_types.h; then - echo "using " -else - echo "using generic types" -fi - -rm sed.script - -cp asm_types.h asm_types.c - -cat >> asm_types.c < -#include -int main(int argc, char **argv) -{ -#ifdef __U8_TYPEDEF - if (sizeof(__U8_TYPEDEF) != 1) { - printf("Sizeof(__U8__TYPEDEF) is %d should be 1\n", - (int) sizeof(__U8_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __U8_TYPEDEF not defined -#endif -#ifdef __S8_TYPEDEF - if (sizeof(__S8_TYPEDEF) != 1) { - printf("Sizeof(_S8__TYPEDEF) is %d should be 1\n", - (int) sizeof(__S8_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __S8_TYPEDEF not defined -#endif -#ifdef __U16_TYPEDEF - if (sizeof(__U16_TYPEDEF) != 2) { - printf("Sizeof(__U16__TYPEDEF) is %d should be 2\n", - (int) sizeof(__U16_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __U16_TYPEDEF not defined -#endif -#ifdef __S16_TYPEDEF - if (sizeof(__S16_TYPEDEF) != 2) { - printf("Sizeof(__S16__TYPEDEF) is %d should be 2\n", - (int) sizeof(__S16_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __S16_TYPEDEF not defined -#endif - -#ifdef __U32_TYPEDEF - if (sizeof(__U32_TYPEDEF) != 4) { - printf("Sizeof(__U32__TYPEDEF) is %d should be 4\n", - (int) sizeof(__U32_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __U32_TYPEDEF not defined -#endif -#ifdef __S32_TYPEDEF - if (sizeof(__S32_TYPEDEF) != 4) { - printf("Sizeof(__S32__TYPEDEF) is %d should be 4\n", - (int) sizeof(__S32_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __S32_TYPEDEF not defined -#endif - -#ifdef __U64_TYPEDEF - if (sizeof(__U64_TYPEDEF) != 8) { - printf("Sizeof(__U64__TYPEDEF) is %d should be 8\n", - (int) sizeof(__U64_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __U64_TYPEDEF not defined -#endif -#ifdef __S64_TYPEDEF - if (sizeof(__S64_TYPEDEF) != 8) { - printf("Sizeof(__S64__TYPEDEF) is %d should be 8\n", - (int) sizeof(__S64_TYPEDEF)); - exit(1); - } -#elif defined(__linux__) -#warning __S64_TYPEDEF not defined -#endif - return 0; -} -EOF - -${BUILD_CC-${CC-gcc}} -o asm_types asm_types.c -if ./asm_types -then - true -else - if [ "${CROSS_COMPILE}" != "1" ]; then - echo "Problem detected with asm_types.h" - echo "" > asm_types.h - fi -fi -rm asm_types.c asm_types - diff --git a/src/_nfdos/e2fsprogs/configure.ac b/src/_nfdos/e2fsprogs/configure.ac deleted file mode 100644 index 017a96f..0000000 --- a/src/_nfdos/e2fsprogs/configure.ac +++ /dev/null @@ -1,1932 +0,0 @@ -AC_INIT -AC_CONFIG_SRCDIR([version.h]) -AC_PREREQ([2.71]) -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_HEADERS([lib/config.h]) -AH_BOTTOM([#include ]) -AC_USE_SYSTEM_EXTENSIONS -MCONFIG=./MCONFIG -AC_SUBST_FILE(MCONFIG) -BINARY_TYPE=bin -dnl -dnl This is to figure out the version number and the date.... -dnl -E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \ - | awk '{print $3}' | tr \" " " | awk '{print $1}'` -E2FSPROGS_DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \ - | tr \" " " | awk '{print $1}'` -E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{print $1}' | sed -e '/^[[1-9]]$/s/^/0/') -MONTH=`echo $E2FSPROGS_DATE | awk -F- '{print $2}'` -YEAR=`echo $E2FSPROGS_DATE | awk -F- '{print $3}'` - -if expr $YEAR ">" 1900 > /dev/null ; then - E2FSPROGS_YEAR=$YEAR -elif expr $YEAR ">" 90 >/dev/null ; then - E2FSPROGS_YEAR=19$YEAR -else - E2FSPROGS_YEAR=20$YEAR -fi - -case $MONTH in -Jan) MONTH_NUM=01; E2FSPROGS_MONTH="January" ;; -Feb) MONTH_NUM=02; E2FSPROGS_MONTH="February" ;; -Mar) MONTH_NUM=03; E2FSPROGS_MONTH="March" ;; -Apr) MONTH_NUM=04; E2FSPROGS_MONTH="April" ;; -May) MONTH_NUM=05; E2FSPROGS_MONTH="May" ;; -Jun) MONTH_NUM=06; E2FSPROGS_MONTH="June" ;; -Jul) MONTH_NUM=07; E2FSPROGS_MONTH="July" ;; -Aug) MONTH_NUM=08; E2FSPROGS_MONTH="August" ;; -Sep) MONTH_NUM=09; E2FSPROGS_MONTH="September" ;; -Oct) MONTH_NUM=10; E2FSPROGS_MONTH="October" ;; -Nov) MONTH_NUM=11; E2FSPROGS_MONTH="November" ;; -Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;; -*) AC_MSG_WARN([Unknown month $MONTH??]) ;; -esac - -base_ver=`echo $E2FSPROGS_VERSION | \ - sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'` - -date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY} - -case $E2FSPROGS_VERSION in -*-WIP|pre-*) - E2FSPROGS_PKGVER="$base_ver~WIP.$date_spec" - ;; -*) - E2FSPROGS_PKGVER="$base_ver" - ;; -esac - -unset DATE MONTH YEAR base_ver pre_vers date_spec -AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION]) -AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}]) -AC_SUBST(E2FSPROGS_YEAR) -AC_SUBST(E2FSPROGS_MONTH) -AC_SUBST(E2FSPROGS_DAY) -AC_SUBST(E2FSPROGS_VERSION) -AC_SUBST(E2FSPROGS_PKGVER) -AC_SUBST(E2FSPROGS_DATE) -dnl -dnl Use diet libc -dnl -WITH_DIET_LIBC= -AC_ARG_WITH([diet-libc], -AS_HELP_STRING([--with-diet-libc],[use diet libc]), -CC="diet cc -nostdinc" -WITH_DIET_LIBC=yes -if test -z "$LIBS" -then - LIBS="-lcompat" -else - LIBS="$LIBS -lcompat" -fi -AC_MSG_RESULT(CC=$CC))dnl -dnl -AC_CANONICAL_HOST -dnl -dnl Check to see if libdl exists for the sake of dlopen -dnl -DLOPEN_LIB='' -AC_CHECK_LIB(dl, dlopen,DLOPEN_LIB=-ldl) -AC_SUBST(DLOPEN_LIB) -dnl -AC_ARG_WITH([cc], -AS_HELP_STRING([--with-cc],[no longer supported, use CC= instead]), -AC_MSG_ERROR([--with-cc no longer supported; use CC= instead])) -dnl -AC_ARG_WITH([ccopts], -AS_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]), -AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead])) -dnl -AC_ARG_WITH([ldopts], -AS_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]), -AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead])) -dnl -AC_PROG_CC -if test "$GCC" = yes; then - RDYNAMIC="-rdynamic" - AC_SUBST(RDYNAMIC) -fi -AC_PROG_CPP -dnl -dnl Alpha computers use fast and imprecise floating point code that may -dnl miss exceptions by default. Force sane options if we're using GCC. -AC_MSG_CHECKING(for additional special compiler flags) -if test "$GCC" = yes -then - case "$host_cpu" in - alpha) addcflags="-mieee" ;; - esac -fi -if test "x$addcflags" != x -then - AC_MSG_RESULT($addcflags) - CFLAGS="$addcflags $CFLAGS" -else - AC_MSG_RESULT([[(none)]]) -fi -dnl -dnl Set default values for library extensions. Will be dealt with after -dnl parsing configuration options, which may modify these -dnl -LIB_EXT=.a -STATIC_LIB_EXT=.a -PROFILED_LIB_EXT=.a -dnl -dnl Allow separate `root_prefix' to be specified -dnl -AC_ARG_WITH([root-prefix], -AS_HELP_STRING([--with-root-prefix=PREFIX],[override prefix variable for files to be placed in the root]), -root_prefix=$withval, -root_prefix=NONE)dnl -dnl -dnl handle --enable-maintainer-mode -dnl -AC_ARG_ENABLE([maintainer-mode], -AS_HELP_STRING([--enable-maintainer-mode],[enable makefile rules useful for maintainers]), -if test "$enableval" = "no" -then - MAINTAINER_CMT=# - AC_MSG_RESULT([Disabling maintainer mode]) -else - MAINTAINER_CMT= - AC_MSG_RESULT([Enabling maintainer mode]) -fi -, -MAINTAINER_CMT=# -AC_MSG_RESULT([Disabling maintainer mode by default]) -) -AC_SUBST(MAINTAINER_CMT) -dnl -dnl handle --enable-symlink-install -dnl -AC_ARG_ENABLE([symlink-install], -AS_HELP_STRING([--enable-symlink-install],[use symlinks when installing instead of hard links]), -if test "$enableval" = "no" -then - LINK_INSTALL_FLAGS=-f - AC_MSG_RESULT([Disabling symlinks for install]) -else - LINK_INSTALL_FLAGS=-sf - AC_MSG_RESULT([Enabling symlinks for install]) -fi -, -LINK_INSTALL_FLAGS=-f -AC_MSG_RESULT([Disabling symlinks for install by default]) -) -AC_SUBST(LINK_INSTALL_FLAGS) -dnl -dnl handle --enable-relative-symlinks -dnl -relative_symlink_defined= -AC_ARG_ENABLE([relative-symlinks], -AS_HELP_STRING([--enable-relative-symlinks],[use relative symlinks when installing]), -if test "$enableval" = "no" -then - SYMLINK_RELATIVE= - relative_symlink_defined=yes - AC_MSG_RESULT([Disabling relative symlinks for install]) -else - SYMLINK_RELATIVE=--relative - relative_symlink_defined=yes - AC_MSG_RESULT([Enabling relative symlinks for install]) -fi) -AC_ARG_ENABLE([symlink-relative-symlinks],, -if test "$enableval" = "no" -then - SYMLINK_RELATIVE=yes - AC_MSG_RESULT([Disabling relative symlinks for install]) -else - SYMLINK_RELATIVE=--relative - AC_MSG_RESULT([Enabling relative symlinks for install]) -fi -, -if test -z "$relative_symlink_defined" -then - SYMLINK_RELATIVE= -AC_MSG_RESULT([Disabling relative symlinks for install by default]) -fi -) -AC_SUBST(SYMLINK_RELATIVE) -dnl -dnl handle --enable-symlink-build -dnl -AC_ARG_ENABLE([symlink-build], -AS_HELP_STRING([--enable-symlink-build],[use symlinks while building instead of hard links]), -if test "$enableval" = "no" -then - LINK_BUILD_FLAGS= - AC_MSG_RESULT([Disabling symlinks for build]) -else - LINK_BUILD_FLAGS=-s - AC_MSG_RESULT([Enabling symlinks for build]) -fi -, -LINK_BUILD_FLAGS= -AC_MSG_RESULT([Disabling symlinks for build by default]) -) -AC_SUBST(LINK_BUILD_FLAGS) -dnl -dnl handle --enable-verbose-makecmds -dnl -AC_ARG_ENABLE([verbose-makecmds], -AS_HELP_STRING([--enable-verbose-makecmds],[enable verbose make command output]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling verbose make commands]) - E=@echo - ES=echo - Q=@ -else - AC_MSG_RESULT([Enabling verbose make commands]) - E=@\\# - ES=\\# - Q= -fi -, -AC_MSG_RESULT([Disabling verbose make commands]) -E=@echo -ES=echo -Q=@ -) -AC_SUBST(E) -AC_SUBST(ES) -AC_SUBST(Q) -dnl -dnl This needs to be before all of the --enable-*-shlibs options -dnl -E2_PKG_CONFIG_STATIC=--static -LDFLAG_DYNAMIC= -PRIVATE_LIBS_CMT= -dnl -dnl handle --enable-elf-shlibs -dnl -AC_ARG_ENABLE([elf-shlibs], -AS_HELP_STRING([--enable-elf-shlibs],[select ELF shared libraries]), -if test "$enableval" = "no" -then - ELF_CMT=# - MAKEFILE_ELF=/dev/null - AC_MSG_RESULT([Disabling ELF shared libraries]) -else - E2_PKG_CONFIG_STATIC= - ELF_CMT= - MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib - [case "$host_os" in - solaris2.*) - MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib - ;; - esac] - BINARY_TYPE=elfbin - LIB_EXT=.so - PRIVATE_LIBS_CMT=# - LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib'] - AC_MSG_RESULT([Enabling ELF shared libraries]) -fi -, -MAKEFILE_ELF=/dev/null -ELF_CMT=# -AC_MSG_RESULT([Disabling ELF shared libraries by default]) -) -AC_SUBST(ELF_CMT) -AC_SUBST_FILE(MAKEFILE_ELF) -dnl -dnl handle --enable-bsd-shlibs -dnl -AC_ARG_ENABLE([bsd-shlibs], -AS_HELP_STRING([--enable-bsd-shlibs],[select BSD shared libraries]), -if test "$enableval" = "no" -then - BSDLIB_CMT=# - MAKEFILE_BSDLIB=/dev/null - AC_MSG_RESULT([Disabling BSD shared libraries]) -else - E2_PKG_CONFIG_STATIC= - BSDLIB_CMT= - MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib - LIB_EXT=.so - [case "$host_os" in - darwin*) - MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib - LIB_EXT=.dylib - ;; - esac] - AC_MSG_RESULT([Enabling BSD shared libraries]) -fi -, -MAKEFILE_BSDLIB=/dev/null -BSDLIB_CMT=# -AC_MSG_RESULT([Disabling BSD shared libraries by default]) -) -AC_SUBST(BSDLIB_CMT) -AC_SUBST_FILE(MAKEFILE_BSDLIB) -dnl -dnl handle --enable-profile -dnl -AC_ARG_ENABLE([profile], -AS_HELP_STRING([--enable-profile],[build profiling libraries]), -if test "$enableval" = "no" -then - PROFILE_CMT=# - MAKEFILE_PROFILE=/dev/null - AC_MSG_RESULT([Disabling profiling libraries]) -else - PROFILE_CMT= - MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile - PROFILED_LIB_EXT=_p.a - AC_MSG_RESULT([Building profiling libraries]) -fi -, -PROFILE_CMT=# -MAKEFILE_PROFILE=/dev/null -AC_MSG_RESULT([Disabling profiling libraries by default]) -) -AC_SUBST(PROFILE_CMT) -AC_SUBST_FILE(MAKEFILE_PROFILE) -dnl -dnl handle --enable-gcov -dnl -AC_ARG_ENABLE([gcov], -AS_HELP_STRING([--enable-gcov],[build for coverage testing using gcov]), -if test "$enableval" = "yes" -then - CFLAGS="-g -fprofile-arcs -ftest-coverage" - LDFLAGS="-fprofile-arcs -ftest-coverage" - AC_MSG_RESULT([Enabling gcov support]) -fi -) -dnl -dnl handle --enable-hardening -dnl -CFLAGS_SHLIB="${CFLAGS_SHLIB:-$CFLAGS}" -CFLAGS_STLIB="${CFLAGS_STLIB:-$CFLAGS}" -LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS} -LDFLAGS_STATIC=${LDFLAGS_STATIC:-$LDFLAGS} -AC_ARG_ENABLE([hardening], -AS_HELP_STRING([--enable-hardening],[build for coverage testing using gcov]), -if test "$enableval" = "yes" -then - HARDEN_CFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong" - HARDEN_LDFLAGS=["-Wl,-z,relro -Wl,-z,now"] - CFLAGS="$CFLAGS $HARDEN_CFLAGS -fPIE" - CFLAGS_SHLIB="$CFLAGS_SHLIB $HARDEN_CFLAGS" - CFLAGS_STLIB="$CFLAGS_STLIB $HARDEN_CFLAGS -fPIE" - LDFLAGS="$LDFLAGS $HARDEN_LDFLAGS -fPIE -pie" - LDFLAGS_STATIC="$LDFLAGS_STATIC $HARDEN_LDFLAGS" - LDFLAGS_SHLIB="$LDFLAGS_SHLIB $HARDEN_LDFLAGS" - AC_MSG_RESULT([Enabling hardening support]) -fi -) -dnl -dnl Substitute library extensions -dnl -AC_SUBST(LIB_EXT) -AC_SUBST(STATIC_LIB_EXT) -AC_SUBST(PROFILED_LIB_EXT) -AC_SUBST(LDFLAG_DYNAMIC) -AC_SUBST(PRIVATE_LIBS_CMT) -dnl -dnl handle --enable-jbd-debug -dnl -AC_ARG_ENABLE([jbd-debug], -AS_HELP_STRING([--enable-jbd-debug],[enable journal debugging]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling journal debugging]) -else - AC_DEFINE(CONFIG_JBD_DEBUG, 1, - [Define to 1 if debugging ext3/4 journal code]) - AC_MSG_RESULT([Enabling journal debugging]) -fi -, -AC_MSG_RESULT([Disabling journal debugging by default]) -) -dnl -dnl handle --enable-blkid-debug -dnl -AC_ARG_ENABLE([blkid-debug], -AS_HELP_STRING([--enable-blkid-debug],[enable blkid debugging]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling blkid debugging]) -else - AC_DEFINE(CONFIG_BLKID_DEBUG, 1, - [Define to 1 if debugging the blkid library]) - AC_MSG_RESULT([Enabling blkid debugging]) -fi -, -AC_MSG_RESULT([Disabling blkid debugging by default]) -) -dnl -dnl handle --enable-testio-debug -dnl -AC_ARG_ENABLE([testio-debug], -AS_HELP_STRING([--disable-testio-debug],[disable the use of the test I/O manager for debugging]), -AH_TEMPLATE([CONFIG_TESTIO_DEBUG], - [Define to 1 if the testio I/O manager should be enabled]) -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling testio debugging]) - TEST_IO_CMT="#" -else - TEST_IO_CMT= - AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) - AC_MSG_RESULT([Enabling testio debugging]) -fi -, -AC_MSG_RESULT([Enabling testio debugging by default]) -AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) -TEST_IO_CMT= -) -AC_SUBST(TEST_IO_CMT) -dnl -dnl handle --enable-developer-features -dnl -AC_ARG_ENABLE([developer-features], -AS_HELP_STRING([--enable-developer-features],[enable features for use by ext4 developers]), -AH_TEMPLATE([CONFIG_DEVELOPER_FEATURES], - [Define to 1 for features for use by ext4 developers]) -if test "$enableval" = "yes" -then - DEV_FEATURES_CMT= - AC_DEFINE(CONFIG_DEVELOPER_FEATURES, 1) - AC_MSG_RESULT([Enabling ext4 developer features]) -else - AC_MSG_RESULT([Disabling ext4 developer features]) - DEV_FEATURES_CMT="#" -fi -, -AC_MSG_RESULT([Disabling ext4 developer features by default]) -DEV_FEATURES_CMT= -) -AC_SUBST(DEV_FEATURES_CMT) -dnl -dnl handle --disable-libuuid -dnl -PKG_PROG_PKG_CONFIG -LIBUUID= -DEPLIBUUID= -STATIC_LIBUUID= -DEPSTATIC_LIBUUID= -PROFILED_LIBUUID= -DEPPROFILED_LIBUUID= -UUID_CMT= -AC_ARG_ENABLE([libuuid], -AS_HELP_STRING([--enable-libuuid],[build and use private uuid library]), -if test "$enableval" = "no" -then - if test -z "$PKG_CONFIG"; then - AC_MSG_ERROR([pkg-config not installed; please install it.]) - fi - - AC_CHECK_LIB(uuid, uuid_generate, - [LIBUUID=`$PKG_CONFIG --libs uuid`; - STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`], - [AC_MSG_ERROR([external uuid library not found])]) - PROFILED_LIBUUID=$LIBUUID - UUID_CMT=# - AC_MSG_RESULT([Disabling private uuid library]) -else - LIBUUID='$(LIB)/libuuid'$LIB_EXT - DEPLIBUUID=$LIBUUID - STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT - DEPSTATIC_LIBUUID=$STATIC_LIBUUID - PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT - DEPPROFILED_LIBUUID=$PROFILED_LIBUUID - AC_MSG_RESULT([Enabling private uuid library]) -fi -, -if test -n "$PKG_CONFIG"; then - AC_CHECK_LIB(uuid, uuid_generate, - [LIBUUID=`$PKG_CONFIG --libs uuid`; - STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`]) -fi -if test -n "$LIBUUID"; then - PROFILED_LIBUUID=$LIBUUID - UUID_CMT=# - AC_MSG_RESULT([Using system uuid by default]) -else - LIBUUID='$(LIB)/libuuid'$LIB_EXT - DEPLIBUUID=$LIBUUID - STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT - DEPSTATIC_LIBUUID=$STATIC_LIBUUID - PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT - DEPPROFILED_LIBUUID=$PROFILED_LIBUUID - AC_MSG_RESULT([Enabling private uuid library by default]) -fi -) -AC_SUBST(LIBUUID) -AC_SUBST(DEPLIBUUID) -AC_SUBST(STATIC_LIBUUID) -AC_SUBST(DEPSTATIC_LIBUUID) -AC_SUBST(PROFILED_LIBUUID) -AC_SUBST(DEPPROFILED_LIBUUID) -AC_SUBST(UUID_CMT) -dnl -dnl handle --disable-libblkid -dnl -PKG_PROG_PKG_CONFIG -LIBBLKID= -DEPLIBBLKID= -STATIC_LIBBLKID= -DEPSTATIC_LIBBLKID= -PROFILED_LIBBLKID= -DEPPROFILED_LIBBLKID= -BLKID_CMT= -AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs]) -AC_ARG_ENABLE([libblkid], -AS_HELP_STRING([--enable-libblkid],[build and use private blkid library]), -if test "$enableval" = "no" -then - if test -z "$PKG_CONFIG"; then - AC_MSG_ERROR([pkg-config not installed; please install it.]) - fi - - AC_CHECK_LIB(blkid, blkid_get_cache, - [LIBBLKID=`$PKG_CONFIG --libs blkid`; - STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`], - [AC_MSG_ERROR([external blkid library not found])], -luuid) - BLKID_CMT=# - PROFILED_LIBBLKID=$LIBBLKID - AC_MSG_RESULT([Disabling private blkid library]) -else - LIBBLKID='$(LIB)/libblkid'$LIB_EXT - DEPLIBBLKID=$LIBBLKID - STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT - DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID - PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT - DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID - AC_DEFINE(CONFIG_BUILD_FINDFS, 1) - AC_MSG_RESULT([Enabling private blkid library]) -fi -, -if test -n "$PKG_CONFIG"; then - AC_CHECK_LIB(blkid, blkid_get_cache, - [LIBBLKID=`$PKG_CONFIG --libs blkid`; - STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`]) -fi -if test -n "$LIBBLKID"; then - BLKID_CMT=# - PROFILED_LIBBLKID=$LIBBLKID - AC_MSG_RESULT([Using system blkid library by default]) -else - LIBBLKID='$(LIB)/libblkid'$LIB_EXT - DEPLIBBLKID=$LIBBLKID - STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT - DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID - PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT - DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID - AC_DEFINE(CONFIG_BUILD_FINDFS, 1) - AC_MSG_RESULT([Enabling private blkid library by default]) -fi -) -AC_SUBST(LIBBLKID) -AC_SUBST(DEPLIBBLKID) -AC_SUBST(STATIC_LIBBLKID) -AC_SUBST(DEPSTATIC_LIBBLKID) -AC_SUBST(PROFILED_LIBBLKID) -AC_SUBST(DEPPROFILED_LIBBLKID) -AC_SUBST(BLKID_CMT) -dnl -dnl handle --enable-subset -dnl -ALL_CMT= -SUBSET_CMT= -AC_ARG_ENABLE([subset], -AS_HELP_STRING([--enable-subset],[enable subset-only build]), -if test "$enableval" = "no" -then - SUBSET_CMT=# - AC_MSG_RESULT([Disabling subset-only build]) -else - ALL_CMT=# - AC_MSG_RESULT([Enabling subset-only-build]) -fi -,) -AC_SUBST(ALL_CMT) -AC_SUBST(SUBSET_CMT) -dnl -dnl handle --disable-backtrace -dnl -AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace]) -AC_ARG_ENABLE([backtrace], -AS_HELP_STRING([--disable-backtrace],[disable use backtrace]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling use of backtrace]) - AC_DEFINE(DISABLE_BACKTRACE, 1) -else - AC_MSG_RESULT([Enabling use of backtrace]) -fi -, -AC_MSG_RESULT([Enabling use of backtrace by default]) -) -dnl -dnl handle --enable-debugfs -dnl -AC_ARG_ENABLE([debugfs], -AS_HELP_STRING([--disable-debugfs],[disable support of debugfs program]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling debugfs support]) - DEBUGFS_CMT="#" -else - DEBUGFS_CMT= - AC_MSG_RESULT([Enabling debugfs support]) -fi -, -AC_MSG_RESULT([Enabling debugfs support by default]) -DEBUGFS_CMT= -) -AC_SUBST(DEBUGFS_CMT) -dnl -dnl handle --enable-imager -dnl -AC_ARG_ENABLE([imager], -AS_HELP_STRING([--disable-imager],[disable support of e2image program]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling e2image support]) - IMAGER_CMT="#" -else - IMAGER_CMT= - AC_MSG_RESULT([Enabling e2image support]) -fi -, -AC_MSG_RESULT([Enabling e2image support by default]) -IMAGER_CMT= -) -AC_SUBST(IMAGER_CMT) -dnl -dnl handle --enable-resizer -dnl -AC_ARG_ENABLE([resizer], -AS_HELP_STRING([--disable-resizer],[disable support of e2resize program]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling e2resize support]) - RESIZER_CMT="#" -else - RESIZER_CMT= - AC_MSG_RESULT([Enabling e2resize support]) -fi -, -AC_MSG_RESULT([Enabling e2resize support by default]) -RESIZER_CMT= -) -AC_SUBST(RESIZER_CMT) -dnl -dnl handle --enable-defrag -dnl -AC_ARG_ENABLE([defrag], -AS_HELP_STRING([--disable-defrag],[disable support of e4defrag program]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling e4defrag support]) - DEFRAG_CMT="#" -else - DEFRAG_CMT= - AC_MSG_RESULT([Enabling e4defrag support]) -fi -, -if test -z "$WITH_DIET_LIBC" -then - AC_MSG_RESULT([Enabling e4defrag support by default]) - DEFRAG_CMT= -else - AC_MSG_RESULT([Disabling e4defrag support by default]) - DEFRAG_CMT="#" -fi -) -AC_SUBST(DEFRAG_CMT) -dnl -dnl See whether to install the `fsck' wrapper program (that calls e2fsck) -dnl -AC_ARG_ENABLE([fsck], -AS_HELP_STRING([--enable-fsck],[build fsck wrapper program]), -[if test "$enableval" = "no" -then - FSCK_PROG='' FSCK_MAN='' - AC_MSG_RESULT([Not building fsck wrapper]) -else - FSCK_PROG=fsck FSCK_MAN=fsck.8 - AC_MSG_RESULT([Building fsck wrapper]) -fi] -, -[case "$host_os" in - gnu*) - FSCK_PROG='' FSCK_MAN='' - AC_MSG_RESULT([Not building fsck wrapper by default]) - ;; - *) - FSCK_PROG=fsck FSCK_MAN=fsck.8 - AC_MSG_RESULT([Building fsck wrapper by default]) -esac] -) -AC_SUBST(FSCK_PROG) -AC_SUBST(FSCK_MAN) -dnl -dnl See whether to install the `e2initrd-helper' program -dnl -AC_ARG_ENABLE([e2initrd-helper], -AS_HELP_STRING([--enable-e2initrd-helper],[build e2initrd-helper program]), -[if test "$enableval" = "no" -then - E2INITRD_PROG='' E2INITRD_MAN='' - AC_MSG_RESULT([Not building e2initrd helper]) -else - E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 - AC_MSG_RESULT([Building e2initrd helper]) -fi] -, -E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 -AC_MSG_RESULT([Building e2initrd helper by default]) -) -AC_SUBST(E2INITRD_PROG) -AC_SUBST(E2INITRD_MAN) -dnl -dnl -dnl -AC_ARG_ENABLE([tls], -AS_HELP_STRING([--disable-tls],[disable use of thread local support]), -[if test "$enableval" = "no" -then - try_tls="" - AC_MSG_RESULT([Disabling thread local support]) -else - try_tls="yes" - AC_MSG_RESULT([Enabling thread local support]) -fi] -, -if test -n "$WITH_DIET_LIBC" -then - try_tls="" - AC_MSG_RESULT([Diet libc does not support thread local support]) -else - try_tls="yes" - AC_MSG_RESULT([Try using thread local support by default]) -fi -) -if test "$try_tls" = "yes" -then -AX_TLS -fi -dnl -dnl -dnl -AC_ARG_WITH([pthread], -AS_HELP_STRING([--without-pthread],[disable use of pthread support]), -[if test "$withval" = "no" -then - try_pthread="" - AC_MSG_RESULT([Disabling pthread support]) -else - try_pthread="yes" - AC_MSG_RESULT([Testing for pthread support]) -fi] -, -try_pthread="yes" -AC_MSG_RESULT([Try testing for pthread support by default]) -) -if test "$try_pthread" = "yes" -then -AX_PTHREAD -else -test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" -AC_SUBST([PTHREAD_CC]) -fi -dnl -dnl -dnl -AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd]) -AC_ARG_ENABLE([uuidd], -AS_HELP_STRING([--disable-uuidd],[disable building the uuid daemon]), -[if test "$enableval" = "no" -then - AC_MSG_RESULT([Not building uuidd]) - UUIDD_CMT="#" -else - AC_DEFINE(USE_UUIDD, 1) - UUIDD_CMT="" - AC_MSG_RESULT([Building uuidd]) -fi] -, -AC_DEFINE(USE_UUIDD, 1) -if test -z "$UUID_CMT" -then - UUIDD_CMT="" - AC_MSG_RESULT([Building uuidd by default]) -else - UUIDD_CMT="#" - AC_MSG_RESULT([Disabling uuidd by default]) -fi -) -AC_SUBST(UUIDD_CMT) -dnl -dnl handle --disable-mmp -dnl -AH_TEMPLATE([CONFIG_MMP], [Define to 1 to enable mmp support]) -AC_ARG_ENABLE([mmp], -AS_HELP_STRING([--disable-mmp],[disable support mmp, Multi Mount Protection]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling mmp support]) -else - AC_MSG_RESULT([Enabling mmp support]) - AC_DEFINE(CONFIG_MMP, 1) -fi -, -AC_MSG_RESULT([Enabling mmp support by default]) -AC_DEFINE(CONFIG_MMP, 1) -) -dnl -dnl handle --disable-tdb -dnl -AH_TEMPLATE([CONFIG_TDB], [Define to 1 to enable tdb support]) -AC_ARG_ENABLE([tdb], -AS_HELP_STRING([--disable-tdb],[disable tdb support]), -[ -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling tdb support]) - CONFIG_TDB=0 -else - AC_MSG_RESULT([Enabling tdb support]) - CONFIG_TDB=1 -fi -] -, -[ -case "$host_os" in -mingw*) - AC_MSG_RESULT([Disabling tdb support by default]) - CONFIG_TDB=0 - ;; -*) - AC_MSG_RESULT([Enabling tdb support by default]) - CONFIG_TDB=1 - ;; -esac -] -) -if test "$CONFIG_TDB" = "1" -then - AC_DEFINE(CONFIG_TDB, 1) - TDB_CMT="" - TDB_MAN_COMMENT="" -else - TDB_CMT="#" - TDB_MAN_COMMENT='.\"' -fi -AC_SUBST(TDB_CMT) -AC_SUBST(TDB_MAN_COMMENT) -dnl -dnl handle --disable-bmap-stats -dnl -AH_TEMPLATE([ENABLE_BMAP_STATS], [Define to 1 to enable bitmap stats.]) -AC_ARG_ENABLE([bmap-stats], -AS_HELP_STRING([--disable-bmap-stats],[disable collection of bitmap stats]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling bitmap statistics support]) -else - AC_MSG_RESULT([Enabling bitmap statistics support]) - AC_DEFINE(ENABLE_BMAP_STATS, 1) -fi -, -AC_MSG_RESULT([Enabling bitmap statistics support by default]) -AC_DEFINE(ENABLE_BMAP_STATS, 1) -) -dnl -dnl handle --enable-bmap-stats-ops -dnl -AH_TEMPLATE([ENABLE_BMAP_STATS_OPS], [Define to 1 to enable bitmap stats.]) -AC_ARG_ENABLE([bmap-stats-ops], -AS_HELP_STRING([--enable-bmap-stats-ops],[enable collection of additional bitmap stats]), -if test "$enableval" = "no" -then - AC_MSG_RESULT([Disabling additional bitmap statistics]) -else - dnl There has to be a better way! - AS_IF([test "x${enable_bmap_stats}" = "xno"], - AC_MSG_FAILURE([Error --enable-bmap-stats-ops requires bmap-stats])) - - AC_MSG_RESULT([Enabling additional bitmap statistics]) - AC_DEFINE(ENABLE_BMAP_STATS_OPS, 1) -fi -, -AC_MSG_RESULT([Disabling additional bitmap statistics by default]) -) -dnl -dnl -dnl -MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library -AC_SUBST_FILE(MAKEFILE_LIBRARY) -dnl -dnl Add internationalization support, using gettext. -dnl -GETTEXT_PACKAGE=e2fsprogs -PACKAGE=e2fsprogs -VERSION="$E2FSPROGS_VERSION" -VERSION=0.14.1 -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext]) -AC_SUBST(GETTEXT_PACKAGE) -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) - -AM_GNU_GETTEXT([external]) -dnl -dnl End of configuration options -dnl -AC_SUBST(BINARY_TYPE) -AC_PROG_MAKE_SET -CHECK_GNU_MAKE -AC_PATH_PROG(LN, ln, ln) -AC_PROG_MKDIR_P -dnl -dnl @mkdir_p@ is used by po's Makefile.in -dnl -mkdir_p=$MKDIR_P -AC_SUBST(mkdir_p) -AC_PROG_LN_S -AC_PATH_PROG(MV, mv, mv) -AC_PATH_PROG(CP, cp, cp) -AC_PATH_PROG(RM, rm, rm) -AC_PATH_PROG(CHMOD, chmod, :) -AC_PROG_AWK -AC_PROG_EGREP -AC_PATH_PROG(SED, sed, sed) -AC_PATH_PROG(PERL, perl, perl) -AC_PATH_PROG(LDCONFIG, ldconfig, :) -AC_CHECK_TOOL(AR, ar, ar) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) -AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ) -if test "_$MAKEINFO" = "_"; then - MAKEINFO="echo Makeinfo is missing. Info documentation will not be built." -else - case "$MAKEINFO" in - */missing.*) - AC_MSG_WARN([ -*** Makeinfo is missing. Info documentation will not be built.]) - ;; - *) - ;; - esac -fi -AC_SUBST(MAKEINFO) -AC_PROG_INSTALL -# See if we need a separate native compiler. -if test $cross_compiling = no; then - BUILD_CC="$CC" - AC_SUBST(BUILD_CC) -else - AC_CHECK_PROGS(BUILD_CC, gcc cc) -fi -AC_CHECK_HEADERS(m4_flatten([ - dirent.h - errno.h - execinfo.h - getopt.h - malloc.h - mntent.h - paths.h - pthread.h - semaphore.h - setjmp.h - signal.h - stdarg.h - stdint.h - stdlib.h - termios.h - termio.h - unistd.h - utime.h - attr/xattr.h - linux/falloc.h - linux/fd.h - linux/fsmap.h - linux/major.h - linux/loop.h - linux/types.h - net/if_dl.h - netinet/in.h - sys/acl.h - sys/disklabel.h - sys/disk.h - sys/file.h - sys/ioctl.h - sys/key.h - sys/mkdev.h - sys/mman.h - sys/mount.h - sys/prctl.h - sys/random.h - sys/resource.h - sys/select.h - sys/socket.h - sys/sockio.h - sys/stat.h - sys/syscall.h - sys/sysmacros.h - sys/time.h - sys/types.h - sys/un.h - sys/wait.h - sys/xattr.h -])) -case "$host_os" in -mingw*) - # The above checks only detect system headers, not the headers in - # ./include/mingw/, so explicitly define them to be available. - AC_DEFINE(HAVE_LINUX_TYPES_H, 1) - AC_DEFINE(HAVE_SYS_STAT_H, 1) - AC_DEFINE(HAVE_SYS_SYSMACROS_H, 1) - AC_DEFINE(HAVE_SYS_TYPES_H, 1) - AC_DEFINE(HAVE_UNISTD_H, 1) - ;; -esac -dnl Check where to find a dd(1) that supports iflag=fullblock -dnl and oflag=append -AC_MSG_CHECKING([for a dd(1) program that supports iflag=fullblock]) -DD= -for i in dd gdd ; do - if "$i" if=/dev/null of=/dev/null count=1 bs=10k 2>/dev/null iflag=fullblock oflag=append ; then - DD=$i - break - fi -done -if test -n "$DD" ; then - AC_MSG_RESULT([$DD]) -else - AC_MSG_RESULT([not found, using dd]) - DD=dd - AC_MSG_WARN([No GNU-compatible dd(1) program found, expect some self-test failures.]) -fi -AC_SUBST([DD]) - -AC_CHECK_HEADERS(net/if.h,,, -[[ -#if HAVE_SYS_TYPES_H -#include -#endif -#if HAVE_SYS_SOCKET -#include -#endif -]]) -AC_FUNC_VPRINTF -dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen -dnl is not declared. -AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1, - [Define to 1 if dirent has d_reclen])],, - [#include ]) -AC_CHECK_MEMBERS([struct stat.st_atim]) -dnl Check to see if ssize_t was declared -AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1, - [Define to 1 if ssize_t declared])],, - [#include ]) -dnl -dnl Check to see if llseek() is declared in unistd.h. On some libc's -dnl it is, and on others it isn't..... Thank you glibc developers.... -dnl -AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1, - [Define to 1 if llseek declared in unistd.h])],, - [#include ]) -dnl -dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files -dnl are so convoluted that I can't tell whether it will always be defined, -dnl and if it isn't defined while lseek64 is defined in the library, -dnl disaster will strike. -dnl -dnl Warning! Use of --enable-gcc-wall may throw off this test. -dnl -dnl -AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, - [Define to 1 if lseek64 declared in unistd.h])],, - [#define _LARGEFILE_SOURCE - #define _LARGEFILE64_SOURCE - #include ]) -dnl -dnl Word sizes... -dnl -AC_CHECK_SIZEOF(short) -AC_CHECK_SIZEOF(int) -AC_CHECK_SIZEOF(long) -AC_CHECK_SIZEOF(long long) -AC_CHECK_SIZEOF(off_t) -AC_CHECK_SIZEOF(time_t) -SIZEOF_SHORT=$ac_cv_sizeof_short -SIZEOF_INT=$ac_cv_sizeof_int -SIZEOF_LONG=$ac_cv_sizeof_long -SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long -SIZEOF_OFF_T=$ac_cv_sizeof_off_t -SIZEOF_TIME_T=$ac_cv_sizeof_time_t -AC_SUBST(SIZEOF_SHORT) -AC_SUBST(SIZEOF_INT) -AC_SUBST(SIZEOF_LONG) -AC_SUBST(SIZEOF_LONG_LONG) -AC_SUBST(SIZEOF_OFF_T) -AC_SUBST(SIZEOF_TIME_T) -AC_C_BIGENDIAN -if test $cross_compiling = no; then - BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh -else - CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh -fi -ASM_TYPES_HEADER=./asm_types.h -AC_SUBST_FILE(ASM_TYPES_HEADER) -dnl -dnl Save the configuration #defines needed for the public ext2fs.h -dnl header file -dnl -echo "/* These defines are needed for the public ext2fs.h header file */" \ - > public_config.h -if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then - uniq tmp_config.$$ >> public_config.h -else - echo "#undef HAVE_SYS_TYPES_H" >> public_config.h -fi -if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then - uniq tmp_config.$$ >> public_config.h -else - echo "#undef WORDS_BIGENDIAN" >> public_config.h -fi -rm -f tmp_config.$$ -PUBLIC_CONFIG_HEADER=./public_config.h -AC_SUBST_FILE(PUBLIC_CONFIG_HEADER) -dnl -dnl See if we have inttypes.h and if intptr_t is defined -dnl -AC_CHECK_HEADERS([inttypes.h]) -AC_CHECK_TYPES(intptr_t) -dnl -dnl See if struct stat has a st_flags field, in which case we can get file -dnl flags somewhat portably. Also check for the analogous setter, chflags(). -dnl -AC_MSG_CHECKING(whether struct stat has a st_flags field) -AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags, - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct stat stat; stat.st_flags = 0;]])],[e2fsprogs_cv_struct_st_flags=yes],[e2fsprogs_cv_struct_st_flags=no])) -AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags) -if test "$e2fsprogs_cv_struct_st_flags" = yes; then - AC_MSG_CHECKING(whether st_flags field is useful) - AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut, - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct stat stat; stat.st_flags |= UF_IMMUTABLE;]])],[e2fsprogs_cv_struct_st_flags_immut=yes],[e2fsprogs_cv_struct_st_flags_immut=no])) - AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) - if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then - AC_DEFINE(HAVE_STAT_FLAGS, 1, - [Define to 1 if struct stat has st_flags]) - fi -fi -dnl -dnl Check for the presence of SA_LEN -dnl -AC_CHECK_MEMBER(struct sockaddr.sa_len, - AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1, - [Define to 1 if if struct sockaddr contains sa_len]),, - [#include - #include ]) -dnl -dnl If we are using the system-provided blkid library, check for -dnl the functions added after migrating that library to util-linux -dnl -if test -n "$BLKID_CMT"; then - AC_CHECK_LIB(blkid, blkid_probe_get_topology, - AC_DEFINE(HAVE_BLKID_PROBE_GET_TOPOLOGY, 1, - [Define to 1 if blkid has blkid_probe_get_topology])) - AC_CHECK_LIB(blkid, blkid_topology_get_dax, - AC_DEFINE(HAVE_BLKID_TOPOLOGY_GET_DAX, 1, - [Define to 1 if blkid has blkid_topology_get_dax])) - AC_CHECK_LIB(blkid, blkid_probe_enable_partitions, - AC_DEFINE(HAVE_BLKID_PROBE_ENABLE_PARTITIONS, 1, - [Define to 1 if blkid has blkid_probe_enable_partitions])) -fi -dnl -if test -n "$DLOPEN_LIB" ; then - ac_cv_func_dlopen=yes -fi -AC_CHECK_FUNCS(m4_flatten([ - __secure_getenv - add_key - backtrace - chflags - dlopen - fadvise64 - fallocate - fallocate64 - fchown - fcntl - fdatasync - fstat64 - fsync - ftruncate64 - futimes - getcwd - getdtablesize - getentropy - gethostname - getmntinfo - getpwuid_r - getrandom - getrlimit - getrusage - jrand48 - keyctl - llistxattr - llseek - lseek64 - mallinfo - mallinfo2 - mbstowcs - memalign - mempcpy - mmap - msync - nanosleep - open64 - pathconf - posix_fadvise - posix_fadvise64 - posix_memalign - prctl - pread - pwrite - pread64 - pwrite64 - qsort_r - secure_getenv - setmntent - setresgid - setresuid - snprintf - srandom - stpcpy - strcasecmp - strdup - strnlen - strptime - strtoull - sync_file_range - sysconf - usleep - utime - utimes - valloc -])) -dnl -dnl Check to see if -lsocket is required (solaris) to make something -dnl that uses socket() to compile; this is needed for the UUID library -dnl -SOCKET_LIB='' -AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket]) -AC_SUBST(SOCKET_LIB) -dnl -dnl See if libmagic exists -dnl -AC_CHECK_LIB(magic, magic_file, [MAGIC_LIB=-lmagic -AC_CHECK_HEADERS([magic.h])]) -if test "$ac_cv_func_dlopen" = yes ; then - MAGIC_LIB=$DLOPEN_LIB -fi -AC_SUBST(MAGIC_LIB) -dnl -dnl Check to see if librt is required for clock_gettime() (glibc < 2.17) -dnl -AC_CHECK_LIB(rt, clock_gettime, [CLOCK_GETTIME_LIB=-lrt]) -AC_SUBST(CLOCK_GETTIME_LIB) -dnl -dnl Check to see if the FUSE library is -lfuse or -losxfuse -dnl -FUSE_CMT= -FUSE_LIB= -dnl osxfuse.dylib supersedes fuselib.dylib -AC_ARG_ENABLE([fuse2fs], -AS_HELP_STRING([--disable-fuse2fs],[do not build fuse2fs]), -if test "$enableval" = "no" -then - FUSE_CMT="#" - AC_MSG_RESULT([Disabling fuse2fs]) -else - AC_CHECK_HEADERS([pthread.h fuse.h], [], -[AC_MSG_FAILURE([Cannot find fuse2fs headers.])], -[#define _FILE_OFFSET_BITS 64 -#define FUSE_USE_VERSION 29]) - - AC_PREPROC_IFELSE( -[AC_LANG_PROGRAM([[#define FUSE_USE_VERSION 29 -#ifdef __linux__ -#include -#include -#include -#endif -]], [])], [], [AC_MSG_FAILURE([Cannot find fuse2fs Linux headers.])]) - - AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse], - [AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], - [AC_MSG_FAILURE([Cannot find fuse library.])])]) - AC_MSG_RESULT([Enabling fuse2fs]) -fi -, -AC_CHECK_HEADERS([pthread.h fuse.h], [], [FUSE_CMT="#"], -[#define _FILE_OFFSET_BITS 64 -#define FUSE_USE_VERSION 29 -#ifdef __linux__ -# include -# include -# include -#endif]) -if test -z "$FUSE_CMT" -then - AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse], -[AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], [FUSE_CMT="#"])]) -fi -if test -z "$FUSE_CMT" -then - AC_MSG_RESULT([Enabling fuse2fs by default.]) -fi -) -AC_SUBST(FUSE_LIB) -AC_SUBST(FUSE_CMT) -dnl -dnl See if optreset exists -dnl -AC_MSG_CHECKING(for optreset) -AC_CACHE_VAL(ac_cv_have_optreset, -[AC_EGREP_HEADER(optreset, unistd.h, - ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl -AC_MSG_RESULT($ac_cv_have_optreset) -if test $ac_cv_have_optreset = yes; then - AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present]) -fi -dnl -dnl Test for sem_init, and which library it might require: -dnl -AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists]) -SEM_INIT_LIB='' -echo GL_THREADS_API: ${gl_threads_api} -if test "${gl_threads_api}" != none -then - AC_CHECK_FUNC(sem_init, , - AC_CHECK_LIB(pthread, sem_init, - AC_DEFINE(HAVE_SEM_INIT, 1) - SEM_INIT_LIB=-lpthread, - AC_CHECK_LIB(rt, sem_init, - AC_DEFINE(HAVE_SEM_INIT, 1) - SEM_INIT_LIB=-lrt, - AC_CHECK_LIB(posix4, sem_init, - AC_DEFINE(HAVE_SEM_INIT, 1) - SEM_INIT_LIB=-lposix4))))dnl -fi -AC_SUBST(SEM_INIT_LIB) -dnl -dnl qsort_r detection -dnl -AS_IF([test "$ac_cv_func_qsort_r" != no], [ - AC_CACHE_CHECK(whether qsort_r is GNU version, e2_cv_gnu_qsort_r, - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -@%:@include -void (qsort_r)(void *base, size_t nmemb, size_t size, - int (*compar)(const void *, const void *, void *), - void *arg); -]], [[ ]])],[e2_cv_gnu_qsort_r=yes],[e2_cv_gnu_qsort_r=no]) - ]) - AC_CACHE_CHECK(whether qsort_r is BSD version, e2_cv_bsd_qsort_r, - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -@%:@include -void (qsort_r)(void *base, size_t nmemb, size_t size, - void *arg, int (*compar)(void *, const void *, const void *)); -]], [[ ]])],[e2_cv_bsd_qsort_r=yes],[e2_cv_bsd_qsort_r=no]) - ]) - AS_CASE("$e2_cv_gnu_qsort_r:$e2_cv_bsd_qsort_r", - [yes:no], [ - AC_DEFINE(HAVE_GNU_QSORT_R, 1, [ Define to 1 if you have the GNU-style 'qsort_r' function.]) - ], - [no:yes], [ - AC_DEFINE(HAVE_BSD_QSORT_R, 1, [ Define to 1 if you have the BSD-style 'qsort_r' function.]) - ]) -]) -dnl -dnl Check for unified diff -dnl -AC_MSG_CHECKING(for unified diff option) -if diff -u $0 $0 > /dev/null 2>&1 ; then - UNI_DIFF_OPTS=-u -else - UNI_DIFF_OPTS=-c -fi -AC_MSG_RESULT($UNI_DIFF_OPTS) -AC_SUBST(UNI_DIFF_OPTS) -dnl -dnl We use the EXT2 ioctls only under Linux -dnl -case "$host_os" in -linux*) - AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present]) - ;; -esac -dnl -dnl Check the available mount options -dnl -AX_CHECK_MOUNT_OPT(nosuid) -AX_CHECK_MOUNT_OPT(nodev) -dnl Enable LTO for all packages -dnl -AC_ARG_ENABLE([lto], -AS_HELP_STRING([--enable-lto],[enable link time optimization]),, -enable_lto=no) -if test "$enable_lto" = "yes" || test "$enable_lto" = "probe"; then - AC_MSG_CHECKING([if C compiler supports LTO]) - OLD_CFLAGS="$CFLAGS" - OLD_LDFLAGS="$LDFLAGS" - LTO_FLAGS="-g -flto -ffat-lto-objects" - CFLAGS="$CFLAGS $LTO_FLAGS" - LDFLAGS="$LDFLAGS $LTO_FLAGS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [AC_MSG_RESULT([yes])] - [lto_cflags=$LTO_FLAGS] - [lto_ldflags=$LTO_FLAGS] - [AC_PATH_PROG(gcc_ar, gcc-ar,,)] - [AC_PATH_PROG(gcc_ranlib, gcc-ranlib,,)], - [AC_MSG_RESULT([no])]) - if test -x "$gcc_ar" && test -x "$gcc_ranlib"; then - have_lto=yes - AR="${gcc_ar}" - RANLIB="${gcc_ranlib}" - fi - CFLAGS="${OLD_CFLAGS}" - LDFLAGS="${OLD_LDFLAGS}" - AC_SUBST(have_lto) - AC_SUBST(lto_cflags) - AC_SUBST(lto_ldflags) -fi -if test "$enable_lto" = "yes" && test "$have_lto" != "yes"; then - AC_MSG_ERROR([LTO not supported by compiler.]) -fi -dnl -dnl Enable UBSAN for all packages -dnl -AC_ARG_ENABLE([ubsan], -AS_HELP_STRING([--enable-ubsan],[enable undefined behavior sanitizer]),, -enable_ubsan=no) -if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then - AC_MSG_CHECKING([if C compiler supports UBSAN]) - OLD_CFLAGS="$CFLAGS" - OLD_LDFLAGS="$LDFLAGS" - UBSAN_FLAGS="-fsanitize=undefined" - CFLAGS="$CFLAGS $UBSAN_FLAGS" - LDFLAGS="$LDFLAGS $UBSAN_FLAGS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [AC_MSG_RESULT([yes])] - [ubsan_cflags=$UBSAN_FLAGS] - [ubsan_ldflags=$UBSAN_FLAGS] - [have_ubsan=yes], - [AC_MSG_RESULT([no])]) - CFLAGS="${OLD_CFLAGS}" - LDFLAGS="${OLD_LDFLAGS}" - AC_SUBST(have_ubsan) - AC_SUBST(ubsan_cflags) - AC_SUBST(ubsan_ldflags) -fi -if test "$enable_ubsan" = "yes" && test "$have_ubsan" != "yes"; then - AC_MSG_ERROR([UBSAN not supported by compiler.]) -fi -dnl -dnl Enable ADDRSAN for all packages -dnl -AC_ARG_ENABLE([addrsan], -AS_HELP_STRING([--enable-addrsan],[enable address sanitizer]),, -enable_addrsan=no) -if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then - AC_MSG_CHECKING([if C compiler supports ADDRSAN]) - OLD_CFLAGS="$CFLAGS" - OLD_LDFLAGS="$LDFLAGS" - ADDRSAN_FLAGS="-fsanitize=address" - CFLAGS="$CFLAGS $ADDRSAN_FLAGS" - LDFLAGS="$LDFLAGS $ADDRSAN_FLAGS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [AC_MSG_RESULT([yes])] - [addrsan_cflags=$ADDRSAN_FLAGS] - [addrsan_ldflags=$ADDRSAN_FLAGS] - [have_addrsan=yes], - [AC_MSG_RESULT([no])]) - CFLAGS="${OLD_CFLAGS}" - LDFLAGS="${OLD_LDFLAGS}" - AC_SUBST(have_addrsan) - AC_SUBST(addrsan_cflags) - AC_SUBST(addrsan_ldflags) -fi -if test "$enable_addrsan" = "yes" && test "$have_addrsan" != "yes"; then - AC_MSG_ERROR([ADDRSAN not supported by compiler.]) -fi -dnl -dnl Enable THREADSAN for all packages -dnl -AC_ARG_ENABLE([threadsan], -AS_HELP_STRING([--enable-threadsan],[enable thread sanitizer]),, -enable_threadsan=no) -if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then - AC_MSG_CHECKING([if C compiler supports THREADSAN]) - OLD_CFLAGS="$CFLAGS" - OLD_LDFLAGS="$LDFLAGS" - THREADSAN_FLAGS="-fsanitize=thread" - CFLAGS="$CFLAGS $THREADSAN_FLAGS" - LDFLAGS="$LDFLAGS $THREADSAN_FLAGS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([])], - [AC_MSG_RESULT([yes])] - [threadsan_cflags=$THREADSAN_FLAGS] - [threadsan_ldflags=$THREADSAN_FLAGS] - [have_threadsan=yes], - [AC_MSG_RESULT([no])]) - CFLAGS="${OLD_CFLAGS}" - LDFLAGS="${OLD_LDFLAGS}" - AC_SUBST(have_threadsan) - AC_SUBST(threadsan_cflags) - AC_SUBST(threadsan_ldflags) -fi -if test "$enable_threadsan" = "yes" && test "$have_threadsan" != "yes"; then - AC_MSG_ERROR([THREADSAN not supported by compiler.]) -fi -if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then - AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.]) -fi -dnl -dnl Enable the fuzzer sanitizer for all packages -dnl -FUZZING_CMT="#" -AC_ARG_ENABLE([fuzzing], -AS_HELP_STRING([--enable-fuzzing],[enable fuzzing sanitizer]),, -enable_fuzzing=no) -if test "$enable_fuzzing" = "yes" || test "$enable_fuzzing" = "probe"; then - AC_PROG_CXX - AC_MSG_CHECKING([if C compiler supports fuzzing sanitizer]) - AC_LANG_PUSH([C++]) - OLD_CXXFLAGS="$CXXFLAGS" - OLD_LDFLAGS="$LDFLAGS" - FUZZER_FLAGS="-fsanitize=fuzzer" - CXXFLAGS="$CXXFLAGS $FUZZER_FLAGS" - LDFLAGS="$LDFLAGS $FUZZER_FLAGS" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - ]], - [ return 0; ])], - [AC_MSG_RESULT([yes])] - [fuzzer_cflags=$FUZZER_FLAGS] - [fuzzer_ldflags=$FUZZER_FLAGS] - [FUZZING_CMT=] - [have_fuzzer=yes], - [AC_MSG_RESULT([no])] - [AC_MSG_ERROR([fuzzing requested but not available])]) - CXXFLAGS="${OLD_CXXFLAGS}" - LDFLAGS="${OLD_LDFLAGS}" - AC_LANG_POP([C++]) - AC_SUBST(have_fuzzer) - AC_SUBST(fuzzer_cflags) - AC_SUBST(fuzzer_ldflags) -fi -if test "$enable_fuzzer" = "yes" && test "$have_fuzzer" != "yes"; then - AC_MSG_ERROR([Fuzzing not supported by compiler.]) -fi -AC_SUBST(FUZZING_CMT) -dnl -dnl OS-specific uncomment control -dnl -LINUX_CMT="#" -CYGWIN_CMT="#" -UNIX_CMT= -case "$host_os" in -linux*) - LINUX_CMT= - ;; -cygwin) - CYGWIN_CMT= - UNIX_CMT="#" - ;; -esac -AC_SUBST(LINUX_CMT) -AC_SUBST(CYGWIN_CMT) -AC_SUBST(UNIX_CMT) -dnl -dnl e2scrub only builds on linux -dnl -E2SCRUB_CMT="$LINUX_CMT" -AC_SUBST(E2SCRUB_CMT) -dnl -dnl Linux and Hurd places root files in the / by default -dnl -case "$host_os" in -linux* | gnu* | k*bsd*-gnu) - if test "$prefix" = NONE -a "$root_prefix" = NONE ; then - root_prefix=""; - AC_MSG_RESULT([On $host_os systems, root_prefix defaults to '']) - fi - ;; -esac -dnl -dnl On Linux/hurd, force the prefix to be /usr -dnl -case "$host_os" in -linux* | gnu* | k*bsd*-gnu) - if test "$prefix" = NONE ; then - prefix="/usr"; - AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr]) - if test "$mandir" = '${prefix}/man' ; then - AC_MSG_RESULT([...and mandir defaults to /usr/share/man]) - mandir=/usr/share/man - fi - fi -;; -esac -if test "$root_prefix" = NONE ; then - if test "$prefix" = NONE ; then - root_prefix="$ac_default_prefix" - else - root_prefix="$prefix" - fi - root_bindir=$bindir - root_sbindir=$sbindir - root_libdir=$libdir - root_sysconfdir=$sysconfdir -else - root_bindir='${root_prefix}/bin' - root_sbindir='${root_prefix}/sbin' - root_libdir='${root_prefix}/lib' - root_sysconfdir='${root_prefix}/etc' -fi -if test "$bindir" != '${exec_prefix}/bin'; then - root_bindir=$bindir - AC_MSG_RESULT([Setting root_bindir to $root_bindir]) -fi -if test "$sbindir" != '${exec_prefix}/sbin'; then - root_sbindir=$sbindir - AC_MSG_RESULT([Setting root_sbindir to $root_sbindir]) -fi -if test "$libdir" != '${exec_prefix}/lib'; then - root_libdir=$libdir - AC_MSG_RESULT([Setting root_libdir to $root_libdir]) -fi -if test "$sysconfdir" != '${prefix}/etc'; then - root_sysconfdir=$sysconfdir - AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir]) -fi -AC_SUBST(root_prefix) -AC_SUBST(root_bindir) -AC_SUBST(root_sbindir) -AC_SUBST(root_libdir) -AC_SUBST(root_sysconfdir) -dnl -dnl Allow specification of the multiarch arch -dnl -AC_ARG_WITH([multiarch], -AS_HELP_STRING([--with-multiarch=ARCH],[specify the multiarch triplet]), -if test "$withval" = "lib64"; then - libdir=/usr/lib64 - root_libdir=/lib64 -else - libdir=$libdir/$withval - root_libdir=$root_libdir/$withval -fi -) -dnl -dnl -dnl See if -static works. This could fail if the linker does not -dnl support -static, or if required external libraries are not available -dnl in static form. -dnl -AC_MSG_CHECKING([whether we can link with -static]) -AC_CACHE_VAL(ac_cv_e2fsprogs_use_static, -[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS_STATIC -static" -AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[fflush(stdout);]])],[ac_cv_e2fsprogs_use_static=yes],[ac_cv_e2fsprogs_use_static=no]) -LDFLAGS=$SAVE_LDFLAGS]) -dnl -dnl Regardless of how the test turns out, Solaris doesn't handle -static -dnl This is caused by the socket library requiring the nsl library, which -dnl requires the -dl library, which only works for dynamically linked -dnl programs. It basically means you can't have statically linked programs -dnl which use the network under Solaris. -dnl -case "$host_os" in -solaris2.*) - ac_cv_e2fsprogs_use_static=no -;; -esac -AC_MSG_RESULT($ac_cv_e2fsprogs_use_static) -if test $ac_cv_e2fsprogs_use_static = yes; then - LDFLAGS_STATIC="$LDFLAGS_STATIC -static" -fi -AC_SUBST(LDFLAGS_STATIC) -dnl -dnl Work around mysterious Darwin / GNU libintl problem -dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like -dnl Apple hacked gcc somehow?) -dnl -case "$host_os" in -darwin*) - AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround]) - AC_DEFINE(_INTL_REDIRECT_MACROS, 1, - [Define to 1 if Apple Darwin libintl workaround is needed]) - ;; -esac -dnl -dnl Only try to run the test suite if we're not cross compiling. -dnl -if test "$cross_compiling" = yes ; then - DO_TEST_SUITE= -else - DO_TEST_SUITE=check -fi -AC_SUBST(DO_TEST_SUITE) -dnl -dnl Only include the intl include files if we're building with them -dnl -INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' -if test -n "$CPPFLAGS" ; then - INCLUDES="$INCLUDES $CPPFLAGS" -fi -if test "$USE_INCLUDED_LIBINTL" = "yes" ; then - INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl' -fi -if test -n "$WITH_DIET_LIBC" ; then - INCLUDES="$INCLUDES -D_REENTRANT" -fi -case "$host_os" in -mingw*) - INCLUDES=$INCLUDES' -I$(top_srcdir)/include/mingw' - ;; -esac -AC_SUBST(INCLUDES) -dnl -dnl Build CFLAGS -dnl -if test $cross_compiling = no; then - BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H" - BUILD_LDFLAGS="$LDFLAGS" -fi -AC_SUBST(BUILD_CFLAGS) -AC_SUBST(BUILD_LDFLAGS) -dnl -dnl Define CFLAGS and LDFLAGS for shared libraries -dnl -CFLAGS_SHLIB=${CFLAGS_SHLIB:-$CFLAGS} -CFLAGS_STLIB=${CFLAGS_STLIB:-$CFLAGS} -LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS} -AC_SUBST(CFLAGS_SHLIB) -AC_SUBST(CFLAGS_STLIB) -AC_SUBST(LDFLAGS_SHLIB) - -dnl -dnl Where do udev rules go? -dnl -AC_ARG_WITH([udev_rules_dir], - [AS_HELP_STRING([--with-udev-rules-dir@<:@=DIR@:>@], - [Install udev rules into DIR.])], - [], - [with_udev_rules_dir=yes]) -AS_IF([test "x${with_udev_rules_dir}" != "xno"], - [ - AS_IF([test "x${with_udev_rules_dir}" = "xyes"], - [ - PKG_CHECK_MODULES([udev], [udev], - [ - with_udev_rules_dir="$($PKG_CONFIG --variable=udevdir udev)/rules.d" - ], [ - with_udev_rules_dir="" - ]) - ]) - AC_MSG_CHECKING([for udev rules dir]) - pkg_udev_rules_dir="${with_udev_rules_dir}" - AS_IF([test -n "${pkg_udev_rules_dir}"], - [ - AC_MSG_RESULT(${pkg_udev_rules_dir}) - have_udev="yes" - ], - [ - AC_MSG_RESULT(no) - have_udev="no" - ]) - ], - [ - have_udev="disabled" - ]) -AC_SUBST(have_udev) -AC_SUBST(pkg_udev_rules_dir) - -dnl -dnl Where do cron jobs go? -dnl -AC_ARG_WITH([crond_dir], - [AS_HELP_STRING([--with-crond-dir@<:@=DIR@:>@], - [Install system crontabs into DIR.])], - [], - [with_crond_dir=yes]) -AS_IF([test "x${with_crond_dir}" != "xno"], - [ - AS_IF([test "x${with_crond_dir}" = "xyes"], - [ - AS_IF([test -d "/etc/cron.d"], - [with_crond_dir="/etc/cron.d"], - [have_crond="no"; with_crond_dir=""]) - ]) - AC_MSG_CHECKING([for system crontab dir]) - crond_dir="${with_crond_dir}" - AS_IF([test -n "${crond_dir}"], - [ - AC_MSG_RESULT(${crond_dir}) - have_crond="yes" - ], - [ - AC_MSG_RESULT(no) - have_crond="no" - ]) - ], - [ - have_crond="disabled" - ]) -AC_SUBST(have_crond) -AC_SUBST(crond_dir) - -dnl -dnl Where do systemd services go? -dnl -AC_ARG_WITH([systemd_unit_dir], - [AS_HELP_STRING([--with-systemd-unit-dir@<:@=DIR@:>@], - [Install systemd system units into DIR.])], - [], - [with_systemd_unit_dir=yes]) -AS_IF([test "x${with_systemd_unit_dir}" != "xno"], - [ - AS_IF([test "x${with_systemd_unit_dir}" = "xyes"], - [ - PKG_CHECK_MODULES([systemd], [systemd], - [ - with_systemd_unit_dir="$($PKG_CONFIG --variable=systemdsystemunitdir systemd)" - ], [ - with_systemd_unit_dir="" - ]) - m4_pattern_allow([^PKG_(MAJOR|MINOR|BUILD|REVISION)$]) - ]) - AC_MSG_CHECKING([for systemd system unit dir]) - systemd_system_unit_dir="${with_systemd_unit_dir}" - AS_IF([test -n "${systemd_system_unit_dir}"], - [ - AC_MSG_RESULT(${systemd_system_unit_dir}) - have_systemd="yes" - ], - [ - AC_MSG_RESULT(no) - have_systemd="no" - ]) - ], - [ - have_systemd="disabled" - ]) -AC_SUBST(have_systemd) -AC_SUBST(systemd_system_unit_dir) -dnl Adjust the compiled files if we are on windows vs everywhere else -dnl -OS_IO_FILE="" -[case "$host_os" in - mingw*) - OS_IO_FILE=windows_io - ;; - *) - OS_IO_FILE=unix_io - ;; -esac] -AC_SUBST(OS_IO_FILE) - -AC_SYS_LARGEFILE - -dnl -dnl Make our output files, being sure that we create the some miscellaneous -dnl directories -dnl -test -d lib || mkdir lib -test -d include || mkdir include -test -d include/linux || mkdir include/linux -test -d include/asm || mkdir include/asm -if test -z "$UUID_CMT" ; then - uuid_out_list="lib/uuid/Makefile lib/uuid/uuid.pc \ - lib/uuid/uuid_types.h" -fi -if test -z "$BLKID_CMT" ; then - blkid_out_list="lib/blkid/Makefile lib/blkid/blkid.pc \ - lib/blkid/blkid_types.h" -fi -for i in MCONFIG Makefile \ - util/Makefile util/subst.conf util/gen-tarball util/install-symlink \ - lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \ - lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \ - $uuid_out_list $blkid_out_list lib/support/Makefile \ - lib/ss/ss.pc lib/et/com_err.pc lib/e2p/e2p.pc lib/ext2fs/ext2fs.pc \ - misc/Makefile ext2ed/Makefile e2fsck/Makefile \ - debugfs/Makefile tests/Makefile tests/progs/Makefile \ - tests/fuzz/Makefile resize/Makefile doc/Makefile \ - po/Makefile.in scrub/Makefile; do - if test -d `dirname ${srcdir}/$i` ; then - outlist="$outlist $i" - fi -done -AC_CONFIG_FILES([$outlist]) -AC_OUTPUT -if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi diff --git a/src/_nfdos/e2fsprogs/contrib/Android.bp b/src/_nfdos/e2fsprogs/contrib/Android.bp deleted file mode 100644 index 7f9cfe9..0000000 --- a/src/_nfdos/e2fsprogs/contrib/Android.bp +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2017 The Android Open Source Project - -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "external_e2fsprogs_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - // SPDX-license-identifier-GPL - default_applicable_licenses: ["external_e2fsprogs_license"], -} - -subdirs = ["android"] - -//######################################################################## -// Build add_ext4_encrypt - -cc_binary { - name: "add_ext4_encrypt", - host_supported: true, - defaults: ["e2fsprogs-defaults"], - - srcs: ["add_ext4_encrypt.c"], - shared_libs: [ - "libext2fs", - "libext2_com_err", - ], -} diff --git a/src/_nfdos/e2fsprogs/contrib/add_ext4_encrypt.c b/src/_nfdos/e2fsprogs/contrib/add_ext4_encrypt.c deleted file mode 100644 index 133fe25..0000000 --- a/src/_nfdos/e2fsprogs/contrib/add_ext4_encrypt.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Basic program to add ext4 encryption to a file system - * - * Copyright 2015, Google, Inc. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -int main (int argc, char *argv[]) -{ - errcode_t retval = 0; - ext2_filsys fs; - - setbuf(stdout, NULL); - setbuf(stderr, NULL); - initialize_ext2_error_table(); - - if (argc != 2) { - fprintf(stderr, "%s: Usage \n", argv[0]); - exit(1); - } - - retval = ext2fs_open(argv[1], EXT2_FLAG_RW, 0, 0, - unix_io_manager, &fs); - - if (retval) { - com_err(argv[0], retval, "while trying to open '%s'", - argv[1]); - exit(1); - } - if (!ext2fs_has_feature_encrypt(fs->super)) { - ext2fs_set_feature_encrypt(fs->super); - fs->super->s_encrypt_algos[0] = - EXT4_ENCRYPTION_MODE_AES_256_XTS; - fs->super->s_encrypt_algos[1] = - EXT4_ENCRYPTION_MODE_AES_256_CTS; - ext2fs_mark_super_dirty(fs); - printf("Ext4 encryption enabled on %s\n", argv[1]); - } else - printf("Ext4 encryption already enabled on %s\n", argv[1]); - - retval = ext2fs_close(fs); - if (retval) { - com_err(argv[0], retval, "while trying to close '%s'", - argv[1]); - exit(1); - } - return (0); -} - diff --git a/src/_nfdos/e2fsprogs/contrib/android/Android.bp b/src/_nfdos/e2fsprogs/contrib/android/Android.bp deleted file mode 100644 index 6c9dd5c..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/Android.bp +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2017 The Android Open Source Project - -//########################################################################## -// Build e2fsdroid - -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "external_e2fsprogs_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - default_applicable_licenses: ["external_e2fsprogs_license"], -} - -cc_binary { - name: "e2fsdroid", - host_supported: true, - recovery_available: true, - defaults: ["e2fsprogs-defaults"], - - srcs: [ - "e2fsdroid.c", - "block_range.c", - "fsmap.c", - "block_list.c", - "base_fs.c", - "perms.c", - "basefs_allocator.c", - ], - target: { - host: { - static_libs: [ - "libext2_com_err", - "libext2_misc", - "libext2fs", - "libsparse", - "libz", - "libcutils", - "libbase", - "libselinux", - "libcrypto", - "liblog", - ], - }, - android: { - static_libs: [ - "libbase", - ], - shared_libs: [ - "libext2fs", - "libext2_com_err", - "libext2_misc", - "libcutils", - "liblog", - "libselinux", - "libcrypto", - ], - }, - }, - stl: "libc++_static", -} - -//########################################################################## -// Build ext2simg - -cc_binary { - name: "ext2simg", - host_supported: true, - defaults: ["e2fsprogs-defaults"], - - srcs: ["ext2simg.c"], - shared_libs: [ - "libext2fs", - "libext2_com_err", - "libsparse", - "libz", - ], -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/base_fs.c b/src/_nfdos/e2fsprogs/contrib/android/base_fs.c deleted file mode 100644 index d3e00d1..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/base_fs.c +++ /dev/null @@ -1,211 +0,0 @@ -#include "base_fs.h" -#include - -#define BASE_FS_VERSION "Base EXT4 version 1.0" - -struct base_fs { - FILE *file; - const char *mountpoint; - struct basefs_entry entry; -}; - -static FILE *basefs_open(const char *file) -{ - char *line = NULL; - size_t len; - FILE *f = fopen(file, "r"); - if (!f) - return NULL; - - if (getline(&line, &len, f) == -1 || !line) - goto err_getline; - - if (strncmp(line, BASE_FS_VERSION, strlen(BASE_FS_VERSION))) - goto err_header; - - free(line); - return f; - -err_header: - free(line); -err_getline: - fclose(f); - return NULL; -} - -static struct basefs_entry *basefs_readline(FILE *f, const char *mountpoint, - int *err) -{ - char *line = NULL, *saveptr1, *saveptr2, *block_range, *block; - int offset; - size_t len; - struct basefs_entry *entry = NULL; - blk64_t range_start, range_end; - - if (getline(&line, &len, f) == -1) { - if (feof(f)) - goto end; - goto err_getline; - } - - entry = calloc(1, sizeof(*entry)); - if (!entry) - goto err_alloc; - - /* - * With BASEFS version 1.0, a typical line looks like this: - * /bin/mke2fs 5000-5004,8000,9000-9990 - */ - if (sscanf(line, "%ms%n", &entry->path, &offset) != 1) - goto err_sscanf; - len = strlen(mountpoint); - memmove(entry->path, entry->path + len, strlen(entry->path) - len + 1); - - while (line[offset] == ' ') - ++offset; - - block_range = strtok_r(line + offset, ",\n", &saveptr1); - while (block_range) { - block = strtok_r(block_range, "-", &saveptr2); - if (!block) - break; - range_start = atoll(block); - block = strtok_r(NULL, "-", &saveptr2); - range_end = block ? atoll(block) : range_start; - add_blocks_to_range(&entry->blocks, range_start, range_end); - block_range = strtok_r(NULL, ",\n", &saveptr1); - } -end: - *err = 0; - free(line); - return entry; - -err_sscanf: - free(entry); -err_alloc: - free(line); -err_getline: - *err = 1; - return NULL; -} - -static void free_base_fs_entry(void *e) -{ - struct basefs_entry *entry = e; - if (entry) { - free(entry->path); - free(entry); - } -} - -struct ext2fs_hashmap *basefs_parse(const char *file, const char *mountpoint) -{ - int err; - struct ext2fs_hashmap *entries = NULL; - struct basefs_entry *entry; - FILE *f = basefs_open(file); - if (!f) - return NULL; - entries = ext2fs_hashmap_create(ext2fs_djb2_hash, free_base_fs_entry, 1024); - if (!entries) - goto end; - - while ((entry = basefs_readline(f, mountpoint, &err))) { - err = ext2fs_hashmap_add(entries, entry, entry->path, - strlen(entry->path)); - if (err) { - free_base_fs_entry(entry); - fclose(f); - ext2fs_hashmap_free(entries); - return NULL; - } - } - if (err) { - fclose(f); - ext2fs_hashmap_free(entries); - return NULL; - } -end: - fclose(f); - return entries; -} - -static void *init(const char *file, const char *mountpoint) -{ - struct base_fs *params = malloc(sizeof(*params)); - - if (!params) - return NULL; - params->mountpoint = mountpoint; - params->file = fopen(file, "w+"); - if (!params->file) { - free(params); - return NULL; - } - if (fwrite(BASE_FS_VERSION"\n", 1, strlen(BASE_FS_VERSION"\n"), - params->file) != strlen(BASE_FS_VERSION"\n")) { - fclose(params->file); - free(params); - return NULL; - } - return params; -} - -static int start_new_file(char *path, ext2_ino_t ino EXT2FS_ATTR((unused)), - struct ext2_inode *inode, void *data) -{ - struct base_fs *params = data; - - params->entry.path = LINUX_S_ISREG(inode->i_mode) ? path : NULL; - return 0; -} - -static int add_block(ext2_filsys fs EXT2FS_ATTR((unused)), blk64_t blocknr, - int metadata, void *data) -{ - struct base_fs *params = data; - - if (params->entry.path && !metadata) - add_blocks_to_range(¶ms->entry.blocks, blocknr, blocknr); - return 0; -} - -static int inline_data(void *inline_data EXT2FS_ATTR((unused)), - void *data EXT2FS_ATTR((unused))) -{ - return 0; -} - -static int end_new_file(void *data) -{ - struct base_fs *params = data; - - if (!params->entry.path) - return 0; - if (fprintf(params->file, "%s%s ", params->mountpoint, - params->entry.path) < 0 - || write_block_ranges(params->file, params->entry.blocks.head, ",") - || fwrite("\n", 1, 1, params->file) != 1) - return -1; - - delete_block_ranges(¶ms->entry.blocks); - return 0; -} - -static int cleanup(void *data) -{ - struct base_fs *params = data; - - fclose(params->file); - free(params); - return 0; -} - -struct fsmap_format base_fs_format = { - .init = init, - .start_new_file = start_new_file, - .add_block = add_block, - .inline_data = inline_data, - .end_new_file = end_new_file, - .cleanup = cleanup, -}; diff --git a/src/_nfdos/e2fsprogs/contrib/android/base_fs.h b/src/_nfdos/e2fsprogs/contrib/android/base_fs.h deleted file mode 100644 index f53f1ed..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/base_fs.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef BASE_FS_H -# define BASE_FS_H - -# include "fsmap.h" -# include "hashmap.h" -# include "block_range.h" - -struct basefs_entry { - char *path; - struct block_range_list blocks; -}; - -extern struct fsmap_format base_fs_format; - -struct ext2fs_hashmap *basefs_parse(const char *file, const char *mountpoint); - -#endif /* !BASE_FS_H */ diff --git a/src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.c b/src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.c deleted file mode 100644 index 4f9f5c1..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.c +++ /dev/null @@ -1,388 +0,0 @@ -#include -#include -#include -#include "basefs_allocator.h" -#include "block_range.h" -#include "hashmap.h" -#include "base_fs.h" - -struct base_fs_allocator { - struct ext2fs_hashmap *entries; - struct basefs_entry *cur_entry; - /* The next expected logical block to allocate for cur_entry. */ - blk64_t next_lblk; - /* Blocks which are definitely owned by a single inode in BaseFS. */ - ext2fs_block_bitmap exclusive_block_map; - /* Blocks which are available to the first inode that requests it. */ - ext2fs_block_bitmap dedup_block_map; -}; - -static errcode_t basefs_block_allocator(ext2_filsys, blk64_t, blk64_t *, - struct blk_alloc_ctx *ctx); - -/* - * Free any reserved, but unconsumed block ranges in the allocator. This both - * frees the block_range_list data structure and unreserves exclusive blocks - * from the block map. - */ -static void fs_free_blocks_range(ext2_filsys fs, - struct base_fs_allocator *allocator, - struct block_range_list *list) -{ - ext2fs_block_bitmap exclusive_map = allocator->exclusive_block_map; - - blk64_t block; - while (list->head) { - block = consume_next_block(list); - if (ext2fs_test_block_bitmap2(exclusive_map, block)) { - ext2fs_unmark_block_bitmap2(fs->block_map, block); - ext2fs_unmark_block_bitmap2(exclusive_map, block); - } - } -} - -/* - * Free any blocks in the bitmap that were reserved but never used. This is - * needed to free dedup_block_map and ensure the free block bitmap is - * internally consistent. - */ -static void fs_free_blocks_bitmap(ext2_filsys fs, ext2fs_block_bitmap bitmap) -{ - blk64_t block = 0; - blk64_t start = fs->super->s_first_data_block; - blk64_t end = ext2fs_blocks_count(fs->super) - 1; - errcode_t retval; - - for (;;) { - retval = ext2fs_find_first_set_block_bitmap2(bitmap, start, end, - &block); - if (retval) - break; - ext2fs_unmark_block_bitmap2(fs->block_map, block); - start = block + 1; - } -} - -static void basefs_allocator_free(ext2_filsys fs, - struct base_fs_allocator *allocator) -{ - struct basefs_entry *e; - struct ext2fs_hashmap_entry *it = NULL; - struct ext2fs_hashmap *entries = allocator->entries; - - if (entries) { - while ((e = ext2fs_hashmap_iter_in_order(entries, &it))) { - fs_free_blocks_range(fs, allocator, &e->blocks); - delete_block_ranges(&e->blocks); - } - ext2fs_hashmap_free(entries); - } - fs_free_blocks_bitmap(fs, allocator->dedup_block_map); - ext2fs_free_block_bitmap(allocator->exclusive_block_map); - ext2fs_free_block_bitmap(allocator->dedup_block_map); - free(allocator); -} - -/* - * Build a bitmap of which blocks are definitely owned by exactly one file in - * Base FS. Blocks which are not valid or are de-duplicated are skipped. This - * is called during allocator initialization, to ensure that libext2fs does - * not allocate which we want to re-use. - * - * If a block was allocated in the initial filesystem, it can never be re-used, - * so it will appear in neither the exclusive or dedup set. If a block is used - * by multiple files, it will be removed from the owned set and instead added - * to the dedup set. - * - * The dedup set is not removed from fs->block_map. This allows us to re-use - * dedup blocks separately and not have them be allocated outside of file data. - * - * This function returns non-zero if the block was owned, and 0 otherwise. - */ -static int fs_reserve_block(ext2_filsys fs, - struct base_fs_allocator *allocator, - blk64_t block) -{ - ext2fs_block_bitmap exclusive_map = allocator->exclusive_block_map; - ext2fs_block_bitmap dedup_map = allocator->dedup_block_map; - - if (block >= ext2fs_blocks_count(fs->super)) - return 0; - - if (ext2fs_test_block_bitmap2(fs->block_map, block)) { - if (!ext2fs_test_block_bitmap2(exclusive_map, block)) - return 0; - ext2fs_unmark_block_bitmap2(exclusive_map, block); - ext2fs_mark_block_bitmap2(dedup_map, block); - return 0; - } else { - ext2fs_mark_block_bitmap2(fs->block_map, block); - ext2fs_mark_block_bitmap2(exclusive_map, block); - return 1; - } -} - -/* - * Walk the requested block list and reserve blocks, either into the owned - * pool or the dedup pool as appropriate. We stop once the file has enough - * owned blocks to satisfy |file_size|. This allows any extra blocks to be - * re-used, since otherwise a large block movement between files could - * trigger block allocation errors. - */ -static void fs_reserve_blocks_range(ext2_filsys fs, - struct base_fs_allocator *allocator, - struct block_range_list *list, - off_t file_size) -{ - blk64_t block; - off_t blocks_needed; - off_t blocks_acquired = 0; - struct block_range *blocks = list->head; - - blocks_needed = file_size + (fs->blocksize - 1); - blocks_needed /= fs->blocksize; - - while (blocks) { - for (block = blocks->start; block <= blocks->end; block++) { - if (fs_reserve_block(fs, allocator, block)) - blocks_acquired++; - if (blocks_acquired >= blocks_needed) - return; - } - blocks = blocks->next; - } -} - -/* - * For each file in the base FS map, ensure that its blocks are reserved in - * the actual block map. This prevents libext2fs from allocating them for - * general purpose use, and ensures that if the file needs data blocks, they - * can be re-acquired exclusively for that file. - * - * If a file in the base map is missing, or not a regular file in the new - * filesystem, then it's skipped to ensure that its blocks are reusable. - */ -static errcode_t fs_reserve_blocks(ext2_filsys fs, - struct base_fs_allocator *allocator, - const char *src_dir) -{ - int nbytes; - char full_path[PATH_MAX]; - const char *sep = "/"; - struct stat st; - struct basefs_entry *e; - struct ext2fs_hashmap_entry *it = NULL; - struct ext2fs_hashmap *entries = allocator->entries; - - if (strlen(src_dir) && src_dir[strlen(src_dir) - 1] == '/') - sep = ""; - - while ((e = ext2fs_hashmap_iter_in_order(entries, &it))) { - nbytes = snprintf(full_path, sizeof(full_path), "%s%s%s", - src_dir, sep, e->path); - if (nbytes >= sizeof(full_path)) - return ENAMETOOLONG; - if (lstat(full_path, &st) || !S_ISREG(st.st_mode)) - continue; - fs_reserve_blocks_range(fs, allocator, &e->blocks, st.st_size); - } - return 0; -} - -errcode_t base_fs_alloc_load(ext2_filsys fs, const char *file, - const char *mountpoint, const char *src_dir) -{ - errcode_t retval = 0; - struct base_fs_allocator *allocator; - - allocator = calloc(1, sizeof(*allocator)); - if (!allocator) { - retval = ENOMEM; - goto out; - } - - retval = ext2fs_read_bitmaps(fs); - if (retval) - goto err_load; - - allocator->cur_entry = NULL; - allocator->entries = basefs_parse(file, mountpoint); - if (!allocator->entries) { - retval = EIO; - goto err_load; - } - retval = ext2fs_allocate_block_bitmap(fs, "exclusive map", - &allocator->exclusive_block_map); - if (retval) - goto err_load; - retval = ext2fs_allocate_block_bitmap(fs, "dedup map", - &allocator->dedup_block_map); - if (retval) - goto err_load; - - retval = fs_reserve_blocks(fs, allocator, src_dir); - if (retval) - goto err_load; - - /* Override the default allocator */ - fs->get_alloc_block2 = basefs_block_allocator; - fs->priv_data = allocator; - - goto out; - -err_load: - basefs_allocator_free(fs, allocator); -out: - return retval; -} - -/* Try and acquire the next usable block from the Base FS map. */ -static errcode_t get_next_block(ext2_filsys fs, struct base_fs_allocator *allocator, - struct block_range_list* list, blk64_t *ret) -{ - blk64_t block; - ext2fs_block_bitmap exclusive_map = allocator->exclusive_block_map; - ext2fs_block_bitmap dedup_map = allocator->dedup_block_map; - - if (!list->head) - return EXT2_ET_BLOCK_ALLOC_FAIL; - - block = consume_next_block(list); - if (block >= ext2fs_blocks_count(fs->super)) - return EXT2_ET_BLOCK_ALLOC_FAIL; - if (ext2fs_test_block_bitmap2(exclusive_map, block)) { - ext2fs_unmark_block_bitmap2(exclusive_map, block); - *ret = block; - return 0; - } - if (ext2fs_test_block_bitmap2(dedup_map, block)) { - ext2fs_unmark_block_bitmap2(dedup_map, block); - *ret = block; - return 0; - } - return EXT2_ET_BLOCK_ALLOC_FAIL; -} - -/* - * BaseFS lists blocks in logical block order. However, the allocator hook is - * only called if a block needs to be allocated. In the case of a deduplicated - * block, or a hole, the hook is not invoked. This means the next block - * allocation request will be out of sequence. For example, consider if BaseFS - * specifies the following (0 being a hole): - * 1 2 3 0 4 5 - * - * If the new file has a hole at logical block 0, we could accidentally - * shift the entire expected block list as follows: - * 0 1 2 0 3 4 - * - * To account for this, we track the next expected logical block in the - * allocator. If the current request is for a later logical block, we skip and - * free the intermediate physical blocks that would have been allocated. This - * ensures the original block assignment is respected. - */ -static void skip_blocks(ext2_filsys fs, struct base_fs_allocator *allocator, - struct blk_alloc_ctx *ctx) -{ - blk64_t block; - struct block_range_list *list = &allocator->cur_entry->blocks; - ext2fs_block_bitmap exclusive_map = allocator->exclusive_block_map; - - while (list->head && allocator->next_lblk < ctx->lblk) { - block = consume_next_block(list); - if (block >= ext2fs_blocks_count(fs->super)) - continue; - if (ext2fs_test_block_bitmap2(exclusive_map, block)) { - ext2fs_unmark_block_bitmap2(exclusive_map, block); - ext2fs_unmark_block_bitmap2(fs->block_map, block); - } - allocator->next_lblk++; - } -} - -static errcode_t basefs_block_allocator(ext2_filsys fs, blk64_t goal, - blk64_t *ret, struct blk_alloc_ctx *ctx) -{ - errcode_t retval; - struct base_fs_allocator *allocator = fs->priv_data; - struct basefs_entry *e = allocator->cur_entry; - ext2fs_block_bitmap dedup_map = allocator->dedup_block_map; - - if (e && ctx && (ctx->flags & BLOCK_ALLOC_DATA)) { - if (allocator->next_lblk < ctx->lblk) - skip_blocks(fs, allocator, ctx); - allocator->next_lblk = ctx->lblk + 1; - - if (!get_next_block(fs, allocator, &e->blocks, ret)) - return 0; - } - - retval = ext2fs_new_block2(fs, goal, fs->block_map, ret); - if (!retval) { - ext2fs_mark_block_bitmap2(fs->block_map, *ret); - return 0; - } - if (retval != EXT2_ET_BLOCK_ALLOC_FAIL) - return retval; - - /* Try to steal a block from the dedup pool. */ - retval = ext2fs_find_first_set_block_bitmap2(dedup_map, - fs->super->s_first_data_block, - ext2fs_blocks_count(fs->super) - 1, ret); - if (!retval) { - ext2fs_unmark_block_bitmap2(dedup_map, *ret); - return 0; - } - - /* - * As a last resort, take any block from our file's list. This - * risks bloating the diff, but means we are more likely to - * successfully build an image. - */ - while (e->blocks.head) { - if (!get_next_block(fs, allocator, &e->blocks, ret)) - return 0; - } - return EXT2_ET_BLOCK_ALLOC_FAIL; -} - -void base_fs_alloc_cleanup(ext2_filsys fs) -{ - basefs_allocator_free(fs, fs->priv_data); - fs->priv_data = NULL; - fs->get_alloc_block2 = NULL; -} - -errcode_t base_fs_alloc_set_target(ext2_filsys fs, const char *target_path, - const char *name EXT2FS_ATTR((unused)), - ext2_ino_t parent_ino EXT2FS_ATTR((unused)), - ext2_ino_t root EXT2FS_ATTR((unused)), mode_t mode) -{ - struct base_fs_allocator *allocator = fs->priv_data; - - if (mode != S_IFREG) - return 0; - - if (allocator) { - allocator->cur_entry = ext2fs_hashmap_lookup(allocator->entries, - target_path, - strlen(target_path)); - allocator->next_lblk = 0; - } - return 0; -} - -errcode_t base_fs_alloc_unset_target(ext2_filsys fs, - const char *target_path EXT2FS_ATTR((unused)), - const char *name EXT2FS_ATTR((unused)), - ext2_ino_t parent_ino EXT2FS_ATTR((unused)), - ext2_ino_t root EXT2FS_ATTR((unused)), mode_t mode) -{ - struct base_fs_allocator *allocator = fs->priv_data; - - if (!allocator || !allocator->cur_entry || mode != S_IFREG) - return 0; - - fs_free_blocks_range(fs, allocator, &allocator->cur_entry->blocks); - delete_block_ranges(&allocator->cur_entry->blocks); - return 0; -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.h b/src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.h deleted file mode 100644 index 6d1c65e..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/basefs_allocator.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef BASE_FS_ALLOCATOR_H -# define BASE_FS_ALLOCATOR_H - -# include -# include - -errcode_t base_fs_alloc_load(ext2_filsys fs, const char *file, - const char *mountpoint, const char *src_dir); -void base_fs_alloc_cleanup(ext2_filsys fs); - -errcode_t base_fs_alloc_set_target(ext2_filsys fs, const char *target_path, - const char *name, ext2_ino_t parent_ino, ext2_ino_t root, mode_t mode); -errcode_t base_fs_alloc_unset_target(ext2_filsys fs, const char *target_path, - const char *name, ext2_ino_t parent_ino, ext2_ino_t root, mode_t mode); - -#endif /* !BASE_FS_ALLOCATOR_H */ diff --git a/src/_nfdos/e2fsprogs/contrib/android/block_list.c b/src/_nfdos/e2fsprogs/contrib/android/block_list.c deleted file mode 100644 index 63cc1a2..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/block_list.c +++ /dev/null @@ -1,89 +0,0 @@ -#include "block_list.h" -#include "block_range.h" -#include -#include -#include -#include - -struct block_list { - FILE *f; - const char *mountpoint; - - const char *filename; - struct block_range_list blocks; -}; - -static void *init(const char *file, const char *mountpoint) -{ - struct block_list *params = calloc(1, sizeof(*params)); - - if (!params) - return NULL; - params->mountpoint = mountpoint; - params->f = fopen(file, "w+"); - if (!params->f) { - free(params); - return NULL; - } - return params; -} - -static int start_new_file(char *path, ext2_ino_t ino EXT2FS_ATTR((unused)), - struct ext2_inode *inode EXT2FS_ATTR((unused)), - void *data) -{ - struct block_list *params = data; - - params->filename = LINUX_S_ISREG(inode->i_mode) ? path : NULL; - return 0; -} - -static int add_block(ext2_filsys fs EXT2FS_ATTR((unused)), blk64_t blocknr, - int metadata, void *data) -{ - struct block_list *params = data; - - if (params->filename && !metadata) - add_blocks_to_range(¶ms->blocks, blocknr, blocknr); - return 0; -} - -static int inline_data(void *inline_data EXT2FS_ATTR((unused)), - void *data EXT2FS_ATTR((unused))) -{ - return 0; -} - -static int end_new_file(void *data) -{ - struct block_list *params = data; - - if (!params->filename || !params->blocks.head) - return 0; - if (fprintf(params->f, "%s%s ", params->mountpoint, - params->filename) < 0 - || write_block_ranges(params->f, params->blocks.head, " ") - || fwrite("\n", 1, 1, params->f) != 1) - return -1; - - delete_block_ranges(¶ms->blocks); - return 0; -} - -static int cleanup(void *data) -{ - struct block_list *params = data; - - fclose(params->f); - free(params); - return 0; -} - -struct fsmap_format block_list_format = { - .init = init, - .start_new_file = start_new_file, - .add_block = add_block, - .inline_data = inline_data, - .end_new_file = end_new_file, - .cleanup = cleanup, -}; diff --git a/src/_nfdos/e2fsprogs/contrib/android/block_list.h b/src/_nfdos/e2fsprogs/contrib/android/block_list.h deleted file mode 100644 index 47041e4..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/block_list.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef BLOCK_LIST_H -# define BLOCK_LIST_H - -# include "fsmap.h" - -extern struct fsmap_format block_list_format; - -#endif /* !BLOCK_LIST_H */ diff --git a/src/_nfdos/e2fsprogs/contrib/android/block_range.c b/src/_nfdos/e2fsprogs/contrib/android/block_range.c deleted file mode 100644 index 0a06882..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/block_range.c +++ /dev/null @@ -1,80 +0,0 @@ -#define _GNU_SOURCE - -#include "block_range.h" -#include - -struct block_range *new_block_range(blk64_t start, blk64_t end) -{ - struct block_range *range = malloc(sizeof(*range)); - range->start = start; - range->end = end; - range->next = NULL; - return range; -} - -void add_blocks_to_range(struct block_range_list *list, blk64_t blk_start, - blk64_t blk_end) -{ - if (list->head == NULL) - list->head = list->tail = new_block_range(blk_start, blk_end); - else if (list->tail->end + 1 == blk_start) - list->tail->end += (blk_end - blk_start + 1); - else { - struct block_range *range = new_block_range(blk_start, blk_end); - list->tail->next = range; - list->tail = range; - } -} - -static void remove_head(struct block_range_list *list) -{ - struct block_range *next_range = list->head->next; - - free(list->head); - if (next_range == NULL) - list->head = list->tail = NULL; - else - list->head = next_range; -} - -void delete_block_ranges(struct block_range_list *list) -{ - while (list->head) - remove_head(list); -} - -int write_block_ranges(FILE *f, struct block_range *range, - char *sep) -{ - int len; - char *buf; - - while (range) { - if (range->start == range->end) - len = asprintf(&buf, "%llu%s", range->start, sep); - else - len = asprintf(&buf, "%llu-%llu%s", range->start, - range->end, sep); - if (fwrite(buf, 1, len, f) != (size_t)len) { - free(buf); - return -1; - } - free(buf); - range = range->next; - } - - len = strlen(sep); - if (fseek(f, -len, SEEK_CUR) == -len) - return -1; - return 0; -} - -blk64_t consume_next_block(struct block_range_list *list) -{ - blk64_t ret = list->head->start; - - list->head->start += 1; - if (list->head->start > list->head->end) - remove_head(list); - return ret; -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/block_range.h b/src/_nfdos/e2fsprogs/contrib/android/block_range.h deleted file mode 100644 index cf7971e..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/block_range.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef BLOCK_RANGE_H -# define BLOCK_RANGE_H - -# include -# include - -struct block_range { - blk64_t start; - blk64_t end; - struct block_range *next; -}; - -struct block_range_list { - struct block_range *head; - struct block_range *tail; -}; - -void add_blocks_to_range(struct block_range_list *list, blk64_t blk_start, - blk64_t blk_end); -void delete_block_ranges(struct block_range_list *list); -int write_block_ranges(FILE *f, struct block_range *range, char *sep); - -/* - * Given a non-empty range list, return the next block and remove it from the - * list. - */ -blk64_t consume_next_block(struct block_range_list *list); - -#endif /* !BLOCK_RANGE_H */ diff --git a/src/_nfdos/e2fsprogs/contrib/android/e2fsdroid.c b/src/_nfdos/e2fsprogs/contrib/android/e2fsdroid.c deleted file mode 100644 index 6e51414..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/e2fsdroid.c +++ /dev/null @@ -1,377 +0,0 @@ -#define _GNU_SOURCE - -#include "config.h" -#include -#include -#include -#include -#include - -#include "perms.h" -#include "base_fs.h" -#include "block_list.h" -#include "basefs_allocator.h" -#include "create_inode.h" - -#ifndef UID_GID_MAP_MAX_EXTENTS -/* - * The value is defined in linux/user_namspace.h. - * The value is (arbitrarily) 5 in 4.14 and earlier, or 340 in 4.15 and later. - * Here, the bigger value is taken. See also man user_namespace(7). - */ -#define UID_GID_MAP_MAX_EXTENTS 340 -#endif - -static char *prog_name = "e2fsdroid"; -static char *in_file; -static char *block_list; -static char *basefs_out; -static char *basefs_in; -static char *mountpoint = ""; -static time_t fixed_time = -1; -static char *fs_config_file; -static struct selinux_opt seopt_file[8]; -static int max_nr_opt = (int)sizeof(seopt_file) / sizeof(seopt_file[0]); -static char *product_out; -static char *src_dir; -static int android_configure; -static int android_sparse_file = 1; - -static void usage(int ret) -{ - fprintf(stderr, "%s [-B block_list] [-D basefs_out] [-T timestamp]\n" - "\t[-C fs_config] [-S file_contexts] [-p product_out]\n" - "\t[-a mountpoint] [-d basefs_in] [-f src_dir] [-e] [-s]\n" - "\t[-u uid-mapping] [-g gid-mapping] image\n", - prog_name); - exit(ret); -} - -static char *absolute_path(const char *file) -{ - char *ret; - char cwd[PATH_MAX]; - - if (file[0] != '/') { - if (getcwd(cwd, PATH_MAX) == NULL) { - fprintf(stderr, "Failed to getcwd\n"); - exit(EXIT_FAILURE); - } - ret = malloc(strlen(cwd) + 1 + strlen(file) + 1); - if (ret) - sprintf(ret, "%s/%s", cwd, file); - } else - ret = strdup(file); - return ret; -} - -static int parse_ugid_map_entry(char* line, struct ugid_map_entry* result) -{ - char *token, *token_saveptr; - size_t num_tokens; - unsigned int *parsed[] = {&result->child_id, - &result->parent_id, - &result->length}; - for (token = strtok_r(line, " ", &token_saveptr), num_tokens = 0; - token && num_tokens < 3; - token = strtok_r(NULL, " ", &token_saveptr), ++num_tokens) { - char* endptr = NULL; - unsigned long t = strtoul(token, &endptr, 10); - if ((t == ULONG_MAX && errno) || (t > UINT_MAX) || *endptr) { - fprintf(stderr, "Malformed u/gid mapping line\n"); - return 0; - } - *parsed[num_tokens] = (unsigned int) t; - } - if (num_tokens < 3 || strtok_r(NULL, " ", &token_saveptr) != NULL) { - fprintf(stderr, "Malformed u/gid mapping line\n"); - return 0; - } - if (result->child_id + result->length < result->child_id || - result->parent_id + result->length < result->parent_id) { - fprintf(stderr, "u/gid mapping overflow\n"); - return 0; - } - return 1; -} - -/* - * Returns 1 if [begin1, begin1+length1) and [begin2, begin2+length2) have - * overlapping range. Otherwise 0. - */ -static int is_overlapping(unsigned int begin1, unsigned int length1, - unsigned int begin2, unsigned int length2) -{ - unsigned int end1 = begin1 + length1; - unsigned int end2 = begin2 + length2; - return !(end1 <= begin2 || end2 <= begin1); -} - -/* - * Verifies if the given mapping works. - * - Checks if the number of entries is less than or equals to - * UID_GID_MAP_MAX_EXTENTS. - * - Checks if there is no overlapped ranges. - * Returns 1 if valid, otherwise 0. - */ -static int is_valid_ugid_map(const struct ugid_map* mapping) -{ - size_t i, j; - - if (mapping->size > UID_GID_MAP_MAX_EXTENTS) { - fprintf(stderr, "too many u/gid mapping entries\n"); - return 0; - } - - for (i = 0; i < mapping->size; ++i) { - const struct ugid_map_entry *entry1 = &mapping->entries[i]; - for (j = i + 1; j < mapping->size; ++j) { - const struct ugid_map_entry *entry2 = - &mapping->entries[j]; - if (is_overlapping(entry1->child_id, entry1->length, - entry2->child_id, entry2->length)) { - fprintf(stderr, - "Overlapping child u/gid: [%d %d %d]," - " [%d %d %d]\n", - entry1->child_id, entry1->parent_id, - entry1->length, entry2->child_id, - entry2->parent_id, entry2->length); - return 0; - } - if (is_overlapping(entry1->parent_id, entry1->length, - entry2->parent_id, entry2->length)) { - fprintf(stderr, - "Overlapping parent u/gid: [%d %d %d]," - " [%d %d %d]\n", - entry1->child_id, entry1->parent_id, - entry1->length, entry2->child_id, - entry2->parent_id, entry2->length); - return 0; - } - } - } - return 1; -} - -/* - * Parses the UID/GID mapping argument. The argument could be a multi-line - * string (separated by '\n', no trailing '\n' is allowed). Each line must - * contain exact three integer tokens; the first token is |child_id|, - * the second is |parent_id|, and the last is |length| of the mapping range. - * See also user_namespace(7) man page. - * On success, the parsed entries are stored in |result|, and it returns 1. - * Otherwise, returns 0. - */ -static int parse_ugid_map(char* arg, struct ugid_map* result) -{ - int i; - char *line, *line_saveptr; - size_t current_index; - - /* Count the number of lines. */ - result->size = 1; - for (i = 0; arg[i]; ++i) { - if (arg[i] == '\n') - ++result->size; - } - - /* Allocate memory for entries. */ - result->entries = malloc(sizeof(struct ugid_map_entry) * result->size); - if (!result->entries) { - result->size = 0; - return 0; - } - - /* Parse each line */ - for (line = strtok_r(arg, "\n", &line_saveptr), current_index = 0; - line; - line = strtok_r(NULL, "\n", &line_saveptr), ++current_index) { - if (!parse_ugid_map_entry( - line, &result->entries[current_index])) { - return 0; - } - } - - return is_valid_ugid_map(result); -} - -int main(int argc, char *argv[]) -{ - int c; - char *p; - int flags = EXT2_FLAG_RW; - errcode_t retval; - io_manager io_mgr; - ext2_filsys fs = NULL; - struct fs_ops_callbacks fs_callbacks = { NULL, NULL }; - char *token; - int nr_opt = 0; - ext2_ino_t inodes_count; - ext2_ino_t free_inodes_count; - blk64_t blocks_count; - blk64_t free_blocks_count; - struct ugid_map uid_map = { 0, NULL }, gid_map = { 0, NULL }; - - add_error_table(&et_ext2_error_table); - - while ((c = getopt (argc, argv, "T:C:S:p:a:D:d:B:f:esu:g:")) != EOF) { - switch (c) { - case 'T': - fixed_time = strtoul(optarg, &p, 0); - android_configure = 1; - break; - case 'C': - fs_config_file = absolute_path(optarg); - android_configure = 1; - break; - case 'S': - token = strtok(optarg, ","); - while (token) { - if (nr_opt == max_nr_opt) { - fprintf(stderr, "Expected at most %d selinux opts\n", - max_nr_opt); - exit(EXIT_FAILURE); - } - seopt_file[nr_opt].type = SELABEL_OPT_PATH; - seopt_file[nr_opt].value = absolute_path(token); - nr_opt++; - token = strtok(NULL, ","); - } - android_configure = 1; - break; - case 'p': - product_out = absolute_path(optarg); - android_configure = 1; - break; - case 'a': - mountpoint = strdup(optarg); - break; - case 'D': - basefs_out = absolute_path(optarg); - break; - case 'd': - basefs_in = absolute_path(optarg); - break; - case 'B': - block_list = absolute_path(optarg); - break; - case 'f': - src_dir = absolute_path(optarg); - break; - case 'e': - android_sparse_file = 0; - break; - case 's': - flags |= EXT2_FLAG_SHARE_DUP; - break; - case 'u': - if (!parse_ugid_map(optarg, &uid_map)) - exit(EXIT_FAILURE); - android_configure = 1; - break; - case 'g': - if (!parse_ugid_map(optarg, &gid_map)) - exit(EXIT_FAILURE); - android_configure = 1; - break; - default: - usage(EXIT_FAILURE); - } - } - if (optind >= argc) { - fprintf(stderr, "Expected filename after options\n"); - exit(EXIT_FAILURE); - } - - if (android_sparse_file) { - io_mgr = sparse_io_manager; - if (asprintf(&in_file, "(%s)", argv[optind]) == -1) { - fprintf(stderr, "Failed to allocate file name\n"); - exit(EXIT_FAILURE); - } - } else { - io_mgr = unix_io_manager; - in_file = strdup(argv[optind]); - } - retval = ext2fs_open(in_file, flags, 0, 0, io_mgr, &fs); - if (retval) { - com_err(prog_name, retval, "while opening file %s\n", in_file); - return retval; - } - - if (src_dir) { - ext2fs_read_bitmaps(fs); - if (basefs_in) { - retval = base_fs_alloc_load(fs, basefs_in, mountpoint, - src_dir); - if (retval) { - com_err(prog_name, retval, "%s", - "while reading base_fs file"); - exit(1); - } - fs_callbacks.create_new_inode = - base_fs_alloc_set_target; - fs_callbacks.end_create_new_inode = - base_fs_alloc_unset_target; - } - retval = populate_fs2(fs, EXT2_ROOT_INO, src_dir, - EXT2_ROOT_INO, &fs_callbacks); - if (retval) { - com_err(prog_name, retval, "%s", - "while populating file system"); - exit(1); - } - if (basefs_in) - base_fs_alloc_cleanup(fs); - } - - if (android_configure) { - retval = android_configure_fs( - fs, src_dir, product_out, mountpoint, seopt_file, - nr_opt, fs_config_file, fixed_time, &uid_map, &gid_map); - if (retval) { - com_err(prog_name, retval, "%s", - "while configuring the file system"); - exit(1); - } - } - - if (block_list) { - retval = fsmap_iter_filsys(fs, &block_list_format, block_list, - mountpoint); - if (retval) { - com_err(prog_name, retval, "%s", - "while creating the block_list"); - exit(1); - } - } - - if (basefs_out) { - retval = fsmap_iter_filsys(fs, &base_fs_format, - basefs_out, mountpoint); - if (retval) { - com_err(prog_name, retval, "%s", - "while creating the basefs file"); - exit(1); - } - } - - inodes_count = fs->super->s_inodes_count; - free_inodes_count = fs->super->s_free_inodes_count; - blocks_count = ext2fs_blocks_count(fs->super); - free_blocks_count = ext2fs_free_blocks_count(fs->super); - - retval = ext2fs_close_free(&fs); - if (retval) { - com_err(prog_name, retval, "%s", - "while writing superblocks"); - exit(1); - } - - printf("Created filesystem with %u/%u inodes and %llu/%llu blocks\n", - inodes_count - free_inodes_count, inodes_count, - blocks_count - free_blocks_count, blocks_count); - - remove_error_table(&et_ext2_error_table); - return 0; -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/ext2simg.c b/src/_nfdos/e2fsprogs/contrib/android/ext2simg.c deleted file mode 100644 index 017e16f..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/ext2simg.c +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -struct { - int crc; - int sparse; - int gzip; - char *in_file; - char *out_file; - bool overwrite_input; -} params = { - .crc = 0, - .sparse = 1, - .gzip = 0, -}; - -#define ext2fs_fatal(Retval, Format, ...) \ - do { \ - com_err("error", Retval, Format, __VA_ARGS__); \ - exit(EXIT_FAILURE); \ - } while(0) - -#define sparse_fatal(Format) \ - do { \ - fprintf(stderr, "sparse: "Format); \ - exit(EXIT_FAILURE); \ - } while(0) - -static void usage(char *path) -{ - char *progname = basename(path); - - fprintf(stderr, "%s [ options ] \n" - " -c include CRC block\n" - " -z gzip output\n" - " -S don't use sparse output format\n", progname); -} - -static struct buf_item { - struct buf_item *next; - void *buf[0]; -} *buf_list; - -static void add_chunk(ext2_filsys fs, struct sparse_file *s, blk_t chunk_start, blk_t chunk_end) -{ - int retval; - unsigned int nb_blk = chunk_end - chunk_start; - size_t len = nb_blk * fs->blocksize; - int64_t offset = (int64_t)chunk_start * (int64_t)fs->blocksize; - - if (params.overwrite_input == false) { - if (sparse_file_add_file(s, params.in_file, offset, len, chunk_start) < 0) - sparse_fatal("adding data to the sparse file"); - } else { - /* - * The input file will be overwritten, make a copy of - * the blocks - */ - struct buf_item *bi = calloc(1, sizeof(struct buf_item) + len); - if (buf_list == NULL) - buf_list = bi; - else { - bi->next = buf_list; - buf_list = bi; - } - - retval = io_channel_read_blk64(fs->io, chunk_start, nb_blk, bi->buf); - if (retval < 0) - ext2fs_fatal(retval, "reading block %u - %u", chunk_start, chunk_end); - - if (sparse_file_add_data(s, bi->buf, len, chunk_start) < 0) - sparse_fatal("adding data to the sparse file"); - } -} - -static void free_chunks(void) -{ - struct buf_item *bi; - - while (buf_list) { - bi = buf_list->next; - free(buf_list); - buf_list = bi; - } -} - -static struct sparse_file *ext_to_sparse(const char *in_file) -{ - errcode_t retval; - ext2_filsys fs; - struct sparse_file *s; - int64_t chunk_start = -1; - blk_t first_blk, last_blk, nb_blk, cur_blk; - - retval = ext2fs_open(in_file, 0, 0, 0, unix_io_manager, &fs); - if (retval) - ext2fs_fatal(retval, "while reading %s", in_file); - - retval = ext2fs_read_block_bitmap(fs); - if (retval) - ext2fs_fatal(retval, "while reading block bitmap of %s", in_file); - - first_blk = ext2fs_get_block_bitmap_start2(fs->block_map); - last_blk = ext2fs_get_block_bitmap_end2(fs->block_map); - nb_blk = last_blk - first_blk + 1; - - s = sparse_file_new(fs->blocksize, (uint64_t)fs->blocksize * (uint64_t)nb_blk); - if (!s) - sparse_fatal("creating sparse file"); - - /* - * The sparse format encodes the size of a chunk (and its header) in a - * 32-bit unsigned integer (UINT32_MAX) - * When writing the chunk, the library uses a single call to write(). - * Linux's implementation of the 'write' syscall does not allow transfers - * larger than INT32_MAX (32-bit _and_ 64-bit systems). - * Make sure we do not create chunks larger than this limit. - */ - int64_t max_blk_per_chunk = (INT32_MAX - 12) / fs->blocksize; - - /* Iter on the blocks to merge contiguous chunk */ - for (cur_blk = first_blk; cur_blk <= last_blk; ++cur_blk) { - if (ext2fs_test_block_bitmap2(fs->block_map, cur_blk)) { - if (chunk_start == -1) { - chunk_start = cur_blk; - } else if (cur_blk - chunk_start + 1 == max_blk_per_chunk) { - add_chunk(fs, s, chunk_start, cur_blk); - chunk_start = -1; - } - } else if (chunk_start != -1) { - add_chunk(fs, s, chunk_start, cur_blk); - chunk_start = -1; - } - } - if (chunk_start != -1) - add_chunk(fs, s, chunk_start, cur_blk - 1); - - ext2fs_free(fs); - return s; -} - -static bool same_file(const char *in, const char *out) -{ - struct stat st1, st2; - - if (access(out, F_OK) == -1) - return false; - - if (lstat(in, &st1) == -1) - ext2fs_fatal(errno, "stat %s\n", in); - if (lstat(out, &st2) == -1) - ext2fs_fatal(errno, "stat %s\n", out); - return st1.st_ino == st2.st_ino; -} - -int main(int argc, char *argv[]) -{ - int opt; - int out_fd; - struct sparse_file *s; - - while ((opt = getopt(argc, argv, "czS")) != -1) { - switch(opt) { - case 'c': - params.crc = 1; - break; - case 'z': - params.gzip = 1; - break; - case 'S': - params.sparse = 0; - break; - default: - usage(argv[0]); - exit(EXIT_FAILURE); - } - } - if (optind + 1 >= argc) { - usage(argv[0]); - exit(EXIT_FAILURE); - } - params.in_file = strdup(argv[optind++]); - params.out_file = strdup(argv[optind]); - params.overwrite_input = same_file(params.in_file, params.out_file); - - s = ext_to_sparse(params.in_file); - - out_fd = open(params.out_file, O_WRONLY | O_CREAT | O_TRUNC, 0664); - if (out_fd == -1) - ext2fs_fatal(errno, "opening %s\n", params.out_file); - if (sparse_file_write(s, out_fd, params.gzip, params.sparse, params.crc) < 0) - sparse_fatal("writing sparse file"); - - sparse_file_destroy(s); - - free(params.in_file); - free(params.out_file); - free_chunks(); - close(out_fd); - - return 0; -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/fsmap.c b/src/_nfdos/e2fsprogs/contrib/android/fsmap.c deleted file mode 100644 index 9ee8472..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/fsmap.c +++ /dev/null @@ -1,169 +0,0 @@ -#include "fsmap.h" -#include -#include -#include -#include -#include "support/nls-enable.h" - -struct walk_ext_priv_data { - char *path; - ext2_filsys fs; - struct fsmap_format *format; -}; - -static int walk_block(ext2_filsys fs EXT2FS_ATTR((unused)), blk64_t *blocknr, - e2_blkcnt_t blockcnt, - blk64_t ref64_blk EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *priv) -{ - struct walk_ext_priv_data *pdata = priv; - struct fsmap_format *format = pdata->format; - - return format->add_block(fs, *blocknr, blockcnt < 0, format->private); -} - -static errcode_t ino_iter_extents(ext2_filsys fs, ext2_ino_t ino, - ext2_extent_handle_t extents, - struct walk_ext_priv_data *pdata) -{ - blk64_t block; - errcode_t retval; - blk64_t next_lblk = 0; - int op = EXT2_EXTENT_ROOT; - struct ext2fs_extent extent; - struct fsmap_format *format = pdata->format; - - for (;;) { - retval = ext2fs_extent_get(extents, op, &extent); - if (retval) - break; - - op = EXT2_EXTENT_NEXT; - - if ((extent.e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) || - !(extent.e_flags & EXT2_EXTENT_FLAGS_LEAF)) - continue; - - for (; next_lblk < extent.e_lblk; next_lblk++) - format->add_block(fs, 0, 0, format->private); - - block = extent.e_pblk; - for (; next_lblk < extent.e_lblk + extent.e_len; next_lblk++) - format->add_block(fs, block++, 0, format->private); - } - - if (retval == EXT2_ET_EXTENT_NO_NEXT) - retval = 0; - if (retval) { - com_err(__func__, retval, ("getting extents of ino \"%u\""), - ino); - } - return retval; -} - -static errcode_t ino_iter_blocks(ext2_filsys fs, ext2_ino_t ino, - struct walk_ext_priv_data *pdata) -{ - errcode_t retval; - struct ext2_inode inode; - ext2_extent_handle_t extents; - struct fsmap_format *format = pdata->format; - - retval = ext2fs_read_inode(fs, ino, &inode); - if (retval) - return retval; - - if (!ext2fs_inode_has_valid_blocks2(fs, &inode)) - return format->inline_data(&(inode.i_block[0]), - format->private); - - retval = ext2fs_extent_open(fs, ino, &extents); - if (retval == EXT2_ET_INODE_NOT_EXTENT) { - retval = ext2fs_block_iterate3(fs, ino, BLOCK_FLAG_READ_ONLY, - NULL, walk_block, pdata); - if (retval) { - com_err(__func__, retval, _("listing blocks of ino \"%u\""), - ino); - } - return retval; - } - - retval = ino_iter_extents(fs, ino, extents, pdata); - - ext2fs_extent_free(extents); - return retval; -} - -static int is_dir(ext2_filsys fs, ext2_ino_t ino) -{ - struct ext2_inode inode; - - if (ext2fs_read_inode(fs, ino, &inode)) - return 0; - return S_ISDIR(inode.i_mode); -} - -static int walk_ext_dir(ext2_ino_t dir EXT2FS_ATTR((unused)), - int flags EXT2FS_ATTR((unused)), - struct ext2_dir_entry *de, - int offset EXT2FS_ATTR((unused)), - int blocksize EXT2FS_ATTR((unused)), - char *buf EXT2FS_ATTR((unused)), void *priv_data) -{ - errcode_t retval; - struct ext2_inode inode; - char *filename, *cur_path, *name = de->name; - int name_len = de->name_len & 0xff; - struct walk_ext_priv_data *pdata = priv_data; - struct fsmap_format *format = pdata->format; - - if (!strncmp(name, ".", name_len) - || !strncmp(name, "..", name_len) - || !strncmp(name, "lost+found", 10)) - return 0; - - if (asprintf(&filename, "%s/%.*s", pdata->path, name_len, name) < 0) - return -ENOMEM; - - retval = ext2fs_read_inode(pdata->fs, de->inode, &inode); - if (retval) { - com_err(__func__, retval, _("reading ino \"%u\""), de->inode); - goto end; - } - format->start_new_file(filename, de->inode, &inode, format->private); - retval = ino_iter_blocks(pdata->fs, de->inode, pdata); - if (retval) - return retval; - format->end_new_file(format->private); - - retval = 0; - if (is_dir(pdata->fs, de->inode)) { - cur_path = pdata->path; - pdata->path = filename; - retval = ext2fs_dir_iterate2(pdata->fs, de->inode, 0, NULL, - walk_ext_dir, pdata); - pdata->path = cur_path; - } - -end: - free(filename); - return retval; -} - -errcode_t fsmap_iter_filsys(ext2_filsys fs, struct fsmap_format *format, - const char *file, const char *mountpoint) -{ - struct walk_ext_priv_data pdata; - errcode_t retval; - - format->private = format->init(file, mountpoint); - pdata.fs = fs; - pdata.path = ""; - pdata.format = format; - - retval = ext2fs_dir_iterate2(fs, EXT2_ROOT_INO, 0, NULL, walk_ext_dir, &pdata); - - format->cleanup(format->private); - return retval; -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/fsmap.h b/src/_nfdos/e2fsprogs/contrib/android/fsmap.h deleted file mode 100644 index 9f84a71..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/fsmap.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef FSMAP_H -# define FSMAP_H - -# ifndef _GNU_SOURCE -# define _GNU_SOURCE // asprintf -# endif -# include -# include -# include -# include -# include - -struct fsmap_format { - void* (* init)(const char *file, const char *mountpoint); - int (* start_new_file)(char *path, ext2_ino_t ino, - struct ext2_inode *inode, void *data); - int (* add_block)(ext2_filsys fs, blk64_t blocknr, int metadata, - void *data); - int (* inline_data)(void *inline_data, void *data); - int (* end_new_file)(void *data); - int (* cleanup)(void *data); - - void *private; -}; - -errcode_t fsmap_iter_filsys(ext2_filsys fs, struct fsmap_format *format, - const char *file, const char *mountpoint); - -#endif /* !FSMAP_H */ diff --git a/src/_nfdos/e2fsprogs/contrib/android/perms.c b/src/_nfdos/e2fsprogs/contrib/android/perms.c deleted file mode 100644 index dd05644..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/perms.c +++ /dev/null @@ -1,376 +0,0 @@ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE //asprintf -#endif -#include "config.h" -#include "perms.h" -#include "support/nls-enable.h" -#include -#include - -#ifndef XATTR_SELINUX_SUFFIX -# define XATTR_SELINUX_SUFFIX "selinux" -#endif -#ifndef XATTR_CAPS_SUFFIX -# define XATTR_CAPS_SUFFIX "capability" -#endif - -struct inode_params { - ext2_filsys fs; - char *path; - char *filename; - char *src_dir; - char *target_out; - char *mountpoint; - fs_config_f fs_config_func; - struct selabel_handle *sehnd; - time_t fixed_time; - const struct ugid_map* uid_map; - const struct ugid_map* gid_map; - errcode_t error; -}; - -static errcode_t ino_add_xattr(ext2_filsys fs, ext2_ino_t ino, const char *name, - const void *value, int value_len) -{ - errcode_t retval, close_retval; - struct ext2_xattr_handle *xhandle; - - retval = ext2fs_xattrs_open(fs, ino, &xhandle); - if (retval) { - com_err(__func__, retval, _("while opening inode %u"), ino); - return retval; - } - retval = ext2fs_xattrs_read(xhandle); - if (retval) { - com_err(__func__, retval, - _("while reading xattrs of inode %u"), ino); - goto xattrs_close; - } - retval = ext2fs_xattr_set(xhandle, name, value, value_len); - if (retval) { - com_err(__func__, retval, - _("while setting xattrs of inode %u"), ino); - goto xattrs_close; - } -xattrs_close: - close_retval = ext2fs_xattrs_close(&xhandle); - if (close_retval) { - com_err(__func__, close_retval, - _("while closing xattrs of inode %u"), ino); - return retval ? retval : close_retval; - } - return retval; -} - -static errcode_t set_selinux_xattr(ext2_filsys fs, ext2_ino_t ino, - struct inode_params *params) -{ - errcode_t retval; - char *secontext = NULL; - struct ext2_inode inode; - - if (params->sehnd == NULL) - return 0; - - retval = ext2fs_read_inode(fs, ino, &inode); - if (retval) { - com_err(__func__, retval, - _("while reading inode %u"), ino); - return retval; - } - - retval = selabel_lookup(params->sehnd, &secontext, params->filename, - inode.i_mode); - if (retval < 0) { - int saved_errno = errno; - com_err(__func__, errno, - _("searching for label \"%s\""), params->filename); - return saved_errno; - } - - retval = ino_add_xattr(fs, ino, "security." XATTR_SELINUX_SUFFIX, - secontext, strlen(secontext) + 1); - - freecon(secontext); - return retval; -} - -/* - * Returns mapped UID/GID if there is a corresponding entry in |mapping|. - * Otherwise |id| as is. - */ -static unsigned int resolve_ugid(const struct ugid_map* mapping, - unsigned int id) -{ - size_t i; - for (i = 0; i < mapping->size; ++i) { - const struct ugid_map_entry* entry = &mapping->entries[i]; - if (entry->parent_id <= id && - id < entry->parent_id + entry->length) { - return id + entry->child_id - entry->parent_id; - } - } - - /* No entry is found. */ - return id; -} - -static errcode_t set_perms_and_caps(ext2_filsys fs, ext2_ino_t ino, - struct inode_params *params) -{ - errcode_t retval; - uint64_t capabilities = 0; - struct ext2_inode inode; - struct vfs_cap_data cap_data; - unsigned int uid = 0, gid = 0, imode = 0; - - retval = ext2fs_read_inode(fs, ino, &inode); - if (retval) { - com_err(__func__, retval, _("while reading inode %u"), ino); - return retval; - } - - /* Permissions */ - if (params->fs_config_func != NULL) { - const char *filename = params->filename; - if (strcmp(filename, params->mountpoint) == 0) { - /* The root of the filesystem needs to be an empty string. */ - filename = ""; - } - params->fs_config_func(filename, S_ISDIR(inode.i_mode), - params->target_out, &uid, &gid, &imode, - &capabilities); - uid = resolve_ugid(params->uid_map, uid); - gid = resolve_ugid(params->gid_map, gid); - inode.i_uid = (__u16) uid; - inode.i_gid = (__u16) gid; - ext2fs_set_i_uid_high(inode, (__u16) (uid >> 16)); - ext2fs_set_i_gid_high(inode, (__u16) (gid >> 16)); - inode.i_mode = (inode.i_mode & S_IFMT) | (imode & 0xffff); - retval = ext2fs_write_inode(fs, ino, &inode); - if (retval) { - com_err(__func__, retval, - _("while writing inode %u"), ino); - return retval; - } - } - - /* Capabilities */ - if (!capabilities) - return 0; - memset(&cap_data, 0, sizeof(cap_data)); - cap_data.magic_etc = VFS_CAP_REVISION_2 | VFS_CAP_FLAGS_EFFECTIVE; - cap_data.data[0].permitted = (uint32_t) (capabilities & 0xffffffff); - cap_data.data[1].permitted = (uint32_t) (capabilities >> 32); - return ino_add_xattr(fs, ino, "security." XATTR_CAPS_SUFFIX, - &cap_data, sizeof(cap_data)); -} - -static errcode_t set_timestamp(ext2_filsys fs, ext2_ino_t ino, - struct inode_params *params) -{ - errcode_t retval; - struct ext2_inode inode; - struct stat stat; - char *src_filename = NULL; - - retval = ext2fs_read_inode(fs, ino, &inode); - if (retval) { - com_err(__func__, retval, - _("while reading inode %u"), ino); - return retval; - } - - if (params->fixed_time == -1 && params->src_dir) { - /* replace mountpoint from filename with src_dir */ - if (asprintf(&src_filename, "%s/%s", params->src_dir, - params->filename + strlen(params->mountpoint)) < 0) { - return -ENOMEM; - } - retval = lstat(src_filename, &stat); - if (retval < 0) { - com_err(__func__, errno, - _("while lstat file %s"), src_filename); - goto end; - } - inode.i_atime = inode.i_ctime = inode.i_mtime = stat.st_mtime; - } else { - inode.i_atime = inode.i_ctime = inode.i_mtime = params->fixed_time; - } - - retval = ext2fs_write_inode(fs, ino, &inode); - if (retval) { - com_err(__func__, retval, - _("while writing inode %u"), ino); - goto end; - } - -end: - free(src_filename); - return retval; -} - -static int is_dir(ext2_filsys fs, ext2_ino_t ino) -{ - struct ext2_inode inode; - - if (ext2fs_read_inode(fs, ino, &inode)) - return 0; - return S_ISDIR(inode.i_mode); -} - -static errcode_t androidify_inode(ext2_filsys fs, ext2_ino_t ino, - struct inode_params *params) -{ - errcode_t retval; - - retval = set_timestamp(fs, ino, params); - if (retval) - return retval; - - retval = set_selinux_xattr(fs, ino, params); - if (retval) - return retval; - - return set_perms_and_caps(fs, ino, params); -} - -static int walk_dir(ext2_ino_t dir EXT2FS_ATTR((unused)), - int flags EXT2FS_ATTR((unused)), - struct ext2_dir_entry *de, - int offset EXT2FS_ATTR((unused)), - int blocksize EXT2FS_ATTR((unused)), - char *buf EXT2FS_ATTR((unused)), void *priv_data) -{ - __u16 name_len; - errcode_t retval; - struct inode_params *params = (struct inode_params *)priv_data; - - name_len = de->name_len & 0xff; - if (!strncmp(de->name, ".", name_len) - || (!strncmp(de->name, "..", name_len))) - return 0; - - if (asprintf(¶ms->filename, "%s/%.*s", params->path, name_len, - de->name) < 0) { - params->error = ENOMEM; - return -ENOMEM; - } - - if (!strncmp(de->name, "lost+found", 10)) { - retval = set_selinux_xattr(params->fs, de->inode, params); - if (retval) - goto end; - } else { - retval = androidify_inode(params->fs, de->inode, params); - if (retval) - goto end; - if (is_dir(params->fs, de->inode)) { - char *cur_path = params->path; - char *cur_filename = params->filename; - params->path = params->filename; - retval = ext2fs_dir_iterate2(params->fs, de->inode, 0, NULL, - walk_dir, params); - if (retval) - goto end; - params->path = cur_path; - params->filename = cur_filename; - } - } - -end: - free(params->filename); - params->error |= retval; - return retval; -} - -errcode_t __android_configure_fs(ext2_filsys fs, char *src_dir, - char *target_out, - char *mountpoint, - fs_config_f fs_config_func, - struct selabel_handle *sehnd, - time_t fixed_time, - const struct ugid_map* uid_map, - const struct ugid_map* gid_map) -{ - errcode_t retval; - struct inode_params params = { - .fs = fs, - .src_dir = src_dir, - .target_out = target_out, - .fs_config_func = fs_config_func, - .sehnd = sehnd, - .fixed_time = fixed_time, - .path = mountpoint, - .filename = mountpoint, - .mountpoint = mountpoint, - .uid_map = uid_map, - .gid_map = gid_map, - .error = 0 - }; - - /* walk_dir will add the "/". Don't add it twice. */ - if (strlen(mountpoint) == 1 && mountpoint[0] == '/') - params.path = ""; - - retval = androidify_inode(fs, EXT2_ROOT_INO, ¶ms); - if (retval) - return retval; - - retval = ext2fs_dir_iterate2(fs, EXT2_ROOT_INO, 0, NULL, walk_dir, - ¶ms); - if (retval) - return retval; - return params.error; -} - -errcode_t android_configure_fs(ext2_filsys fs, char *src_dir, char *target_out, - char *mountpoint, - struct selinux_opt *seopts EXT2FS_ATTR((unused)), - unsigned int nopt EXT2FS_ATTR((unused)), - char *fs_config_file, time_t fixed_time, - const struct ugid_map* uid_map, - const struct ugid_map* gid_map) -{ - errcode_t retval; - fs_config_f fs_config_func = NULL; - struct selabel_handle *sehnd = NULL; - - /* Retrieve file contexts */ -#if !defined(__ANDROID__) - if (nopt > 0) { - sehnd = selabel_open(SELABEL_CTX_FILE, seopts, nopt); - if (!sehnd) { - int saved_errno = errno; - com_err(__func__, errno, - _("while opening file contexts \"%s\""), - seopts[0].value); - return saved_errno; - } - } -#else - sehnd = selinux_android_file_context_handle(); - if (!sehnd) { - com_err(__func__, EINVAL, - _("while opening android file_contexts")); - return EINVAL; - } -#endif - - /* Load the FS config */ - if (fs_config_file) { - retval = load_canned_fs_config(fs_config_file); - if (retval < 0) { - com_err(__func__, retval, - _("while loading fs_config \"%s\""), - fs_config_file); - return retval; - } - fs_config_func = canned_fs_config; - } else if (mountpoint) - fs_config_func = fs_config; - - return __android_configure_fs(fs, src_dir, target_out, mountpoint, - fs_config_func, sehnd, fixed_time, - uid_map, gid_map); -} diff --git a/src/_nfdos/e2fsprogs/contrib/android/perms.h b/src/_nfdos/e2fsprogs/contrib/android/perms.h deleted file mode 100644 index 9ea3f95..0000000 --- a/src/_nfdos/e2fsprogs/contrib/android/perms.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef ANDROID_PERMS_H -# define ANDROID_PERMS_H - -# include - -typedef void (*fs_config_f)(const char *path, int dir, - const char *target_out_path, - unsigned *uid, unsigned *gid, - unsigned *mode, uint64_t *capabilities); - -/* - * Represents a range of UID/GID mapping. - * This maps the id in [|parent_id|, |parent_id| + |length|) into - * [|child_id|, |child_id| + |length|) - */ -struct ugid_map_entry { - unsigned int child_id; - unsigned int parent_id; - unsigned int length; -}; - -struct ugid_map { - /* The number of elements in |entries|. */ - size_t size; - - /* An array of entries. If |size| is 0, this is a null pointer. */ - struct ugid_map_entry* entries; -}; - -# ifdef _WIN32 -struct selabel_handle; -static inline errcode_t android_configure_fs(ext2_filsys fs, - char *src_dir, - char *target_out, - char *mountpoint, - void *seopts, - unsigned int nopt, - char *fs_config_file, - time_t fixed_time, - const struct ugid_map* uid_map, - const struct ugdi_map* gid_map) -{ - return 0; -} -# else -# include -# include -# if defined(__ANDROID__) -# include -# endif -# include -# include -# include - -errcode_t android_configure_fs(ext2_filsys fs, char *src_dir, - char *target_out, - char *mountpoint, - struct selinux_opt *seopts, - unsigned int nopt, - char *fs_config_file, time_t fixed_time, - const struct ugid_map* uid_map, - const struct ugid_map* gid_map); - -# endif -#endif /* !ANDROID_PERMS_H */ diff --git a/src/_nfdos/e2fsprogs/contrib/build-rpm b/src/_nfdos/e2fsprogs/contrib/build-rpm deleted file mode 100644 index 0b06071..0000000 --- a/src/_nfdos/e2fsprogs/contrib/build-rpm +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -# enable xtrace output if requested -if [ -n ${ENABLE_XTRACE:-''} ]; then - set -x -fi - -# Build an e2fsprogs RPM from cvs - -pwd=`pwd` -currdir=`basename $pwd` -pkgname=`grep Name: e2fsprogs.spec | awk '{print $2;}'` -pkgvers=`grep Version: e2fsprogs.spec | awk '{print $2;}'` -builddir=${pkgname}-${pkgvers} - -# ensure that $TMP is set to something -TMP=${TMP:-'/tmp'} - -cd .. -tmpdir=`mktemp -d ${RPM_TMPDIR:-$TMP}/rpmtmp.XXXXXX` - -# We need to build a tarball for the SRPM using $builddir as the -# directory name (since that's what RPM will expect it to unpack -# into). That may require a symlink. - -# Make a recursive-symlink copy of the source dir -cp -sR `pwd`/$currdir $tmpdir/$builddir || exit 1 - -# Remove any build files from the temporary tarball directory -[ -f $tmpdir/$builddir/Makefile ] && make -C $tmpdir/$builddir distclean - -EXCLUDE="--exclude .hg* --exclude .pc*" -(cd $tmpdir && tar czfh ${builddir}.tar.gz $EXCLUDE $builddir) - -[ "`rpmbuild --version 2> /dev/null`" ] && RPM=rpmbuild || RPM=rpm - -$RPM --define "_sourcedir $tmpdir" \ - --define "_topdir ${RPM_TOPDIR:-$(rpm -E %_topdir)}" \ - --define "_tmpdir ${RPM_TMPDIR:-$TMP}" \ - --define "extra_config_flags ${EXTRA_CONFIG_FLAGS:-''}" \ - -ba $currdir/e2fsprogs.spec - -rpm_exit=$? -rm -rf $tmpdir -exit $rpm_exit diff --git a/src/_nfdos/e2fsprogs/contrib/dconf b/src/_nfdos/e2fsprogs/contrib/dconf deleted file mode 100644 index cef4cc6..0000000 --- a/src/_nfdos/e2fsprogs/contrib/dconf +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -#$Id$ -# Create Adobe-PostScript file that graphically displays the output of -# dumpe2fs(8). Use "dumpe2fs | dconf" to create a PostScript file on stdout. -# Developed and tested for Linux 1.0. -# Copyright (c) 1994 -# Ulrich Windl -# ALte Regensburger Strasse 11a -# D-93149 Nittenau, Germany -# -SELF=`basename $0` -AWKFILE=/tmp/${SELF}.awk -TEMPFILE=/tmp/${SELF}.tmp -echo ' -BEGIN { - print "B" -} -/^Inode count:/ { - ic=$3; next -} -/^Block count:/ { - bc=$3; next -} -/^First block:/ { - fb=$3; next -} -/^Block size:/ { - bs=$3; next -} -/^Blocks per group:/ { - bpg=$4 - printf("BC %d\n", bpg) - printf("GC %d\n", (bc + bpg - 1) / bpg) - next -} -/^Inodes per group:/ { - ipg=$4; next -} -/^Last write time:/ { - lwtime=$0; gsub("Last write time:[ ]+", "", lwtime) - printf("T %s\n", lwtime) - next -} -/^Group [0-9]+:/ { - group=$2; gsub(":", "", group) - block="" - group_start=group*bpg+fb - group_end=group_start+bpg - printf("G %d : %d - %d\n", group, group_start, group_end) - next -} -/^[ ]+Free blocks: / { - for ( i=3; i < NF; ++i ) { - block=$i; gsub(",", "", block) - if ( index(block, "-") == 0 ) block=block "-" block - pos=index(block, "-") - printf("FB %d-%d\n", - substr(block, 0, pos) - group_start, - substr(block, pos + 1) - group_start) - } - if ( block == "" ) printf("Group %d is full\n", group) - print "----" - next -} -END { - printf("E %s\n", lwtime) -}' >$AWKFILE -awk -f $AWKFILE $* >$TEMPFILE -echo ' -BEGIN { - printf("%%!PS-Adobe\n") - printf("%%%%BoundingBox: 0 0 1 1\n") - printf("/rect {/y2 exch def /x2 exch def /y1 exch def /x1 exch def\n") - printf(" newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto\n") - printf(" x1 y2 lineto closepath} def\n") - printf("/fb {rect gsave 1.0 setgray fill grestore} def\n") - printf("/dg {rect gsave gsave 0.0 setgray fill grestore\n") - printf(" 0.5 setgray stroke grestore} def\n") - printf("/textxy {moveto show} bind def\n") - printf("0.0001 setlinewidth\n") -} -$1 == "GC" && NF == 2 { - number_of_groups=$2 - printf("/Times-Roman findfont %g scalefont setfont\n", - 1.0 / number_of_groups) - next -} -$1 == "BC" && NF == 2 { - blocks_per_group=$2; next -} -$1 == "T" && NF > 1 { - printf("(%s) %g %g textxy\n", - substr($0, 2), 0, 1.02) - next -} -$1 == "G" && NF == 6 && $3 == ":" && $5 == "-" { - group_index=$2 - gs=$4 - ge=$6 - height=1.0 / number_of_groups - vstart=group_index * height - printf("%% group %d of %d:\n0 %g 1 %g dg\n", - group_index, number_of_groups, vstart, vstart + height) - printf("(Group %s) 1.02 %g textxy\n", group_index, vstart) - next -} -$1 == "FB" && NF == 2 { - pos = index($2, "-") - printf("%% hole %s\n%g %g %g %g fb\n", - $2, substr($2, 0, pos) / blocks_per_group, vstart, - (substr($2, pos + 1) + 1) / blocks_per_group, vstart + height) - next -} -END { - printf("%%%%EOF\n") -} -' >$AWKFILE -awk -f $AWKFILE $TEMPFILE diff --git a/src/_nfdos/e2fsprogs/contrib/dir2fs b/src/_nfdos/e2fsprogs/contrib/dir2fs deleted file mode 100755 index abcecb3..0000000 --- a/src/_nfdos/e2fsprogs/contrib/dir2fs +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh - -dir="$1" -dev="$2" - -if [ "$1" = "--help" ] || [ ! -d "${dir}" ]; then - echo "Usage: $0 dir [mke2fs args] dev" - exit 1 -fi - -shift - -# Goal: Put all the files at the beginning (which mke2fs does) and minimize -# the number of free inodes given the minimum number of blocks required. -# Hence all this math to get the inode ratio just right. - -bytes="$(du -ks "${dir}" | awk '{print $1}')" -bytes="$((bytes * 1024))" -inodes="$(find "${dir}" -print0 | xargs -0 stat -c '%i' | sort -g | uniq | wc -l)" -block_sz=4096 -inode_sz=256 -sb_overhead=4096 -blocks_per_group="$((block_sz * 8))" -bytes_per_group="$((blocks_per_group * block_sz))" -inode_bytes="$((inodes * inode_sz))" - -# Estimate overhead with the minimum number of groups... -nr_groups="$(( (bytes + inode_bytes + bytes_per_group - 1) / bytes_per_group))" -inode_bytes_per_group="$((inode_bytes / nr_groups))" -inode_blocks_per_group="$(( (inode_bytes_per_group + (block_sz - 1)) / block_sz ))" -per_grp_overhead="$(( ((3 + inode_blocks_per_group) * block_sz) + 64 ))" -overhead="$(( sb_overhead + (per_grp_overhead * nr_groups) ))" -used_bytes="$((bytes + overhead))" - -# Then do it again with the real number of groups. -nr_groups="$(( (used_bytes + (bytes_per_group - 1)) / bytes_per_group))" -tot_blocks="$((nr_groups * blocks_per_group))" -tot_bytes="$((tot_blocks * block_sz))" - -ratio="$((bytes / inodes))" -mkfs_blocks="$((tot_blocks * 4 / 3))" - -mke2fs -i "${ratio}" -T ext4 -d "${dir}" -O ^resize_inode,sparse_super2,metadata_csum,64bit,^has_journal -E packed_meta_blocks=1,num_backup_sb=0 -b "${block_sz}" -I "${inodesz}" -F "${dev}" "${mkfs_blocks}" || exit - -e2fsck -fyD "${dev}" - -blocks="$(dumpe2fs -h "${dev}" 2>&1 | grep 'Block count:' | awk '{print $3}')" -while resize2fs -f -M "${dev}"; do - new_blocks="$(dumpe2fs -h "${dev}" 2>&1 | grep 'Block count:' | awk '{print $3}')" - if [ "${new_blocks}" -eq "${blocks}" ]; then - break; - fi - blocks="${new_blocks}" -done - -if [ ! -b "${dev}" ]; then - truncate -s "$((blocks * block_sz))" "${dev}" || (e2image -ar "${dev}" "${dev}.min"; mv "${dev}.min" "${dev}") -fi - -e2fsck -fy "${dev}" - -dir_blocks="$((bytes / block_sz))" -overhead="$((blocks - dir_blocks))" -echo "Minimized image overhead: $((100 * overhead / dir_blocks))%" - -exit 0 diff --git a/src/_nfdos/e2fsprogs/contrib/e2croncheck b/src/_nfdos/e2fsprogs/contrib/e2croncheck deleted file mode 100755 index de0b41f..0000000 --- a/src/_nfdos/e2fsprogs/contrib/e2croncheck +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# -# e2croncheck -- run e2fsck automatically out of /etc/cron.weekly -# -# This script is intended to be run by the system administrator -# periodically from the command line, or to be run once a week -# or so by the cron daemon to check a mounted filesystem (normally -# the root filesystem, but it could be used to check other filesystems -# that are always mounted when the system is booted). -# -# Make sure you customize "VG" so it is your LVM volume group name, -# "VOLUME" so it is the name of the filesystem's logical volume, -# and "EMAIL" to be your e-mail address -# -# Written by Theodore Ts'o, Copyright 2007, 2008, 2009. -# -# This file may be redistributed under the terms of the -# GNU Public License, version 2. -# - -VG=ssd -VOLUME=root -SNAPSIZE=100m -EMAIL=sysadmin@example.com - -TMPFILE=`mktemp ${TMPDIR:-/tmp}/e2fsck.log.XXXXXXXXXX` - -OPTS="-Fttv -C0" -#OPTS="-Fttv -E fragcheck" - -set -e -START="$(date +'%Y%m%d%H%M%S')" -lvcreate -s -L ${SNAPSIZE} -n "${VOLUME}-snap" "${VG}/${VOLUME}" -if nice logsave -as $TMPFILE e2fsck -p $OPTS "/dev/${VG}/${VOLUME}-snap" && \ - nice logsave -as $TMPFILE e2fsck -fy $OPTS "/dev/${VG}/${VOLUME}-snap" ; then - echo 'Background scrubbing succeeded!' - tune2fs -C 0 -T "${START}" "/dev/${VG}/${VOLUME}" -else - echo 'Background scrubbing failed! Reboot to fsck soon!' - tune2fs -C 16000 -T "19000101" "/dev/${VG}/${VOLUME}" - if test -n "$RPT-EMAIL"; then - mail -s "E2fsck of /dev/${VG}/${VOLUME} failed!" $EMAIL < $TMPFILE - fi -fi -lvremove -f "${VG}/${VOLUME}-snap" -rm $TMPFILE - diff --git a/src/_nfdos/e2fsprogs/contrib/ext4-ioc.c b/src/_nfdos/e2fsprogs/contrib/ext4-ioc.c deleted file mode 100644 index 42f022d..0000000 --- a/src/_nfdos/e2fsprogs/contrib/ext4-ioc.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Test program to trigger various ext4 ioctl's - */ - -#include -#include -#include -#include -#include -#include - -#if (!defined(EXT4_IOC_ALLOC_DA_BLKS) && defined(__linux__)) -#define EXT4_IOC_ALLOC_DA_BLKS _IO('f', 12) -#endif - -#if (!defined(EXT4_IOC_SWAP_BOOT) && defined(__linux__)) -#define EXT4_IOC_SWAP_BOOT _IO('f', 17) -#endif - -#if (!defined(EXT4_IOC_PRECACHE_EXTENTS) && defined(__linux__)) -#define EXT4_IOC_PRECACHE_EXTENTS _IO('f', 18) -#endif - -#if (!defined(EXT4_IOC_CLEAR_ES_CACHE) && defined(__linux__)) -#define EXT4_IOC_CLEAR_ES_CACHE _IO('f', 40) -#endif - - -#define EXT4_F_RW 0x0001 - -struct cmd { - const char *cmd; - unsigned long ioc; - int flags; -}; - -struct cmd cmds[] = { - { "alloc_da_blks", EXT4_IOC_ALLOC_DA_BLKS, EXT4_F_RW }, - { "precache", EXT4_IOC_PRECACHE_EXTENTS, 0 }, - { "swap_boot", EXT4_IOC_SWAP_BOOT, EXT4_F_RW }, - { "clear_es_cache", EXT4_IOC_CLEAR_ES_CACHE, EXT4_F_RW }, - { NULL, 0 } -}; - -const char *progname; - -void usage() -{ - struct cmd *p; - - fprintf(stderr, "Usage: %s \n\n", progname); - fprintf(stderr, "Available commands:\n"); - for (p = cmds; p->cmd; p++) { - fprintf(stderr, "\t%s\n", p->cmd); - } - exit(1); -} - -int do_single_cmd(const char *fn, struct cmd *p) -{ - int fd; - int oflags = O_RDONLY; - - if (p->flags & EXT4_F_RW) - oflags = O_RDWR; - fd = open(fn, oflags, 0); - if (fd < 0) { - perror("open"); - return 1; - } - if (ioctl(fd, p->ioc) < 0) { - perror("ioctl"); - return 1; - } - close(fd); - return 0; -} - -int main(int argc, char **argv) -{ - int i, fails = 0; - struct cmd *p; - - progname = argv[0]; - if (argc < 3 || strcmp(argv[1], "help") == 0) - usage(); - for (p = cmds; p->cmd; p++) { - if (strcmp(argv[1], p->cmd) == 0) - break; - } - if (p->cmd == NULL) { - fprintf(stderr, "Invalid command: %s\n", argv[1]); - usage(); - } - for (i = 2; i < argc; i++) - fails += do_single_cmd(argv[i], p); - return fails; -} diff --git a/src/_nfdos/e2fsprogs/contrib/fallocate.c b/src/_nfdos/e2fsprogs/contrib/fallocate.c deleted file mode 100644 index 16c08ab..0000000 --- a/src/_nfdos/e2fsprogs/contrib/fallocate.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - * fallocate - utility to use the fallocate system call - * - * Copyright (C) 2008 Red Hat, Inc. All rights reserved. - * Written by Eric Sandeen - * - * cvtnum routine taken from xfsprogs, - * Copyright (c) 2003-2005 Silicon Graphics, Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef _LARGEFILE_SOURCE -#define _LARGEFILE_SOURCE -#endif -#ifndef _LARGEFILE64_SOURCE -#define _LARGEFILE64_SOURCE -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -// #include -#define FALLOC_FL_KEEP_SIZE 0x01 -#define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */ -#define FALLOC_FL_COLLAPSE_RANGE 0x08 -#define FALLOC_FL_ZERO_RANGE 0x10 - -void usage(void) -{ - printf("Usage: fallocate [-npt] [-o offset] -l length filename\n"); - exit(EXIT_FAILURE); -} - -#define EXABYTES(x) ((long long)(x) << 60) -#define PETABYTES(x) ((long long)(x) << 50) -#define TERABYTES(x) ((long long)(x) << 40) -#define GIGABYTES(x) ((long long)(x) << 30) -#define MEGABYTES(x) ((long long)(x) << 20) -#define KILOBYTES(x) ((long long)(x) << 10) - -long long -cvtnum(char *s) -{ - long long i; - char *sp; - int c; - - i = strtoll(s, &sp, 0); - if (i == 0 && sp == s) - return -1LL; - if (*sp == '\0') - return i; - if (sp[1] != '\0') - return -1LL; - - c = tolower(*sp); - switch (c) { - case 'k': - return KILOBYTES(i); - case 'm': - return MEGABYTES(i); - case 'g': - return GIGABYTES(i); - case 't': - return TERABYTES(i); - case 'p': - return PETABYTES(i); - case 'e': - return EXABYTES(i); - } - - return -1LL; -} - -int main(int argc, char **argv) -{ - int fd; - char *fname; - int opt; - ext2_loff_t length = -2LL; - ext2_loff_t offset = 0; - int falloc_mode = 0; - int error; - int tflag = 0; - - while ((opt = getopt(argc, argv, "npl:o:tzc")) != -1) { - switch(opt) { - case 'n': - /* do not change filesize */ - falloc_mode = FALLOC_FL_KEEP_SIZE; - break; - case 'p': - /* punch mode */ - falloc_mode = (FALLOC_FL_PUNCH_HOLE | - FALLOC_FL_KEEP_SIZE); - break; - case 'c': - /* collapse range mode */ - falloc_mode = (FALLOC_FL_COLLAPSE_RANGE | - FALLOC_FL_KEEP_SIZE); - break; - case 'z': - /* zero range mode */ - falloc_mode = (FALLOC_FL_ZERO_RANGE | - FALLOC_FL_KEEP_SIZE); - break; - case 'l': - length = cvtnum(optarg); - break; - case 'o': - offset = cvtnum(optarg); - break; - case 't': - tflag++; - break; - default: - usage(); - } - } - - if (length == -2LL) { - printf("Error: no length argument specified\n"); - usage(); - } - - if (length <= 0) { - printf("Error: invalid length value specified\n"); - usage(); - } - - if (offset < 0) { - printf("Error: invalid offset value specified\n"); - usage(); - } - - if (tflag && (falloc_mode & FALLOC_FL_KEEP_SIZE)) { - printf("-n and -t options incompatible\n"); - usage(); - } - - if (tflag && offset) { - printf("-n and -o options incompatible\n"); - usage(); - } - - if (optind == argc) { - printf("Error: no filename specified\n"); - usage(); - } - - fname = argv[optind++]; - - /* Should we create the file if it doesn't already exist? */ - fd = open(fname, O_WRONLY|O_LARGEFILE); - if (fd < 0) { - perror("Error opening file"); - exit(EXIT_FAILURE); - } - - if (tflag) - error = ftruncate(fd, length); - else - error = syscall(SYS_fallocate, fd, falloc_mode, offset, length); - - if (error < 0) { - perror("fallocate failed"); - exit(EXIT_FAILURE); - } - - close(fd); - return 0; -} diff --git a/src/_nfdos/e2fsprogs/contrib/fsstress.c b/src/_nfdos/e2fsprogs/contrib/fsstress.c deleted file mode 100644 index 2136a90..0000000 --- a/src/_nfdos/e2fsprogs/contrib/fsstress.c +++ /dev/null @@ -1,2708 +0,0 @@ -/* - * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it would be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Further, this software is distributed without any warranty that it is - * free of the rightful claim of any third person regarding infringement - * or the like. Any license provided herein, whether implied or - * otherwise, applies only to this software file. Patent licenses, if - * any, provided herein do not apply to combinations of this program with - * other software, or any other product whatsoever. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, - * Mountain View, CA 94043, or: - * - * http://www.sgi.com - * - * For further information regarding this notice, see: - * - * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ - */ - -#define NO_XFS -#define HAVE_SYS_PRCTL_H -#define _LARGEFILE64_SOURCE - -#define MAXNAMELEN 1024 -struct dioattr { - int d_miniosz, d_maxiosz, d_mem; -}; - -#define MIN(a,b) ((a)<(b) ? (a):(b)) -#define MAX(a,b) ((a)>(b) ? (a):(b)) - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef O_DIRECT -#define O_DIRECT 040000 -#endif - -#ifdef HAVE_SYS_PRCTL_H -# include -#endif - -#define XFS_ERRTAG_MAX 17 - -typedef enum { -#ifndef NO_XFS - OP_ALLOCSP, - OP_ATTR_REMOVE, - OP_ATTR_SET, - OP_BULKSTAT, - OP_BULKSTAT1, -#endif - OP_CHOWN, - OP_CREAT, - OP_DREAD, - OP_DWRITE, - OP_FDATASYNC, -#ifndef NO_XFS - OP_FREESP, -#endif - OP_FSYNC, - OP_GETDENTS, - OP_LINK, - OP_MKDIR, - OP_MKNOD, - OP_READ, - OP_READLINK, - OP_RENAME, -#ifndef NO_XFS - OP_RESVSP, -#endif - OP_RMDIR, - OP_STAT, - OP_SYMLINK, - OP_SYNC, - OP_TRUNCATE, - OP_UNLINK, -#ifndef NO_XFS - OP_UNRESVSP, -#endif - OP_WRITE, - OP_LAST -} opty_t; - -typedef void (*opfnc_t) (int, long); - -typedef struct opdesc { - opty_t op; - char *name; - opfnc_t func; - int freq; - int iswrite; - int isxfs; -} opdesc_t; - -typedef struct fent { - int id; - int parent; -} fent_t; - -typedef struct flist { - int nfiles; - int nslots; - int tag; - fent_t *fents; -} flist_t; - -typedef struct pathname { - int len; - char *path; -} pathname_t; - -#define FT_DIR 0 -#define FT_DIRm (1 << FT_DIR) -#define FT_REG 1 -#define FT_REGm (1 << FT_REG) -#define FT_SYM 2 -#define FT_SYMm (1 << FT_SYM) -#define FT_DEV 3 -#define FT_DEVm (1 << FT_DEV) -#define FT_RTF 4 -#define FT_RTFm (1 << FT_RTF) -#define FT_nft 5 -#define FT_ANYm ((1 << FT_nft) - 1) -#define FT_REGFILE (FT_REGm | FT_RTFm) -#define FT_NOTDIR (FT_ANYm & ~FT_DIRm) - -#define FLIST_SLOT_INCR 16 -#define NDCACHE 64 - -#define MAXFSIZE ((1ULL << 63) - 1ULL) -#define MAXFSIZE32 ((1ULL << 40) - 1ULL) - -void allocsp_f(int, long); -void attr_remove_f(int, long); -void attr_set_f(int, long); -void bulkstat_f(int, long); -void bulkstat1_f(int, long); -void chown_f(int, long); -void creat_f(int, long); -void dread_f(int, long); -void dwrite_f(int, long); -void fdatasync_f(int, long); -void freesp_f(int, long); -void fsync_f(int, long); -void getdents_f(int, long); -void link_f(int, long); -void mkdir_f(int, long); -void mknod_f(int, long); -void read_f(int, long); -void readlink_f(int, long); -void rename_f(int, long); -void resvsp_f(int, long); -void rmdir_f(int, long); -void stat_f(int, long); -void symlink_f(int, long); -void sync_f(int, long); -void truncate_f(int, long); -void unlink_f(int, long); -void unresvsp_f(int, long); -void write_f(int, long); - -opdesc_t ops[] = { -#ifndef NO_XFS - {OP_ALLOCSP, "allocsp", allocsp_f, 1, 1, 1}, - {OP_ATTR_REMOVE, "attr_remove", attr_remove_f, /* 1 */ 0, 1, 1}, - {OP_ATTR_SET, "attr_set", attr_set_f, /* 2 */ 0, 1, 1}, - {OP_BULKSTAT, "bulkstat", bulkstat_f, 1, 0, 1}, - {OP_BULKSTAT1, "bulkstat1", bulkstat1_f, 1, 0, 1}, -#endif - {OP_CHOWN, "chown", chown_f, 3, 1, 0}, - {OP_CREAT, "creat", creat_f, 4, 1, 0}, - {OP_DREAD, "dread", dread_f, 4, 0, 0}, - {OP_DWRITE, "dwrite", dwrite_f, 4, 1, 0}, - {OP_FDATASYNC, "fdatasync", fdatasync_f, 1, 1, 0}, -#ifndef NO_XFS - {OP_FREESP, "freesp", freesp_f, 1, 1, 1}, -#endif - {OP_FSYNC, "fsync", fsync_f, 1, 1, 0}, - {OP_GETDENTS, "getdents", getdents_f, 1, 0, 0}, - {OP_LINK, "link", link_f, 1, 1, 0}, - {OP_MKDIR, "mkdir", mkdir_f, 2, 1, 0}, - {OP_MKNOD, "mknod", mknod_f, 2, 1, 0}, - {OP_READ, "read", read_f, 1, 0, 0}, - {OP_READLINK, "readlink", readlink_f, 1, 0, 0}, - {OP_RENAME, "rename", rename_f, 2, 1, 0}, -#ifndef NO_XFS - {OP_RESVSP, "resvsp", resvsp_f, 1, 1, 1}, -#endif - {OP_RMDIR, "rmdir", rmdir_f, 1, 1, 0}, - {OP_STAT, "stat", stat_f, 1, 0, 0}, - {OP_SYMLINK, "symlink", symlink_f, 2, 1, 0}, - {OP_SYNC, "sync", sync_f, 1, 0, 0}, - {OP_TRUNCATE, "truncate", truncate_f, 2, 1, 0}, - {OP_UNLINK, "unlink", unlink_f, 1, 1, 0}, -#ifndef NO_XFS - {OP_UNRESVSP, "unresvsp", unresvsp_f, 1, 1, 1}, -#endif - {OP_WRITE, "write", write_f, 4, 1, 0}, -}, *ops_end; - -flist_t flist[FT_nft] = { - {0, 0, 'd', NULL}, - {0, 0, 'f', NULL}, - {0, 0, 'l', NULL}, - {0, 0, 'c', NULL}, - {0, 0, 'r', NULL}, -}; - -int dcache[NDCACHE]; -int errrange; -int errtag; -opty_t *freq_table; -int freq_table_size; -#ifndef NO_XFS -xfs_fsop_geom_t geom; -#endif -char *homedir; -int *ilist; -int ilistlen; -off64_t maxfsize; -char *myprog; -int namerand; -int nameseq; -int nops; -int nproc = 1; -int operations = 1; -int procid; -int rtpct; -unsigned long seed = 0; -ino_t top_ino; -int verbose = 0; -#ifndef NO_XFS -int no_xfs = 0; -#else -int no_xfs = 1; -#endif -sig_atomic_t should_stop = 0; - -void add_to_flist(int, int, int); -void append_pathname(pathname_t *, char *); -#ifndef NO_XFS -int attr_list_path(pathname_t *, char *, const int, int, attrlist_cursor_t *); -int attr_remove_path(pathname_t *, const char *, int); -int attr_set_path(pathname_t *, const char *, const char *, const int, int); -#endif -void check_cwd(void); -int creat_path(pathname_t *, mode_t); -void dcache_enter(int, int); -void dcache_init(void); -fent_t *dcache_lookup(int); -void dcache_purge(int); -void del_from_flist(int, int); -int dirid_to_name(char *, int); -void doproc(void); -void fent_to_name(pathname_t *, flist_t *, fent_t *); -void fix_parent(int, int); -void free_pathname(pathname_t *); -int generate_fname(fent_t *, int, pathname_t *, int *, int *); -int get_fname(int, long, pathname_t *, flist_t **, fent_t **, int *); -void init_pathname(pathname_t *); -int lchown_path(pathname_t *, uid_t, gid_t); -int link_path(pathname_t *, pathname_t *); -int lstat64_path(pathname_t *, struct stat64 *); -void make_freq_table(void); -int mkdir_path(pathname_t *, mode_t); -int mknod_path(pathname_t *, mode_t, dev_t); -void namerandpad(int, char *, int); -int open_path(pathname_t *, int); -DIR *opendir_path(pathname_t *); -void process_freq(char *); -int readlink_path(pathname_t *, char *, size_t); -int rename_path(pathname_t *, pathname_t *); -int rmdir_path(pathname_t *); -void separate_pathname(pathname_t *, char *, pathname_t *); -void show_ops(int, char *); -int stat64_path(pathname_t *, struct stat64 *); -int symlink_path(const char *, pathname_t *); -int truncate64_path(pathname_t *, off64_t); -int unlink_path(pathname_t *); -void usage(void); -void write_freq(void); -void zero_freq(void); - -void sg_handler(int signum) -{ - should_stop = 1; -} - -int main(int argc, char **argv) -{ - char buf[10]; - int c; - char *dirname = NULL; - int fd; - int i; - int cleanup = 0; - int loops = 1; - int loopcntr = 1; - char cmd[256]; -#ifndef NO_XFS - int j; -#endif - char *p; - int stat; - struct timeval t; -#ifndef NO_XFS - ptrdiff_t srval; -#endif - int nousage = 0; -#ifndef NO_XFS - xfs_error_injection_t err_inj; -#endif - struct sigaction action; - - errrange = errtag = 0; - umask(0); - nops = sizeof(ops) / sizeof(ops[0]); - ops_end = &ops[nops]; - myprog = argv[0]; - while ((c = getopt(argc, argv, "cd:e:f:i:l:n:p:rs:vwzHSX")) != -1) { - switch (c) { - case 'c': - /*Don't cleanup */ - cleanup = 1; - break; - case 'd': - dirname = optarg; - break; - case 'e': - sscanf(optarg, "%d", &errtag); - if (errtag < 0) { - errtag = -errtag; - errrange = 1; - } else if (errtag == 0) - errtag = -1; - if (errtag >= XFS_ERRTAG_MAX) { - fprintf(stderr, - "error tag %d too large (max %d)\n", - errtag, XFS_ERRTAG_MAX - 1); - exit(1); - } - break; - case 'f': - process_freq(optarg); - break; - case 'i': - ilist = realloc(ilist, ++ilistlen * sizeof(*ilist)); - ilist[ilistlen - 1] = strtol(optarg, &p, 16); - break; - case 'l': - loops = atoi(optarg); - break; - case 'n': - operations = atoi(optarg); - break; - case 'p': - nproc = atoi(optarg); - break; - case 'r': - namerand = 1; - break; - case 's': - seed = strtoul(optarg, NULL, 0); - break; - case 'v': - verbose = 1; - break; - case 'w': - write_freq(); - break; - case 'z': - zero_freq(); - break; - case 'S': - show_ops(0, NULL); - printf("\n"); - nousage = 1; - break; - case '?': - fprintf(stderr, "%s - invalid parameters\n", myprog); - /* fall through */ - case 'H': - usage(); - exit(1); - case 'X': - no_xfs = 1; - break; - } - } - - if (no_xfs && errtag) { - fprintf(stderr, "error injection only works on XFS\n"); - exit(1); - } - - if (no_xfs) { - int i; - for (i = 0; ops + i < ops_end; ++i) { - if (ops[i].isxfs) - ops[i].freq = 0; - } - } - - make_freq_table(); - - while (((loopcntr <= loops) || (loops == 0)) && !should_stop) { - if (!dirname) { - /* no directory specified */ - if (!nousage) - usage(); - exit(1); - } - - (void)mkdir(dirname, 0777); - if (chdir(dirname) < 0) { - perror(dirname); - exit(1); - } - sprintf(buf, "fss%x", getpid()); - fd = creat(buf, 0666); - if (lseek64(fd, (off64_t) (MAXFSIZE32 + 1ULL), SEEK_SET) < 0) - maxfsize = (off64_t) MAXFSIZE32; - else - maxfsize = (off64_t) MAXFSIZE; - dcache_init(); - setlinebuf(stdout); - if (!seed) { - gettimeofday(&t, NULL); - seed = (int)t.tv_sec ^ (int)t.tv_usec; - printf("seed = %ld\n", seed); - } -#ifndef NO_XFS - if (!no_xfs) { - memset(&geom, 0, sizeof(geom)); - i = ioctl(fd, XFS_IOC_FSGEOMETRY, &geom); - if (i >= 0 && geom.rtblocks) - rtpct = MIN(MAX(geom.rtblocks * 100 / - (geom.rtblocks + - geom.datablocks), 1), 99); - else - rtpct = 0; - } - if (errtag != 0) { - if (errrange == 0) { - if (errtag <= 0) { - srandom(seed); - j = random() % 100; - - for (i = 0; i < j; i++) - (void)random(); - - errtag = - (random() % (XFS_ERRTAG_MAX - 1)) + - 1; - } - } else { - srandom(seed); - j = random() % 100; - - for (i = 0; i < j; i++) - (void)random(); - - errtag += - (random() % (XFS_ERRTAG_MAX - errtag)); - } - printf("Injecting failure on tag #%d\n", errtag); - memset(&err_inj, 0, sizeof(err_inj)); - err_inj.errtag = errtag; - err_inj.fd = fd; - srval = ioctl(fd, XFS_IOC_ERROR_INJECTION, &err_inj); - if (srval < -1) { - perror - ("fsstress - XFS_SYSSGI error injection call"); - close(fd); - unlink(buf); - exit(1); - } - } else -#endif - close(fd); - unlink(buf); - - - if (nproc == 1) { - procid = 0; - doproc(); - } else { - setpgid(0, 0); - action.sa_handler = sg_handler; - sigemptyset(&action.sa_mask); - action.sa_flags = 0; - if (sigaction(SIGTERM, &action, 0)) { - perror("sigaction failed"); - exit(1); - } - - for (i = 0; i < nproc; i++) { - if (fork() == 0) { - - action.sa_handler = SIG_DFL; - sigemptyset(&action.sa_mask); - if (sigaction(SIGTERM, &action, 0)) - return 1; -#ifdef HAVE_SYS_PRCTL_H - prctl(PR_SET_PDEATHSIG, SIGKILL); - if (getppid() == 1) /* parent died already? */ - return 0; -#endif - procid = i; - doproc(); - return 0; - } - } - while (wait(&stat) > 0 && !should_stop) { - continue; - } - if (should_stop) { - action.sa_flags = SA_RESTART; - sigaction(SIGTERM, &action, 0); - kill(-getpid(), SIGTERM); - while (wait(&stat) > 0) - continue; - } - } -#ifndef NO_XFS - if (errtag != 0) { - memset(&err_inj, 0, sizeof(err_inj)); - err_inj.errtag = 0; - err_inj.fd = fd; - if ((srval = - ioctl(fd, XFS_IOC_ERROR_CLEARALL, - &err_inj)) != 0) { - fprintf(stderr, "Bad ej clear on %d (%d).\n", - fd, errno); - perror - ("fsstress - XFS_SYSSGI clear error injection call"); - close(fd); - exit(1); - } - close(fd); - } -#endif - if (cleanup == 0) { - sprintf(cmd, "rm -rf %s/*", dirname); - system(cmd); - for (i = 0; i < FT_nft; i++) { - flist[i].nslots = 0; - flist[i].nfiles = 0; - free(flist[i].fents); - flist[i].fents = NULL; - } - } - loopcntr++; - } - return 0; -} - -void add_to_flist(int ft, int id, int parent) -{ - fent_t *fep; - flist_t *ftp; - - ftp = &flist[ft]; - if (ftp->nfiles == ftp->nslots) { - ftp->nslots += FLIST_SLOT_INCR; - ftp->fents = realloc(ftp->fents, ftp->nslots * sizeof(fent_t)); - } - fep = &ftp->fents[ftp->nfiles++]; - fep->id = id; - fep->parent = parent; -} - -void append_pathname(pathname_t * name, char *str) -{ - int len; - char *path; - - len = strlen(str); -#ifdef DEBUG - if (len && *str == '/' && name->len == 0) { - fprintf(stderr, "fsstress: append_pathname failure\n"); - chdir(homedir); - abort(); - - } -#endif - path = realloc(name->path, name->len + 1 + len); - if (path == NULL) { - fprintf(stderr, "fsstress: append_pathname realloc failed\n"); - chdir(homedir); - abort(); - } - name->path = path; - strcpy(&name->path[name->len], str); - name->len += len; -} - -#ifndef NO_XFS -int -attr_list_path(pathname_t * name, char *buffer, const int buffersize, int flags, - attrlist_cursor_t * cursor) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = attr_list(name->path, buffer, buffersize, flags, cursor); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = attr_list_path(&newname, buffer, buffersize, flags, - cursor); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int attr_remove_path(pathname_t * name, const char *attrname, int flags) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = attr_remove(name->path, attrname, flags); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = attr_remove_path(&newname, attrname, flags); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int -attr_set_path(pathname_t * name, const char *attrname, const char *attrvalue, - const int valuelength, int flags) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = attr_set(name->path, attrname, attrvalue, valuelength, flags); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = attr_set_path(&newname, attrname, attrvalue, valuelength, - flags); - chdir(".."); - } - free_pathname(&newname); - return rval; -} -#endif - -void check_cwd(void) -{ -#ifdef DEBUG - struct stat64 statbuf; - - if (stat64(".", &statbuf) == 0 && statbuf.st_ino == top_ino) - return; - chdir(homedir); - fprintf(stderr, "fsstress: check_cwd failure\n"); - abort(); - -#endif -} - -int creat_path(pathname_t * name, mode_t mode) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = creat(name->path, mode); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = creat_path(&newname, mode); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -void dcache_enter(int dirid, int slot) -{ - dcache[dirid % NDCACHE] = slot; -} - -void dcache_init(void) -{ - int i; - - for (i = 0; i < NDCACHE; i++) - dcache[i] = -1; -} - -fent_t *dcache_lookup(int dirid) -{ - fent_t *fep; - int i; - - i = dcache[dirid % NDCACHE]; - if (i >= 0 && (fep = &flist[FT_DIR].fents[i])->id == dirid) - return fep; - return NULL; -} - -void dcache_purge(int dirid) -{ - int *dcp; - - dcp = &dcache[dirid % NDCACHE]; - if (*dcp >= 0 && flist[FT_DIR].fents[*dcp].id == dirid) - *dcp = -1; -} - -void del_from_flist(int ft, int slot) -{ - flist_t *ftp; - - ftp = &flist[ft]; - if (ft == FT_DIR) - dcache_purge(ftp->fents[slot].id); - if (slot != ftp->nfiles - 1) { - if (ft == FT_DIR) - dcache_purge(ftp->fents[ftp->nfiles - 1].id); - ftp->fents[slot] = ftp->fents[--ftp->nfiles]; - } else - ftp->nfiles--; -} - -fent_t *dirid_to_fent(int dirid) -{ - fent_t *efep; - fent_t *fep; - flist_t *flp; - - if ((fep = dcache_lookup(dirid))) - return fep; - flp = &flist[FT_DIR]; - for (fep = flp->fents, efep = &fep[flp->nfiles]; fep < efep; fep++) { - if (fep->id == dirid) { - dcache_enter(dirid, fep - flp->fents); - return fep; - } - } - return NULL; -} - -void doproc(void) -{ - struct stat64 statbuf; - char buf[10]; - int opno; - int rval; - opdesc_t *p; - - sprintf(buf, "p%x", procid); - (void)mkdir(buf, 0777); - if (chdir(buf) < 0 || stat64(".", &statbuf) < 0) { - perror(buf); - _exit(1); - } - top_ino = statbuf.st_ino; - homedir = getcwd(NULL, -1); - seed += procid; - srandom(seed); - if (namerand) - namerand = random(); - for (opno = 0; opno < operations; opno++) { - p = &ops[freq_table[random() % freq_table_size]]; - if ((unsigned long)p->func < 4096) - abort(); - - p->func(opno, random()); - /* - * test for forced shutdown by stat'ing the test - * directory. If this stat returns EIO, assume - * the forced shutdown happened. - */ - if (errtag != 0 && opno % 100 == 0) { - rval = stat64(".", &statbuf); - if (rval == EIO) { - fprintf(stderr, "Detected EIO\n"); - return; - } - } - } -} - -void fent_to_name(pathname_t * name, flist_t * flp, fent_t * fep) -{ - char buf[MAXNAMELEN]; - int i; - fent_t *pfep; - - if (fep == NULL) - return; - if (fep->parent != -1) { - pfep = dirid_to_fent(fep->parent); - fent_to_name(name, &flist[FT_DIR], pfep); - append_pathname(name, "/"); - } - i = sprintf(buf, "%c%x", flp->tag, fep->id); - namerandpad(fep->id, buf, i); - append_pathname(name, buf); -} - -void fix_parent(int oldid, int newid) -{ - fent_t *fep; - flist_t *flp; - int i; - int j; - - for (i = 0, flp = flist; i < FT_nft; i++, flp++) { - for (j = 0, fep = flp->fents; j < flp->nfiles; j++, fep++) { - if (fep->parent == oldid) - fep->parent = newid; - } - } -} - -void free_pathname(pathname_t * name) -{ - if (name->path) { - free(name->path); - name->path = NULL; - name->len = 0; - } -} - -int generate_fname(fent_t * fep, int ft, pathname_t * name, int *idp, int *v) -{ - char buf[MAXNAMELEN]; - flist_t *flp; - int id; - int j; - int len; - - flp = &flist[ft]; - len = sprintf(buf, "%c%x", flp->tag, id = nameseq++); - namerandpad(id, buf, len); - if (fep) { - fent_to_name(name, &flist[FT_DIR], fep); - append_pathname(name, "/"); - } - append_pathname(name, buf); - *idp = id; - *v = verbose; - for (j = 0; !*v && j < ilistlen; j++) { - if (ilist[j] == id) { - *v = 1; - break; - } - } - return 1; -} - -int -get_fname(int which, long r, pathname_t * name, flist_t ** flpp, fent_t ** fepp, - int *v) -{ - int c; - fent_t *fep; - flist_t *flp; - int i; - int j; - int x; - - for (i = 0, c = 0, flp = flist; i < FT_nft; i++, flp++) { - if (which & (1 << i)) - c += flp->nfiles; - } - if (c == 0) { - if (flpp) - *flpp = NULL; - if (fepp) - *fepp = NULL; - *v = verbose; - return 0; - } - x = (int)(r % c); - for (i = 0, c = 0, flp = flist; i < FT_nft; i++, flp++) { - if (which & (1 << i)) { - if (x < c + flp->nfiles) { - fep = &flp->fents[x - c]; - if (name) - fent_to_name(name, flp, fep); - if (flpp) - *flpp = flp; - if (fepp) - *fepp = fep; - *v = verbose; - for (j = 0; !*v && j < ilistlen; j++) { - if (ilist[j] == fep->id) { - *v = 1; - break; - } - } - return 1; - } - c += flp->nfiles; - } - } -#ifdef DEBUG - fprintf(stderr, "fsstress: get_fname failure\n"); - abort(); -#endif - return -1; - -} - -void init_pathname(pathname_t * name) -{ - name->len = 0; - name->path = NULL; -} - -int lchown_path(pathname_t * name, uid_t owner, gid_t group) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = lchown(name->path, owner, group); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = lchown_path(&newname, owner, group); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int link_path(pathname_t * name1, pathname_t * name2) -{ - char buf1[MAXNAMELEN]; - char buf2[MAXNAMELEN]; - int down1; - pathname_t newname1; - pathname_t newname2; - int rval; - - rval = link(name1->path, name2->path); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name1, buf1, &newname1); - separate_pathname(name2, buf2, &newname2); - if (strcmp(buf1, buf2) == 0) { - if (chdir(buf1) == 0) { - rval = link_path(&newname1, &newname2); - chdir(".."); - } - } else { - if (strcmp(buf1, "..") == 0) - down1 = 0; - else if (strcmp(buf2, "..") == 0) - down1 = 1; - else if (strlen(buf1) == 0) - down1 = 0; - else if (strlen(buf2) == 0) - down1 = 1; - else - down1 = MAX(newname1.len, 3 + name2->len) <= - MAX(3 + name1->len, newname2.len); - if (down1) { - free_pathname(&newname2); - append_pathname(&newname2, "../"); - append_pathname(&newname2, name2->path); - if (chdir(buf1) == 0) { - rval = link_path(&newname1, &newname2); - chdir(".."); - } - } else { - free_pathname(&newname1); - append_pathname(&newname1, "../"); - append_pathname(&newname1, name1->path); - if (chdir(buf2) == 0) { - rval = link_path(&newname1, &newname2); - chdir(".."); - } - } - } - free_pathname(&newname1); - free_pathname(&newname2); - return rval; -} - -int lstat64_path(pathname_t * name, struct stat64 *sbuf) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = lstat64(name->path, sbuf); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = lstat64_path(&newname, sbuf); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -void make_freq_table(void) -{ - int f; - int i; - opdesc_t *p; - - for (p = ops, f = 0; p < ops_end; p++) - f += p->freq; - freq_table = malloc(f * sizeof(*freq_table)); - freq_table_size = f; - for (p = ops, i = 0; p < ops_end; p++) { - for (f = 0; f < p->freq; f++, i++) - freq_table[i] = p->op; - } -} - -int mkdir_path(pathname_t * name, mode_t mode) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = mkdir(name->path, mode); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = mkdir_path(&newname, mode); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int mknod_path(pathname_t * name, mode_t mode, dev_t dev) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = mknod(name->path, mode, dev); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = mknod_path(&newname, mode, dev); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -void namerandpad(int id, char *buf, int i) -{ - int bucket; - static int buckets[] = { 2, 4, 8, 16, 32, 64, 128, MAXNAMELEN - 1 }; - int padlen; - int padmod; - - if (namerand == 0) - return; - bucket = (id ^ namerand) % (sizeof(buckets) / sizeof(buckets[0])); - padmod = buckets[bucket] + 1 - i; - if (padmod <= 0) - return; - padlen = (id ^ namerand) % padmod; - if (padlen) { - memset(&buf[i], 'X', padlen); - buf[i + padlen] = '\0'; - } -} - -int open_path(pathname_t * name, int oflag) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = open(name->path, oflag); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = open_path(&newname, oflag); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -DIR *opendir_path(pathname_t * name) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - DIR *rval; - - rval = opendir(name->path); - if (rval || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = opendir_path(&newname); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -void process_freq(char *arg) -{ - opdesc_t *p; - char *s; - - s = strchr(arg, '='); - if (s == NULL) { - fprintf(stderr, "bad argument '%s'\n", arg); - exit(1); - } - *s++ = '\0'; - for (p = ops; p < ops_end; p++) { - if (strcmp(arg, p->name) == 0) { - p->freq = atoi(s); - return; - } - } - fprintf(stderr, "can't find op type %s for -f\n", arg); - exit(1); -} - -int readlink_path(pathname_t * name, char *lbuf, size_t lbufsiz) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = readlink(name->path, lbuf, lbufsiz); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = readlink_path(&newname, lbuf, lbufsiz); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int rename_path(pathname_t * name1, pathname_t * name2) -{ - char buf1[MAXNAMELEN]; - char buf2[MAXNAMELEN]; - int down1; - pathname_t newname1; - pathname_t newname2; - int rval; - - rval = rename(name1->path, name2->path); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name1, buf1, &newname1); - separate_pathname(name2, buf2, &newname2); - if (strcmp(buf1, buf2) == 0) { - if (chdir(buf1) == 0) { - rval = rename_path(&newname1, &newname2); - chdir(".."); - } - } else { - if (strcmp(buf1, "..") == 0) - down1 = 0; - else if (strcmp(buf2, "..") == 0) - down1 = 1; - else if (strlen(buf1) == 0) - down1 = 0; - else if (strlen(buf2) == 0) - down1 = 1; - else - down1 = MAX(newname1.len, 3 + name2->len) <= - MAX(3 + name1->len, newname2.len); - if (down1) { - free_pathname(&newname2); - append_pathname(&newname2, "../"); - append_pathname(&newname2, name2->path); - if (chdir(buf1) == 0) { - rval = rename_path(&newname1, &newname2); - chdir(".."); - } - } else { - free_pathname(&newname1); - append_pathname(&newname1, "../"); - append_pathname(&newname1, name1->path); - if (chdir(buf2) == 0) { - rval = rename_path(&newname1, &newname2); - chdir(".."); - } - } - } - free_pathname(&newname1); - free_pathname(&newname2); - return rval; -} - -int rmdir_path(pathname_t * name) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = rmdir(name->path); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = rmdir_path(&newname); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -void separate_pathname(pathname_t * name, char *buf, pathname_t * newname) -{ - char *slash; - - init_pathname(newname); - slash = strchr(name->path, '/'); - if (slash == NULL) { - buf[0] = '\0'; - return; - } - *slash = '\0'; - strcpy(buf, name->path); - *slash = '/'; - append_pathname(newname, slash + 1); -} - -#define WIDTH 80 - -void show_ops(int flag, char *lead_str) -{ - opdesc_t *p; - - if (flag < 0) { - /* print in list form */ - int x = WIDTH; - - for (p = ops; p < ops_end; p++) { - if (lead_str != NULL - && x + strlen(p->name) >= WIDTH - 5) - x = printf("%s%s", (p == ops) ? "" : "\n", - lead_str); - x += printf("%s ", p->name); - } - printf("\n"); - } else { - int f; - for (f = 0, p = ops; p < ops_end; p++) - f += p->freq; - - if (f == 0) - flag = 1; - - for (p = ops; p < ops_end; p++) { - if (flag != 0 || p->freq > 0) { - if (lead_str != NULL) - printf("%s", lead_str); - printf("%20s %d/%d %s\n", - p->name, p->freq, f, - (p->iswrite == 0) ? " " : "write op"); - } - } - } -} - -int stat64_path(pathname_t * name, struct stat64 *sbuf) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = stat64(name->path, sbuf); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = stat64_path(&newname, sbuf); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int symlink_path(const char *name1, pathname_t * name) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - if (!strcmp(name1, name->path)) { - printf("yikes! %s %s\n", name1, name->path); - return 0; - } - - rval = symlink(name1, name->path); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = symlink_path(name1, &newname); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int truncate64_path(pathname_t * name, off64_t length) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = truncate64(name->path, length); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = truncate64_path(&newname, length); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -int unlink_path(pathname_t * name) -{ - char buf[MAXNAMELEN]; - pathname_t newname; - int rval; - - rval = unlink(name->path); - if (rval >= 0 || errno != ENAMETOOLONG) - return rval; - separate_pathname(name, buf, &newname); - if (chdir(buf) == 0) { - rval = unlink_path(&newname); - chdir(".."); - } - free_pathname(&newname); - return rval; -} - -void usage(void) -{ - printf("Usage: %s -H or\n", myprog); - printf - (" %s [-c][-d dir][-e errtg][-f op_name=freq][-l loops][-n nops]\n", - myprog); - printf(" [-p nproc][-r len][-s seed][-v][-w][-z][-S]\n"); - printf("where\n"); - printf - (" -c specifies not to remove files(cleanup) after execution\n"); - printf - (" -d dir specifies the base directory for operations\n"); - printf(" -e errtg specifies error injection stuff\n"); - printf - (" -f op_name=freq changes the frequency of option name to freq\n"); - printf(" the valid operation names are:\n"); - show_ops(-1, " "); - printf - (" -l loops specifies the no. of times the testrun should loop.\n"); - printf(" *use 0 for infinite (default 1)\n"); - printf - (" -n nops specifies the no. of operations per process (default 1)\n"); - printf - (" -p nproc specifies the no. of processes (default 1)\n"); - printf(" -r specifies random name padding\n"); - printf - (" -s seed specifies the seed for the random generator (default random)\n"); - printf(" -v specifies verbose mode\n"); - printf - (" -w zeros frequencies of non-write operations\n"); - printf(" -z zeros frequencies of all operations\n"); - printf - (" -S prints the table of operations (omitting zero frequency)\n"); - printf(" -H prints usage and exits\n"); - printf - (" -X don't do anything XFS specific (default with -DNO_XFS)\n"); -} - -void write_freq(void) -{ - opdesc_t *p; - - for (p = ops; p < ops_end; p++) { - if (!p->iswrite) - p->freq = 0; - } -} - -void zero_freq(void) -{ - opdesc_t *p; - - for (p = ops; p < ops_end; p++) - p->freq = 0; -} - -#ifndef NO_XFS - -void allocsp_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - struct xfs_flock64 fl; - __s64 lr; - __s64 off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: allocsp - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_RDWR); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: allocsp - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: allocsp - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - lr = ((__s64) random() << 32) + random(); - off = lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE); - off %= maxfsize; - memset(&fl, 0, sizeof(fl)); - fl.l_whence = SEEK_SET; - fl.l_start = off; - fl.l_len = 0; - e = ioctl(fd, XFS_IOC_ALLOCSP64, &fl) < 0 ? errno : 0; - if (v) - printf("%d/%d: ioctl(XFS_IOC_ALLOCSP64) %s %lld 0 %d\n", - procid, opno, f.path, (long long)off, e); - free_pathname(&f); - close(fd); -} - -void attr_remove_f(int opno, long r) -{ - attrlist_ent_t *aep; - attrlist_t *alist; - char *aname; - char buf[4096]; - attrlist_cursor_t cursor; - int e; - int ent; - pathname_t f; - int total; - int v; - int which; - - init_pathname(&f); - if (!get_fname(FT_ANYm, r, &f, NULL, NULL, &v)) - append_pathname(&f, "."); - total = 0; - memset(&cursor, 0x00, sizeof(cursor)); - do { - e = attr_list_path(&f, buf, sizeof(buf), ATTR_DONTFOLLOW, - &cursor); - check_cwd(); - if (e) - break; - alist = (attrlist_t *) buf; - total += alist->al_count; - } while (alist->al_more); - if (total == 0) { - if (v) - printf("%d/%d: attr_remove - no attrs for %s\n", - procid, opno, f.path); - free_pathname(&f); - return; - } - which = (int)(random() % total); - memset(&cursor, 0x00, sizeof(cursor)); - ent = 0; - aname = NULL; - do { - e = attr_list_path(&f, buf, sizeof(buf), ATTR_DONTFOLLOW, - &cursor); - check_cwd(); - if (e) - break; - alist = (attrlist_t *) buf; - if (which < ent + alist->al_count) { - aep = (attrlist_ent_t *) - & buf[alist->al_offset[which - ent]]; - aname = aep->a_name; - break; - } - ent += alist->al_count; - } while (alist->al_more); - if (aname == NULL) { - if (v) - printf("%d/%d: attr_remove - name %d not found at %s\n", - procid, opno, which, f.path); - free_pathname(&f); - return; - } - e = attr_remove_path(&f, aname, ATTR_DONTFOLLOW) < 0 ? errno : 0; - check_cwd(); - if (v) - printf("%d/%d: attr_remove %s %s %d\n", - procid, opno, f.path, aname, e); - free_pathname(&f); -} - -void attr_set_f(int opno, long r) -{ - char aname[10]; - char *aval; - int e; - pathname_t f; - int len; - static int lengths[] = { 10, 100, 1000, 10000 }; - int li; - int v; - - init_pathname(&f); - if (!get_fname(FT_ANYm, r, &f, NULL, NULL, &v)) - append_pathname(&f, "."); - sprintf(aname, "a%x", nameseq++); - li = (int)(random() % (sizeof(lengths) / sizeof(lengths[0]))); - len = (int)(random() % lengths[li]); - if (len == 0) - len = 1; - aval = malloc(len); - memset(aval, nameseq & 0xff, len); - e = attr_set_path(&f, aname, aval, len, ATTR_DONTFOLLOW) < 0 ? - errno : 0; - check_cwd(); - free(aval); - if (v) - printf("%d/%d: attr_set %s %s %d\n", procid, opno, f.path, - aname, e); - free_pathname(&f); -} - -void bulkstat_f(int opno, long r) -{ - __s32 count; - int fd; - __u64 last; - __s32 nent; - xfs_bstat_t *t; - __int64_t total; - xfs_fsop_bulkreq_t bsr; - - last = 0; - nent = (r % 999) + 2; - t = malloc(nent * sizeof(*t)); - fd = open(".", O_RDONLY); - total = 0; - - memset(&bsr, 0, sizeof(bsr)); - bsr.lastip = &last; - bsr.icount = nent; - bsr.ubuffer = t; - bsr.ocount = &count; - - while (ioctl(fd, XFS_IOC_FSBULKSTAT, &bsr) == 0 && count > 0) - total += count; - free(t); - if (verbose) - printf("%d/%d: bulkstat nent %d total %lld\n", - procid, opno, (int)nent, (long long)total); - close(fd); -} - -void bulkstat1_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - int good; - __u64 ino; - struct stat64 s; - xfs_bstat_t t; - int v; - xfs_fsop_bulkreq_t bsr; - - good = random() & 1; - if (good) { - /* use an inode we know exists */ - init_pathname(&f); - if (!get_fname(FT_ANYm, r, &f, NULL, NULL, &v)) - append_pathname(&f, "."); - ino = stat64_path(&f, &s) < 0 ? (ino64_t) r : s.st_ino; - check_cwd(); - free_pathname(&f); - } else { - /* - * pick a random inode - * - * note this can generate kernel warning messages - * since bulkstat_one will read the disk block that - * would contain a given inode even if that disk - * block doesn't contain inodes. - * - * this is detected later, but not until after the - * warning is displayed. - * - * "XFS: device 0x825- bad inode magic/vsn daddr 0x0 #0" - * - */ - ino = (ino64_t) r; - v = verbose; - } - fd = open(".", O_RDONLY); - - memset(&bsr, 0, sizeof(bsr)); - bsr.lastip = &ino; - bsr.icount = 1; - bsr.ubuffer = &t; - bsr.ocount = NULL; - - e = ioctl(fd, XFS_IOC_FSBULKSTAT_SINGLE, &bsr) < 0 ? errno : 0; - if (v) - printf("%d/%d: bulkstat1 %s ino %lld %d\n", - procid, opno, good ? "real" : "random", - (long long)ino, e); - close(fd); -} - -#endif - -void chown_f(int opno, long r) -{ - int e; - pathname_t f; - int nbits; - uid_t u; - int v; - - init_pathname(&f); - if (!get_fname(FT_ANYm, r, &f, NULL, NULL, &v)) - append_pathname(&f, "."); - u = (uid_t) random(); - nbits = (int)(random() % 32); - u &= (1 << nbits) - 1; - e = lchown_path(&f, u, -1) < 0 ? errno : 0; - check_cwd(); - if (v) - printf("%d/%d: chown %s %d %d\n", procid, opno, f.path, u, e); - free_pathname(&f); -} - -void creat_f(int opno, long r) -{ - int e; - int e1; - int extsize; - pathname_t f; - int fd; - fent_t *fep; - int id; - int parid; - int type; - int v; - int v1; - int esz = 0; - - if (!get_fname(FT_DIRm, r, NULL, NULL, &fep, &v1)) - parid = -1; - else - parid = fep->id; - init_pathname(&f); - type = rtpct ? ((random() % 100) > rtpct ? FT_REG : FT_RTF) : FT_REG; - if (type == FT_RTF) - extsize = (random() % 10) + 1; - else - extsize = 0; - e = generate_fname(fep, type, &f, &id, &v); - v |= v1; - if (!e) { - if (v) { - fent_to_name(&f, &flist[FT_DIR], fep); - printf("%d/%d: creat - no filename from %s\n", - procid, opno, f.path); - } - free_pathname(&f); - return; - } - fd = creat_path(&f, 0666); - e = fd < 0 ? errno : 0; - e1 = 0; - check_cwd(); - esz = 0; - if (fd >= 0) { -#ifndef NO_XFS - struct fsxattr a; - memset(&a, 0, sizeof(a)); - if (extsize && ioctl(fd, XFS_IOC_FSGETXATTR, &a) >= 0) { - a.fsx_xflags |= XFS_XFLAG_REALTIME; - a.fsx_extsize = - geom.rtextsize * geom.blocksize * extsize; - if (ioctl(fd, XFS_IOC_FSSETXATTR, &a) < 0) - e1 = errno; - esz = a.fsx_extsize; - - } -#endif - add_to_flist(type, id, parid); - close(fd); - } - if (v) - printf("%d/%d: creat %s x:%d %d %d\n", procid, opno, f.path, - esz, e, e1); - free_pathname(&f); -} - -int setdirect(int fd) -{ - static int no_direct; - int flags; - - if (no_direct) - return 0; - - flags = fcntl(fd, F_GETFL, 0); - if (flags < 0) - return 0; - - if (fcntl(fd, F_SETFL, flags | O_DIRECT) < 0) { - if (no_xfs) { - no_direct = 1; - return 0; - } - printf("cannot set O_DIRECT: %s\n", strerror(errno)); - return 0; - } - - return 1; -} - -void dread_f(int opno, long r) -{ - __int64_t align; - char *buf = NULL; - struct dioattr diob; - int e; - pathname_t f; - int fd; - size_t len; - __int64_t lr; - off64_t off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: dread - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_RDONLY); - - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: dread - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - - if (!setdirect(fd)) { - close(fd); - free_pathname(&f); - return; - } - - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: dread - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - if (stb.st_size == 0) { - if (v) - printf("%d/%d: dread - %s zero size\n", procid, opno, - f.path); - free_pathname(&f); - close(fd); - return; - } - - memset(&diob, 0, sizeof(diob)); - if (no_xfs) { - diob.d_miniosz = stb.st_blksize; - diob.d_maxiosz = stb.st_blksize * 256; /* good number ? */ - diob.d_mem = stb.st_blksize; - } -#ifndef NO_XFS - else if (ioctl(fd, XFS_IOC_DIOINFO, &diob) < 0) { - if (v) - printf - ("%d/%d: dread - ioctl(fd, XFS_IOC_DIOINFO) %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } -#endif - align = (__int64_t) diob.d_miniosz; - lr = ((__int64_t) random() << 32) + random(); - off = (off64_t) (lr % stb.st_size); - off -= (off % align); - lseek64(fd, off, SEEK_SET); - len = (random() % (getpagesize() * 32)) + 1; - len -= (len % align); - if (len <= 0) - len = align; - else if (len > diob.d_maxiosz) - len = diob.d_maxiosz; - if ((e = posix_memalign((void **)&buf, diob.d_mem, len)) != 0) { - fprintf(stderr, "posix_memalign: %s\n", strerror(e)); - exit(1); - } - if (buf == NULL) { - fprintf(stderr, "posix_memalign: buf is NULL\n"); - exit(1); - } - e = read(fd, buf, len) < 0 ? errno : 0; - free(buf); - if (v) - printf("%d/%d: dread %s [%lld,%ld] %d\n", - procid, opno, f.path, (long long int)off, (long)len, e); - free_pathname(&f); - close(fd); -} - -void dwrite_f(int opno, long r) -{ - __int64_t align; - char *buf = NULL; - struct dioattr diob; - int e; - pathname_t f; - int fd; - size_t len; - __int64_t lr; - off64_t off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: dwrite - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_WRONLY); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: dwrite - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - - if (!setdirect(fd)) { - close(fd); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: dwrite - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - memset(&diob, 0, sizeof(diob)); - if (no_xfs) { - diob.d_miniosz = stb.st_blksize; - diob.d_maxiosz = stb.st_blksize * 256; /* good number ? */ - diob.d_mem = stb.st_blksize; - } -#ifndef NO_XFS - else if (ioctl(fd, XFS_IOC_DIOINFO, &diob) < 0) { - if (v) - printf - ("%d/%d: dwrite - ioctl(fd, XFS_IOC_DIOINFO) %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } -#endif - align = (__int64_t) diob.d_miniosz; - lr = ((__int64_t) random() << 32) + random(); - off = (off64_t) (lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE)); - off -= (off % align); - lseek64(fd, off, SEEK_SET); - len = (random() % (getpagesize() * 32)) + 1; - len -= (len % align); - if (len <= 0) - len = align; - else if (len > diob.d_maxiosz) - len = diob.d_maxiosz; - if ((e = posix_memalign((void **)&buf, diob.d_mem, len)) != 0) { - fprintf(stderr, "posix_memalign: %s\n", strerror(e)); - exit(1); - } - if (buf == NULL) { - fprintf(stderr, "posix_memalign: buf is NULL\n"); - exit(1); - } - off %= maxfsize; - lseek64(fd, off, SEEK_SET); - memset(buf, nameseq & 0xff, len); - e = write(fd, buf, len) < 0 ? errno : 0; - free(buf); - if (v) - printf("%d/%d: dwrite %s [%lld,%ld] %d\n", - procid, opno, f.path, (long long)off, (long int)len, e); - free_pathname(&f); - close(fd); -} - -void fdatasync_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: fdatasync - no filename\n", - procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_WRONLY); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: fdatasync - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - e = fdatasync(fd) < 0 ? errno : 0; - if (v) - printf("%d/%d: fdatasync %s %d\n", procid, opno, f.path, e); - free_pathname(&f); - close(fd); -} - -#ifndef NO_XFS -void freesp_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - struct xfs_flock64 fl; - __s64 lr; - __s64 off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: freesp - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_RDWR); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: freesp - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: freesp - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - lr = ((__s64) random() << 32) + random(); - off = lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE); - off %= maxfsize; - memset(&fl, 0, sizeof(fl)); - fl.l_whence = SEEK_SET; - fl.l_start = off; - fl.l_len = 0; - e = ioctl(fd, XFS_IOC_FREESP64, &fl) < 0 ? errno : 0; - if (v) - printf("%d/%d: ioctl(XFS_IOC_FREESP64) %s %lld 0 %d\n", - procid, opno, f.path, (long long)off, e); - free_pathname(&f); - close(fd); -} - -#endif - -void fsync_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: fsync - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_WRONLY); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: fsync - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - e = fsync(fd) < 0 ? errno : 0; - if (v) - printf("%d/%d: fsync %s %d\n", procid, opno, f.path, e); - free_pathname(&f); - close(fd); -} - -void getdents_f(int opno, long r) -{ - DIR *dir; - pathname_t f; - int v; - - init_pathname(&f); - if (!get_fname(FT_DIRm, r, &f, NULL, NULL, &v)) - append_pathname(&f, "."); - dir = opendir_path(&f); - check_cwd(); - if (dir == NULL) { - if (v) - printf("%d/%d: getdents - can't open %s\n", - procid, opno, f.path); - free_pathname(&f); - return; - } - while (readdir64(dir) != NULL) - continue; - if (v) - printf("%d/%d: getdents %s 0\n", procid, opno, f.path); - free_pathname(&f); - closedir(dir); -} - -void link_f(int opno, long r) -{ - int e; - pathname_t f; - fent_t *fep; - flist_t *flp; - int id; - pathname_t l; - int parid; - int v; - int v1; - - init_pathname(&f); - if (!get_fname(FT_NOTDIR, r, &f, &flp, NULL, &v1)) { - if (v1) - printf("%d/%d: link - no file\n", procid, opno); - free_pathname(&f); - return; - } - if (!get_fname(FT_DIRm, random(), NULL, NULL, &fep, &v)) - parid = -1; - else - parid = fep->id; - v |= v1; - init_pathname(&l); - e = generate_fname(fep, flp - flist, &l, &id, &v1); - v |= v1; - if (!e) { - if (v) { - fent_to_name(&l, &flist[FT_DIR], fep); - printf("%d/%d: link - no filename from %s\n", - procid, opno, l.path); - } - free_pathname(&l); - free_pathname(&f); - return; - } - e = link_path(&f, &l) < 0 ? errno : 0; - check_cwd(); - if (e == 0) - add_to_flist(flp - flist, id, parid); - if (v) - printf("%d/%d: link %s %s %d\n", procid, opno, f.path, l.path, - e); - free_pathname(&l); - free_pathname(&f); -} - -void mkdir_f(int opno, long r) -{ - int e; - pathname_t f; - fent_t *fep; - int id; - int parid; - int v; - int v1; - - if (!get_fname(FT_DIRm, r, NULL, NULL, &fep, &v)) - parid = -1; - else - parid = fep->id; - init_pathname(&f); - e = generate_fname(fep, FT_DIR, &f, &id, &v1); - v |= v1; - if (!e) { - if (v) { - fent_to_name(&f, &flist[FT_DIR], fep); - printf("%d/%d: mkdir - no filename from %s\n", - procid, opno, f.path); - } - free_pathname(&f); - return; - } - e = mkdir_path(&f, 0777) < 0 ? errno : 0; - check_cwd(); - if (e == 0) - add_to_flist(FT_DIR, id, parid); - if (v) - printf("%d/%d: mkdir %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -void mknod_f(int opno, long r) -{ - int e; - pathname_t f; - fent_t *fep; - int id; - int parid; - int v; - int v1; - - if (!get_fname(FT_DIRm, r, NULL, NULL, &fep, &v)) - parid = -1; - else - parid = fep->id; - init_pathname(&f); - e = generate_fname(fep, FT_DEV, &f, &id, &v1); - v |= v1; - if (!e) { - if (v) { - fent_to_name(&f, &flist[FT_DIR], fep); - printf("%d/%d: mknod - no filename from %s\n", - procid, opno, f.path); - } - free_pathname(&f); - return; - } - e = mknod_path(&f, S_IFCHR | 0444, 0) < 0 ? errno : 0; - check_cwd(); - if (e == 0) - add_to_flist(FT_DEV, id, parid); - if (v) - printf("%d/%d: mknod %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -void read_f(int opno, long r) -{ - char *buf; - int e; - pathname_t f; - int fd; - size_t len; - __int64_t lr; - off64_t off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: read - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_RDONLY); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: read - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: read - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - if (stb.st_size == 0) { - if (v) - printf("%d/%d: read - %s zero size\n", procid, opno, - f.path); - free_pathname(&f); - close(fd); - return; - } - lr = ((__int64_t) random() << 32) + random(); - off = (off64_t) (lr % stb.st_size); - lseek64(fd, off, SEEK_SET); - len = (random() % (getpagesize() * 32)) + 1; - buf = malloc(len); - e = read(fd, buf, len) < 0 ? errno : 0; - free(buf); - if (v) - printf("%d/%d: read %s [%lld,%ld] %d\n", - procid, opno, f.path, (long long)off, (long int)len, e); - free_pathname(&f); - close(fd); -} - -void readlink_f(int opno, long r) -{ - char buf[PATH_MAX]; - int e; - pathname_t f; - int v; - - init_pathname(&f); - if (!get_fname(FT_SYMm, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: readlink - no filename\n", procid, opno); - free_pathname(&f); - return; - } - e = readlink_path(&f, buf, PATH_MAX) < 0 ? errno : 0; - check_cwd(); - if (v) - printf("%d/%d: readlink %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -void rename_f(int opno, long r) -{ - fent_t *dfep; - int e; - pathname_t f; - fent_t *fep; - flist_t *flp; - int id; - pathname_t newf; - int oldid; - int parid; - int v; - int v1; - - init_pathname(&f); - if (!get_fname(FT_ANYm, r, &f, &flp, &fep, &v1)) { - if (v1) - printf("%d/%d: rename - no filename\n", procid, opno); - free_pathname(&f); - return; - } - if (!get_fname(FT_DIRm, random(), NULL, NULL, &dfep, &v)) - parid = -1; - else - parid = dfep->id; - v |= v1; - init_pathname(&newf); - e = generate_fname(dfep, flp - flist, &newf, &id, &v1); - v |= v1; - if (!e) { - if (v) { - fent_to_name(&f, &flist[FT_DIR], dfep); - printf("%d/%d: rename - no filename from %s\n", - procid, opno, f.path); - } - free_pathname(&newf); - free_pathname(&f); - return; - } - e = rename_path(&f, &newf) < 0 ? errno : 0; - check_cwd(); - if (e == 0) { - if (flp - flist == FT_DIR) { - oldid = fep->id; - fix_parent(oldid, id); - } - del_from_flist(flp - flist, fep - flp->fents); - add_to_flist(flp - flist, id, parid); - } - if (v) - printf("%d/%d: rename %s to %s %d\n", procid, opno, f.path, - newf.path, e); - free_pathname(&newf); - free_pathname(&f); -} - -#ifndef NO_XFS -void resvsp_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - struct xfs_flock64 fl; - __s64 lr; - __s64 off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: resvsp - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_RDWR); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: resvsp - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: resvsp - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - lr = ((__s64) random() << 32) + random(); - off = lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE); - off %= maxfsize; - memset(&fl, 0, sizeof(fl)); - fl.l_whence = SEEK_SET; - fl.l_start = off; - fl.l_len = (__s64) (random() % (1024 * 1024)); - e = ioctl(fd, XFS_IOC_RESVSP64, &fl) < 0 ? errno : 0; - if (v) - printf("%d/%d: ioctl(XFS_IOC_RESVSP64) %s %lld %lld %d\n", - procid, opno, f.path, (long long)off, - (long long)fl.l_len, e); - free_pathname(&f); - close(fd); -} -#endif - -void rmdir_f(int opno, long r) -{ - int e; - pathname_t f; - fent_t *fep; - int v; - - init_pathname(&f); - if (!get_fname(FT_DIRm, r, &f, NULL, &fep, &v)) { - if (v) - printf("%d/%d: rmdir - no directory\n", procid, opno); - free_pathname(&f); - return; - } - e = rmdir_path(&f) < 0 ? errno : 0; - check_cwd(); - if (e == 0) - del_from_flist(FT_DIR, fep - flist[FT_DIR].fents); - if (v) - printf("%d/%d: rmdir %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -void stat_f(int opno, long r) -{ - int e; - pathname_t f; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_ANYm, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: stat - no entries\n", procid, opno); - free_pathname(&f); - return; - } - e = lstat64_path(&f, &stb) < 0 ? errno : 0; - check_cwd(); - if (v) - printf("%d/%d: stat %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -void symlink_f(int opno, long r) -{ - int e; - pathname_t f; - fent_t *fep; - int i; - int id; - int len; - int parid; - int v; - int v1; - char *val; - - if (!get_fname(FT_DIRm, r, NULL, NULL, &fep, &v)) - parid = -1; - else - parid = fep->id; - init_pathname(&f); - e = generate_fname(fep, FT_SYM, &f, &id, &v1); - v |= v1; - if (!e) { - if (v) { - fent_to_name(&f, &flist[FT_DIR], fep); - printf("%d/%d: symlink - no filename from %s\n", - procid, opno, f.path); - } - free_pathname(&f); - return; - } - len = (int)(random() % PATH_MAX); - val = malloc(len + 1); - if (len) - memset(val, 'x', len); - val[len] = '\0'; - for (i = 10; i < len - 1; i += 10) - val[i] = '/'; - e = symlink_path(val, &f) < 0 ? errno : 0; - check_cwd(); - if (e == 0) - add_to_flist(FT_SYM, id, parid); - free(val); - if (v) - printf("%d/%d: symlink %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -/* ARGSUSED */ -void sync_f(int opno, long r) -{ - sync(); - if (verbose) - printf("%d/%d: sync\n", procid, opno); -} - -void truncate_f(int opno, long r) -{ - int e; - pathname_t f; - __int64_t lr; - off64_t off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: truncate - no filename\n", procid, opno); - free_pathname(&f); - return; - } - e = stat64_path(&f, &stb) < 0 ? errno : 0; - check_cwd(); - if (e > 0) { - if (v) - printf("%d/%d: truncate - stat64 %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - lr = ((__int64_t) random() << 32) + random(); - off = lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE); - off %= maxfsize; - e = truncate64_path(&f, off) < 0 ? errno : 0; - check_cwd(); - if (v) - printf("%d/%d: truncate %s %lld %d\n", procid, opno, f.path, - (long long)off, e); - free_pathname(&f); -} - -void unlink_f(int opno, long r) -{ - int e; - pathname_t f; - fent_t *fep; - flist_t *flp; - int v; - - init_pathname(&f); - if (!get_fname(FT_NOTDIR, r, &f, &flp, &fep, &v)) { - if (v) - printf("%d/%d: unlink - no file\n", procid, opno); - free_pathname(&f); - return; - } - e = unlink_path(&f) < 0 ? errno : 0; - check_cwd(); - if (e == 0) - del_from_flist(flp - flist, fep - flp->fents); - if (v) - printf("%d/%d: unlink %s %d\n", procid, opno, f.path, e); - free_pathname(&f); -} - -#ifndef NO_XFS -void unresvsp_f(int opno, long r) -{ - int e; - pathname_t f; - int fd; - struct xfs_flock64 fl; - __s64 lr; - __s64 off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: unresvsp - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_RDWR); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: unresvsp - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: unresvsp - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - lr = ((__s64) random() << 32) + random(); - off = lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE); - off %= maxfsize; - memset(&fl, 0, sizeof(fl)); - fl.l_whence = SEEK_SET; - fl.l_start = off; - fl.l_len = (__s64) (random() % (1 << 20)); - e = ioctl(fd, XFS_IOC_UNRESVSP64, &fl) < 0 ? errno : 0; - if (v) - printf("%d/%d: ioctl(XFS_IOC_UNRESVSP64) %s %lld %lld %d\n", - procid, opno, f.path, (long long)off, - (long long)fl.l_len, e); - free_pathname(&f); - close(fd); -} -#endif - -void write_f(int opno, long r) -{ - char *buf; - int e; - pathname_t f; - int fd; - size_t len; - __int64_t lr; - off64_t off; - struct stat64 stb; - int v; - - init_pathname(&f); - if (!get_fname(FT_REGm, r, &f, NULL, NULL, &v)) { - if (v) - printf("%d/%d: write - no filename\n", procid, opno); - free_pathname(&f); - return; - } - fd = open_path(&f, O_WRONLY); - e = fd < 0 ? errno : 0; - check_cwd(); - if (fd < 0) { - if (v) - printf("%d/%d: write - open %s failed %d\n", - procid, opno, f.path, e); - free_pathname(&f); - return; - } - if (fstat64(fd, &stb) < 0) { - if (v) - printf("%d/%d: write - fstat64 %s failed %d\n", - procid, opno, f.path, errno); - free_pathname(&f); - close(fd); - return; - } - lr = ((__int64_t) random() << 32) + random(); - off = (off64_t) (lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE)); - off %= maxfsize; - lseek64(fd, off, SEEK_SET); - len = (random() % (getpagesize() * 32)) + 1; - buf = malloc(len); - memset(buf, nameseq & 0xff, len); - e = write(fd, buf, len) < 0 ? errno : 0; - free(buf); - if (v) - printf("%d/%d: write %s [%lld,%ld] %d\n", - procid, opno, f.path, (long long)off, (long int)len, e); - free_pathname(&f); - close(fd); -} diff --git a/src/_nfdos/e2fsprogs/contrib/make-sparse.c b/src/_nfdos/e2fsprogs/contrib/make-sparse.c deleted file mode 100644 index 98b86b0..0000000 --- a/src/_nfdos/e2fsprogs/contrib/make-sparse.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * make-sparse.c --- make a sparse file from stdin - * - * Copyright 2004 by Theodore Ts'o. - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - */ - -#ifndef _LARGEFILE_SOURCE -#define _LARGEFILE_SOURCE -#endif -#ifndef _LARGEFILE64_SOURCE -#define _LARGEFILE64_SOURCE -#endif - -#include -#include -#include -#include -#include -#include -#include - -int full_read(int fd, char *buf, size_t count) -{ - int got, total = 0; - int pass = 0; - - while (count > 0) { - got = read(fd, buf, count); - if (got == -1) { - if ((errno == EINTR) || (errno == EAGAIN)) - continue; - return total ? total : -1; - } - if (got == 0) { - if (pass++ >= 3) - return total; - continue; - } - pass = 0; - buf += got; - total += got; - count -= got; - } - return total; -} - -int main(int argc, char **argv) -{ - int fd, got, i; - int zflag = 0; - char buf[1024]; - - if (argc != 2) { - fprintf(stderr, "Usage: make-sparse out-file\n"); - exit(1); - } - fd = open(argv[1], O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0777); - if (fd < 0) { - perror(argv[1]); - exit(1); - } - while (1) { - got = full_read(0, buf, sizeof(buf)); - if (got == 0) - break; - if (got == sizeof(buf)) { - for (i=0; i < sizeof(buf); i++) - if (buf[i]) - break; - if (i == sizeof(buf)) { - lseek(fd, sizeof(buf), SEEK_CUR); - zflag = 1; - continue; - } - } - zflag = 0; - write(fd, buf, got); - } - if (zflag) { - lseek(fd, -1, SEEK_CUR); - buf[0] = 0; - write(fd, buf, 1); - } - return 0; -} - diff --git a/src/_nfdos/e2fsprogs/contrib/populate-extfs.sh b/src/_nfdos/e2fsprogs/contrib/populate-extfs.sh deleted file mode 100755 index b1d3d1f..0000000 --- a/src/_nfdos/e2fsprogs/contrib/populate-extfs.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/sh -# -# This script uses debugfs command to populate the ext2/3/4 filesystem -# from a given directory. -# - -do_usage () { - cat << _EOF -Usage: populate-extfs.sh -Create an ext2/ext3/ext4 filesystem from a directory or file - - source: The source directory or file - device: The target device - -_EOF - exit 1 -} - -[ $# -ne 2 ] && do_usage - -SRCDIR=${1%%/} -DEVICE=$2 - -# Find where is the debugfs command if not found in the env. -if [ -z "$DEBUGFS" ]; then - CONTRIB_DIR=$(dirname $(readlink -f $0)) - DEBUGFS="$CONTRIB_DIR/../debugfs/debugfs" -fi - -{ - CWD="/" - find $SRCDIR | while read FILE; do - TGT="${FILE##*/}" - DIR="${FILE#$SRCDIR}" - DIR="${DIR%$TGT}" - - # Skip the root dir - [ ! -z "$DIR" ] || continue - [ ! -z "$TGT" ] || continue - - if [ "$DIR" != "$CWD" ]; then - echo "cd $DIR" - CWD="$DIR" - fi - - # Only stat once since stat is a time consuming command - STAT=$(stat -c "TYPE=\"%F\";DEVNO=\"0x%t 0x%T\";MODE=\"%f\";U=\"%u\";G=\"%g\"" $FILE) - eval $STAT - - case $TYPE in - "directory") - echo "mkdir $TGT" - ;; - "regular file" | "regular empty file") - echo "write $FILE $TGT" - ;; - "symbolic link") - LINK_TGT=$(readlink $FILE) - echo "symlink $TGT $LINK_TGT" - ;; - "block special file") - echo "mknod $TGT b $DEVNO" - ;; - "character special file") - echo "mknod $TGT c $DEVNO" - ;; - "fifo") - echo "mknod $TGT p" - ;; - *) - echo "Unknown/unhandled file type '$TYPE' file: $FILE" 1>&2 - ;; - esac - - # Set the file mode - echo "sif $TGT mode 0x$MODE" - - # Set uid and gid - echo "sif $TGT uid $U" - echo "sif $TGT gid $G" - done - - # Handle the hard links. - # Save the hard links to a file, use the inode number as the filename, for example: - # If a and b's inode number is 6775928, save a and b to /tmp/tmp.VrCwHh5gdt/6775928. - INODE_DIR=`mktemp -d` || exit 1 - for i in `find $SRCDIR -type f -links +1 -printf 'INODE=%i###FN=%p\n'`; do - eval `echo $i | sed 's$###$ $'` - echo ${FN#$SRCDIR} >>$INODE_DIR/$INODE - done - # Use the debugfs' ln and "sif links_count" to handle them. - for i in `ls $INODE_DIR`; do - # The link source - SRC=`head -1 $INODE_DIR/$i` - # Remove the files and link them again except the first one - for TGT in `sed -n -e '1!p' $INODE_DIR/$i`; do - echo "rm $TGT" - echo "ln $SRC $TGT" - done - LN_CNT=`cat $INODE_DIR/$i | wc -l` - # Set the links count - echo "sif $SRC links_count $LN_CNT" - done - rm -fr $INODE_DIR -} | $DEBUGFS -w -f - $DEVICE diff --git a/src/_nfdos/e2fsprogs/contrib/python-uuid/setup.py b/src/_nfdos/e2fsprogs/contrib/python-uuid/setup.py deleted file mode 100755 index 3934d17..0000000 --- a/src/_nfdos/e2fsprogs/contrib/python-uuid/setup.py +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/python -from distutils.core import setup, Extension - -uuid = Extension('e2fsprogs_uuid', - sources = ['uuid.c'], - libraries = ['uuid']) - -setup (name = 'e2fsprogs_uuid', - version = '1.0', - description = 'This is python uuid interface', - ext_modules = [uuid]) diff --git a/src/_nfdos/e2fsprogs/contrib/python-uuid/test.py b/src/_nfdos/e2fsprogs/contrib/python-uuid/test.py deleted file mode 100755 index 2264f62..0000000 --- a/src/_nfdos/e2fsprogs/contrib/python-uuid/test.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/python -import e2fsprogs_uuid -import time - -print "Generating uuid...", -try: - time = time.time() - u = e2fsprogs_uuid.generate() -except: - u = "FAIL" -print u, "...", time - -print "Calling generate with param...", -try: - e2fsprogs_uuid.generate("param") - print "FAIL." -except: - print "OK" diff --git a/src/_nfdos/e2fsprogs/contrib/python-uuid/uuid.c b/src/_nfdos/e2fsprogs/contrib/python-uuid/uuid.c deleted file mode 100644 index 34dd56a..0000000 --- a/src/_nfdos/e2fsprogs/contrib/python-uuid/uuid.c +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include -#include - -static PyObject * _uuid_generate(PyObject *self, PyObject *args) -{ - uuid_t u; - char uuid[37]; - if (!PyArg_ParseTuple(args, "")) return NULL; - uuid_generate(u); - uuid_unparse(u, uuid); - return Py_BuildValue("s", uuid); -} - -static PyMethodDef _uuid_methods[] = { - {"generate", _uuid_generate, METH_VARARGS, "Generate UUID"}, - {NULL, NULL, 0, NULL} -}; - -void inite2fsprogs_uuid(void) -{ - (void) Py_InitModule("e2fsprogs_uuid", _uuid_methods); -} diff --git a/src/_nfdos/e2fsprogs/contrib/setup-schroot b/src/_nfdos/e2fsprogs/contrib/setup-schroot deleted file mode 100755 index f3f45c6..0000000 --- a/src/_nfdos/e2fsprogs/contrib/setup-schroot +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# -# This script sets up a schroot suitable for building e2fsprogs -# on a Debian portable box - -while [ "$1" != "" ]; -do - case "$1" in - --base) shift - BASE_CHROOT="$1" - ;; - --chroot) shift - CHROOT="$1" - ;; - --help|help) - echo "Usage: setup-schroot [--base ] [--chroot ]" - exit 0 - ;; - *) - echo "unknown option: $1" - exit 1 - ;; - esac - shift -done - -if test -z "$BASE_CHROOT" ; then - BASE_CHROOT=sid -fi - -if test -z "$CHROOT" ; then - CHROOT="$USER-$BASE_CHROOT" -fi - -echo "Setting up $CHROOT using $BASE_CHROOT..." -schroot -b -n "$CHROOT" -c "$BASE_CHROOT" -dd-schroot-cmd -c "$CHROOT" apt-get update -dd-schroot-cmd -c "$CHROOT" -y apt-get upgrade -dd-schroot-cmd -c "$CHROOT" -y apt-get build-dep e2fsprogs -dd-schroot-cmd -c "$CHROOT" -y apt-get install git gdb emacs-nox lintian \ - acl libreadline-dev dh-exec cron -dd-schroot-cmd -c "$CHROOT" -y apt-get install udev systemd -echo " " -echo "Start chroot by running: " -echo "schroot -r -c $CHROOT" -echo " " diff --git a/src/_nfdos/e2fsprogs/contrib/spd_readdir.c b/src/_nfdos/e2fsprogs/contrib/spd_readdir.c deleted file mode 100644 index 8345fa1..0000000 --- a/src/_nfdos/e2fsprogs/contrib/spd_readdir.c +++ /dev/null @@ -1,458 +0,0 @@ -/* - * readdir accelerator - * - * (C) Copyright 2003, 2004, 2008 by Theodore Ts'o. - * - * 2008-06-08 Modified by Ross Boylan - * Added support for readdir_r and readdir64_r calls. Note - * this has not been tested on anything other than GNU/Linux i386, - * and that the regular readdir wrapper will take slightly more - * space than Ted's original since it now includes a lock. - * - * Compile using the command: - * - * gcc -o spd_readdir.so -shared -fpic spd_readdir.c -ldl - * - * Use it by setting the LD_PRELOAD environment variable: - * - * export LD_PRELOAD=/usr/local/sbin/spd_readdir.so - * - * %Begin-Header% - * This file may be redistributed under the terms of the GNU Public - * License. - * %End-Header% - * - */ - -#define ALLOC_STEPSIZE 100 -#define MAX_DIRSIZE 0 - -#define DEBUG -/* Util we autoconfiscate spd_readdir... */ -#define HAVE___SECURE_GETENV 1 -#define HAVE_PRCTL 1 -#define HAVE_SYS_PRCTL_H 1 - -#ifdef DEBUG -#define DEBUG_DIR(x) {if (do_debug) { x; }} -#else -#define DEBUG_DIR(x) -#endif - -#define _GNU_SOURCE -#define __USE_LARGEFILE64 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_PRCTL_H -#include -#else -#define PR_GET_DUMPABLE 3 -#endif -#include - -struct dirent_s { - unsigned long long d_ino; - long long d_off; - unsigned short int d_reclen; - unsigned char d_type; - char *d_name; -}; - -struct dir_s { - DIR *dir; - pthread_mutex_t lock; /* Mutex lock for this structure. */ - int num; - int max; - struct dirent_s *dp; - int pos; - int direct; - struct dirent ret_dir; - struct dirent64 ret_dir64; -}; - -static int (*real_closedir)(DIR *dir) = 0; -static DIR *(*real_opendir)(const char *name) = 0; -static DIR *(*real_fdopendir)(int fd) = 0; -static void *(*real_rewinddir)(DIR *dirp) = 0; -static struct dirent *(*real_readdir)(DIR *dir) = 0; -static int (*real_readdir_r)(DIR *dir, struct dirent *entry, - struct dirent **result) = 0; -static struct dirent64 *(*real_readdir64)(DIR *dir) = 0; -static int (*real_readdir64_r)(DIR *dir, struct dirent64 *entry, - struct dirent64 **result) = 0; -static off_t (*real_telldir)(DIR *dir) = 0; -static void (*real_seekdir)(DIR *dir, off_t offset) = 0; -static int (*real_dirfd)(DIR *dir) = 0; -static unsigned long max_dirsize = MAX_DIRSIZE; -static int num_open = 0; -#ifdef DEBUG -static int do_debug = 0; -#endif - -static char *safe_getenv(const char *arg) -{ - if ((getuid() != geteuid()) || (getgid() != getegid())) - return NULL; -#if HAVE_PRCTL - if (prctl(PR_GET_DUMPABLE, 0, 0, 0, 0) == 0) - return NULL; -#else -#if (defined(linux) && defined(SYS_prctl)) - if (syscall(SYS_prctl, PR_GET_DUMPABLE, 0, 0, 0, 0) == 0) - return NULL; -#endif -#endif - -#if HAVE___SECURE_GETENV - return __secure_getenv(arg); -#else - return getenv(arg); -#endif -} - -static void setup_ptr() -{ - char *cp; - - real_opendir = dlsym(RTLD_NEXT, "opendir"); - real_fdopendir = dlsym(RTLD_NEXT, "fdopendir"); - real_closedir = dlsym(RTLD_NEXT, "closedir"); - real_rewinddir = dlsym(RTLD_NEXT, "rewinddir"); - real_readdir = dlsym(RTLD_NEXT, "readdir"); - real_readdir_r = dlsym(RTLD_NEXT, "readdir_r"); - real_readdir64 = dlsym(RTLD_NEXT, "readdir64"); - real_readdir64_r = dlsym(RTLD_NEXT, "readdir64_r"); - real_telldir = dlsym(RTLD_NEXT, "telldir"); - real_seekdir = dlsym(RTLD_NEXT, "seekdir"); - real_dirfd = dlsym(RTLD_NEXT, "dirfd"); - if ((cp = safe_getenv("SPD_READDIR_MAX_SIZE")) != NULL) { - max_dirsize = atol(cp); - } -#ifdef DEBUG - if (safe_getenv("SPD_READDIR_DEBUG")) { - printf("initialized!\n"); - do_debug++; - } -#endif -} - -static void free_cached_dir(struct dir_s *dirstruct) -{ - int i; - - pthread_mutex_destroy(&(dirstruct->lock)); - - if (!dirstruct->dp) - return; - - for (i=0; i < dirstruct->num; i++) { - free(dirstruct->dp[i].d_name); - } - free(dirstruct->dp); - dirstruct->dp = 0; - dirstruct->max = dirstruct->num = 0; -} - -static int ino_cmp(const void *a, const void *b) -{ - const struct dirent_s *ds_a = (const struct dirent_s *) a; - const struct dirent_s *ds_b = (const struct dirent_s *) b; - ino_t i_a, i_b; - - i_a = ds_a->d_ino; - i_b = ds_b->d_ino; - - if (ds_a->d_name[0] == '.') { - if (ds_a->d_name[1] == 0) - i_a = 0; - else if ((ds_a->d_name[1] == '.') && (ds_a->d_name[2] == 0)) - i_a = 1; - } - if (ds_b->d_name[0] == '.') { - if (ds_b->d_name[1] == 0) - i_b = 0; - else if ((ds_b->d_name[1] == '.') && (ds_b->d_name[2] == 0)) - i_b = 1; - } - - return (i_a - i_b); -} - -static struct dir_s *alloc_dirstruct(DIR *dir) -{ - struct dir_s *dirstruct; - static pthread_mutexattr_t mutexattr; - mutexattr.__align = PTHREAD_MUTEX_RECURSIVE; - - dirstruct = malloc(sizeof(struct dir_s)); - if (dirstruct) - memset(dirstruct, 0, sizeof(struct dir_s)); - dirstruct->dir = dir; - pthread_mutex_init(&(dirstruct->lock), &mutexattr); - return dirstruct; -} - -static void cache_dirstruct(struct dir_s *dirstruct) -{ - struct dirent_s *ds, *dnew; - struct dirent64 *d; - - while ((d = (*real_readdir64)(dirstruct->dir)) != NULL) { - if (dirstruct->num >= dirstruct->max) { - dirstruct->max += ALLOC_STEPSIZE; - DEBUG_DIR(printf("Reallocating to size %d\n", - dirstruct->max)); - dnew = realloc(dirstruct->dp, - dirstruct->max * sizeof(struct dir_s)); - if (!dnew) - goto nomem; - dirstruct->dp = dnew; - } - ds = &dirstruct->dp[dirstruct->num++]; - ds->d_ino = d->d_ino; - ds->d_off = d->d_off; - ds->d_reclen = d->d_reclen; - ds->d_type = d->d_type; - if ((ds->d_name = malloc(strlen(d->d_name)+1)) == NULL) { - dirstruct->num--; - goto nomem; - } - strcpy(ds->d_name, d->d_name); - DEBUG_DIR(printf("readdir: %lu %s\n", - (unsigned long) d->d_ino, d->d_name)); - } - qsort(dirstruct->dp, dirstruct->num, sizeof(struct dirent_s), ino_cmp); - return; -nomem: - DEBUG_DIR(printf("No memory, backing off to direct readdir\n")); - free_cached_dir(dirstruct); - dirstruct->direct = 1; -} - -DIR *opendir(const char *name) -{ - DIR *dir; - struct dir_s *dirstruct; - struct stat st; - - if (!real_opendir) - setup_ptr(); - - DEBUG_DIR(printf("Opendir(%s) (%d open)\n", name, num_open++)); - dir = (*real_opendir)(name); - if (!dir) - return NULL; - - dirstruct = alloc_dirstruct(dir); - if (!dirstruct) { - (*real_closedir)(dir); - errno = -ENOMEM; - return NULL; - } - - if (max_dirsize && (stat(name, &st) == 0) && - (st.st_size > max_dirsize)) { - DEBUG_DIR(printf("Directory size %ld, using direct readdir\n", - st.st_size)); - dirstruct->direct = 1; - return (DIR *) dirstruct; - } - - cache_dirstruct(dirstruct); - return ((DIR *) dirstruct); -} - -DIR *fdopendir(int fd) -{ - DIR *dir; - struct dir_s *dirstruct; - struct stat st; - - if (!real_fdopendir) - setup_ptr(); - - DEBUG_DIR(printf("fdopendir(%d) (%d open)\n", fd, num_open++)); - dir = (*real_fdopendir)(fd); - if (!dir) - return NULL; - - dirstruct = alloc_dirstruct(dir); - if (!dirstruct) { - (*real_closedir)(dir); - errno = -ENOMEM; - return NULL; - } - - if (max_dirsize && (fstat(fd, &st) == 0) && - (st.st_size > max_dirsize)) { - DEBUG_DIR(printf("Directory size %ld, using direct readdir\n", - st.st_size)); - dirstruct->dir = dir; - dirstruct->direct = 1; - return (DIR *) dirstruct; - } - - cache_dirstruct(dirstruct); - return ((DIR *) dirstruct); -} - -int closedir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - DEBUG_DIR(printf("Closedir (%d open)\n", --num_open)); - if (dirstruct->dir) - (*real_closedir)(dirstruct->dir); - - free_cached_dir(dirstruct); - free(dirstruct); - return 0; -} - -struct dirent *readdir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir)(dirstruct->dir); - - if (dirstruct->pos >= dirstruct->num) - return NULL; - - ds = &dirstruct->dp[dirstruct->pos++]; - dirstruct->ret_dir.d_ino = ds->d_ino; - dirstruct->ret_dir.d_off = ds->d_off; - dirstruct->ret_dir.d_reclen = ds->d_reclen; - dirstruct->ret_dir.d_type = ds->d_type; - strncpy(dirstruct->ret_dir.d_name, ds->d_name, - sizeof(dirstruct->ret_dir.d_name)); - - return (&dirstruct->ret_dir); -} - -int readdir_r(DIR *dir, struct dirent *entry, struct dirent **result) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir_r)(dirstruct->dir, entry, result); - - pthread_mutex_lock(&(dirstruct->lock)); - if (dirstruct->pos >= dirstruct->num) { - *result = NULL; - } else { - ds = &dirstruct->dp[dirstruct->pos++]; - entry->d_ino = ds->d_ino; - entry->d_off = ds->d_off; - entry->d_reclen = ds->d_reclen; - entry->d_type = ds->d_type; - strncpy(entry->d_name, ds->d_name, sizeof(entry->d_name)); - *result = entry; - } - pthread_mutex_unlock(&(dirstruct->lock)); - return 0; -} - -struct dirent64 *readdir64(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir64)(dirstruct->dir); - - if (dirstruct->pos >= dirstruct->num) - return NULL; - - ds = &dirstruct->dp[dirstruct->pos++]; - dirstruct->ret_dir64.d_ino = ds->d_ino; - dirstruct->ret_dir64.d_off = ds->d_off; - dirstruct->ret_dir64.d_reclen = ds->d_reclen; - dirstruct->ret_dir64.d_type = ds->d_type; - strncpy(dirstruct->ret_dir64.d_name, ds->d_name, - sizeof(dirstruct->ret_dir64.d_name)); - - return (&dirstruct->ret_dir64); -} - -int readdir64_r (DIR *__restrict dir, - struct dirent64 *__restrict entry, - struct dirent64 **__restrict result) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - struct dirent_s *ds; - - if (dirstruct->direct) - return (*real_readdir64_r)(dir, entry, result); - pthread_mutex_lock(&(dirstruct->lock)); - if (dirstruct->pos >= dirstruct->num) { - *result = NULL; - } else { - ds = &dirstruct->dp[dirstruct->pos++]; - entry->d_ino = ds->d_ino; - entry->d_off = ds->d_off; - entry->d_reclen = ds->d_reclen; - entry->d_type = ds->d_type; - strncpy(entry->d_name, ds->d_name, - sizeof(entry->d_name)); - *result = entry; - } - pthread_mutex_unlock(&(dirstruct->lock)); - return 0; -} - -off_t telldir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - if (dirstruct->direct) - return (*real_telldir)(dirstruct->dir); - - return ((off_t) dirstruct->pos); -} - -void seekdir(DIR *dir, off_t offset) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - if (dirstruct->direct) { - (*real_seekdir)(dirstruct->dir, offset); - return; - } - - dirstruct->pos = offset; -} - -void rewinddir(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - - (*real_rewinddir)(dirstruct->dir); - if (dirstruct->direct) - return; - - pthread_mutex_lock(&(dirstruct->lock)); - dirstruct->pos = 0; - free_cached_dir(dirstruct); - cache_dirstruct(dirstruct); - pthread_mutex_unlock(&(dirstruct->lock)); -} - -int dirfd(DIR *dir) -{ - struct dir_s *dirstruct = (struct dir_s *) dir; - int fd = (*real_dirfd)(dirstruct->dir); - - DEBUG_DIR(printf("dirfd %d, %p\n", fd, real_dirfd)); - return fd; -} diff --git a/src/_nfdos/e2fsprogs/debian/.gitignore b/src/_nfdos/e2fsprogs/debian/.gitignore deleted file mode 100644 index 91d8482..0000000 --- a/src/_nfdos/e2fsprogs/debian/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!patches diff --git a/src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.info b/src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.info deleted file mode 100644 index 8bd344b..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.info +++ /dev/null @@ -1,4 +0,0 @@ -DESCR="The Common Error Description library." -SECTION_MATCH="Development" -SECTION_NAME="Development" -FILE=com_err.info diff --git a/src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.menu b/src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.menu deleted file mode 100644 index 7dddab3..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/comerrg-dev.menu +++ /dev/null @@ -1,7 +0,0 @@ -?package(comerrg-dev):needs="dwww" section="Apps/Programming"\ - title="The com_err library" \ - longtitle="The Common Error Description library"\ - description="libcomerr is an attempt to present a common error-handling mechanism to \ - manipulate the most common form of error code in a fashion that does not \ - have the problems identified with mechanisms commonly in use." \ - command="/usr/doc/comerrg-dev/html-info/com_err_toc.html" diff --git a/src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.info b/src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.info deleted file mode 100644 index e1be950..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.info +++ /dev/null @@ -1,4 +0,0 @@ -DESCR="Library of routines to manipulate an ext2 filesystem." -SECTION_MATCH="Development" -SECTION_NAME="Development" -FILE=libext2fs.info diff --git a/src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.menu b/src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.menu deleted file mode 100644 index 7ace8c0..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/e2fslibsg-dev.menu +++ /dev/null @@ -1,4 +0,0 @@ -?package(e2fslibsg-dev):needs="dwww" section="Apps/Programming"\ - title="The ext2fs library." \ - longtitle="A library to handle low-level structures in an ext2 filesystem"\ - command="/usr/doc/e2fslibsg-dev/html-info/libext2fs_toc.html" diff --git a/src/_nfdos/e2fsprogs/debian/attic/libs/comerr2g.files b/src/_nfdos/e2fsprogs/debian/attic/libs/comerr2g.files deleted file mode 100644 index 4f1f552..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/libs/comerr2g.files +++ /dev/null @@ -1,2 +0,0 @@ -lib/libcom_err.so.?.* -lib/libcom_err.so.? diff --git a/src/_nfdos/e2fsprogs/debian/attic/libs/control b/src/_nfdos/e2fsprogs/debian/attic/libs/control deleted file mode 100644 index 4205120..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/libs/control +++ /dev/null @@ -1,114 +0,0 @@ -Source: e2fsprogs -Section: base -Priority: required -Maintainer: Yann Dirson -Standards-Version: 2.4.0.0 - -Package: e2fsprogs -Essential: yes -Depends: ${shlibs:Depends} -Conflicts: e2fsprogsg, dump (<< 0.4b4-4), quota (<< 1.55-8.1) -Architecture: any -Description: The EXT2 file system utilities. - EXT2 stands for "Extended Filesystem", version 2. It's the main - filesystem type used for hard disks on Debian and other Linux systems. - . - This package contains programs for creating, checking, and maintaining EXT2 - filesystems, and the generic `fsck' wrapper. - . - This release may break older versions of dump and quota. - -Package: comerr2g -Depends: ${shlibs:Depends} -Conflicts: e2fsprogs (<< 1.10-6), comerr2 -Architecture: any -Description: The Common Error Description library - shared libraries. - libcomerr is an attempt to present a common error-handling mechanism to - manipulate the most common form of error code in a fashion that does not - have the problems identified with mechanisms commonly in use. - . - It is mainly used by the EXT2-filesystem tools. - -Package: ss2g -Depends: ${shlibs:Depends} -Conflicts: e2fsprogs (<< 1.10-6), ss2 -Architecture: any -Description: "Sub-System" library for simple command-line interface parsing - shared libs - This package contains the shared libs to support command-line - interface parsers generated with the ssg-dev package. - . - It was originally inspired by the Multics SubSystem library. - -Package: e2fslibsg -Depends: ${shlibs:Depends} -Provides: ext2fs2g, e2p2g, uuid1g -Conflicts: e2fsprogs (<= 1.10-7) -Architecture: any -Description: The EXT2 file system shared libs. - EXT2 stands for "Extended Filesystem", version 2. It's the filesystem type - used for hard disks on Debian and other Linux systems. - . - This package contains shared libraries needed by the utility programs. - -Package: comerrg-dev -Section: devel -Priority: extra -Depends: ${libcdev:Depends}, comerr2g -Suggests: doc-base -Conflicts: e2fsprogs (<< 1.10-6), comerr-dev -Architecture: any -Description: The Common Error Description library - headers and static libraries. - libcomerr is an attempt to present a common error-handling mechanism to - manipulate the most common form of error code in a fashion that does not - have the problems identified with mechanisms commonly in use. - -Package: ssg-dev -Section: devel -Priority: extra -Depends: ${libcdev:Depends}, ss2g -Conflicts: e2fsprogs (<< 1.10-6), ss-dev -Architecture: any -Description: "Sub-System" library for simple command-line interface parsing - devel. files - This package includes a tool that parses a command table to generate - a simple command-line interface parser, the include files needed to - compile and use it, and the static libs. - . - It was originally inspired by the Multics SubSystem library. - -Package: e2fslibsg-dev -Section: devel -Priority: extra -Depends: ${libcdev:Depends}, e2fslibsg, comerrg-dev -Suggests: doc-base -Provides: ext2fsg-dev, e2pg-dev, uuidg-dev -Conflicts: e2fsprogs (<< 1.10-6), e2fslibs-dev -Architecture: any -Description: The headers and static libraries for ext2fs-aware tools-development. - EXT2FS stands for "Extended Filesystem", version 2. It's the filesystem - type used for hard disks on Debian and other Linux systems. - . - This package contains the headers and shared libraries needed to compile - ext2fs-aware programs. Only programmers that really manipulate - features specific to the ext2 filesystem will need this. Most - programmers will use the generic filesystem-independent interface - from libc. - . - It also contains dev files for 2 other libs (e2p and uuid) used by - the e2fsprogs, but which are not yet packaged all by themselves - because they lack documentation. They may also lack some support - files, by I can't really know until someone uses them... - . - libe2p is for user-level e2fsprogs commands. It's used by dumpe2fs, - chattr, and lsattr. Functions in libe2p typically have two - characteristics (a) don't require that block device containing the - filesystem be opened directly (functions in libext2fs do), and (b) - libe2p typically contains printf statements or parse user input, and so - have more internationalization issues. - . - libuuid generates and parses 128-bit universally unique id's (UUID's), - using a standard which is blessed by both Microsoft and DCE, and is - being proposed as an internet standard. See the internet-draft: - . - draft-leach-uuids-guids-01.txt - . - for more information. diff --git a/src/_nfdos/e2fsprogs/debian/attic/libs/e2fslibsg.files b/src/_nfdos/e2fsprogs/debian/attic/libs/e2fslibsg.files deleted file mode 100644 index c777084..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/libs/e2fslibsg.files +++ /dev/null @@ -1,3 +0,0 @@ -lib/*.so.?.* -lib/*.so.? -usr/doc/e2fslibsg/* diff --git a/src/_nfdos/e2fsprogs/debian/attic/libs/rules b/src/_nfdos/e2fsprogs/debian/attic/libs/rules deleted file mode 100644 index 3cf3c8d..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/libs/rules +++ /dev/null @@ -1,182 +0,0 @@ -#! /usr/bin/make -f -# -*- makefile -*- -# -# Invoke each target with `./debian/rules '. All targets should be -# invoked with the package root as the current directory. -# -# The `binary' target must be run as root, as it needs to install files with -# specific ownerships. - -# Uncomment this to turn on verbose mode. -export DH_VERBOSE=1 - -package = e2fsprogs -ARCH = $(shell dpkg --print-architecture) - -# find the version for the main package, from changelog file -MAIN_VERSION = $(shell head -1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') -# find versions for libraries going into their own packages, from their Makefile.in's -COMERR_VERSION = $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) -COMERR_MAJOR = $(word 1,$(subst ., ,$(COMERR_VERSION))) -SS_VERSION = $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) -SS_MAJOR = $(word 1,$(subst ., ,$(SS_VERSION))) - -topdir = $(shell pwd) -debdir = $(topdir)/debian -maindir = $(debdir)/tmp -builddir = $(topdir)/builddir -docdir = $(maindir)/usr/doc/$(package) - -SUBPACKAGES_DIRS = tmp e2fslibsg e2fslibsg-dev comerr$(COMERR_MAJOR)g comerrg-dev \ - ss$(SS_MAJOR)g ssg-dev - -installdoc = install -m 644 -installbin = install -m 755 - -ifeq ($(ARCH),alpha) -CCOPTS = -g -O2 -fsigned-char -DHAVE_NETINET_IN_H -LIBC-DEV = libc6.1-dev -else -CCOPTS = -g -O2 -fsigned-char -LIBC-DEV = libc6-dev -endif - -build: configured - dh_testdir - make -C $(builddir) - make -C $(builddir)/misc findsuper - cd doc && texi2html -split_chapter libext2fs.texinfo - cd lib/et && texi2html -split_chapter -expandinfo com_err.texinfo - touch build - -configured: - dh_testdir - mkdir -p $(builddir) - cd $(builddir) && CFLAGS="$(CFLAGS)" \ - ../configure --enable-elf-shlibs --enable-dynamic-e2fsck \ - --with-ccopts="$(CCOPTS)" - touch configured - -clean: - dh_testdir - rm -f build configured install - -make -C $(builddir) -i distclean - rm -rf $(builddir) - rm -f doc/libext2fs_*.html lib/et/com_err_*.html - dh_clean - -binary-indep: build - # no arch-independant debs. - -binary-arch: build - dh_testversion 0.56 # == 0.53 + fixes - dh_testdir -a - dh_testroot -a - dh_clean -a -k - dh_installdirs -a - - make -C $(builddir) install DESTDIR=$(maindir) - install -m 755 $(builddir)/misc/findsuper $(maindir)/sbin - # static libs and .h files - make -C $(builddir) install-libs DESTDIR=$(maindir) - install -m 644 $(builddir)/lib/ss/ss_err.h $(maindir)/usr/include/ss/ - -# fix and install compile_et script - sed s%$(topdir)/lib/et%/usr/share/comerr% \ - <$(builddir)/lib/et/compile_et \ - >$(debdir)/comerrg-dev/usr/bin/compile_et - chmod 755 $(debdir)/comerrg-dev/usr/bin/compile_et -# add support files for compile_et - install -m 644 lib/et/et_c.awk lib/et/et_h.awk \ - $(debdir)/comerrg-dev/usr/share/comerr/ - -# fix and install mk_cmds script - sed s%$(topdir)/lib/ss%/usr/share/ss% \ - <$(builddir)/lib/ss/mk_cmds \ - >$(debdir)/ssg-dev/usr/bin/mk_cmds - chmod 755 $(debdir)/ssg-dev/usr/bin/mk_cmds -# add support files for mk_cmds - install -m 644 lib/ss/ct_c.awk lib/ss/ct_c.sed \ - $(debdir)/ssg-dev/usr/share/ss/ - -# docs - mkdir -p $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg - ln -sf e2fslibsg $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev - mkdir -p $(maindir)/usr/doc/e2fslibsg - ln -sf e2fslibsg $(maindir)/usr/doc/e2fsprogs - mkdir -p $(debdir)/comerrg-dev/usr/doc/comerr$(COMERR_MAJOR)g - ln -sf comerr$(COMERR_MAJOR)g $(debdir)/comerrg-dev/usr/doc/comerrg-dev - mkdir -p $(debdir)/ssg-dev/usr/doc/ss$(SS_MAJOR)g - ln -sf ss$(SS_MAJOR)g $(debdir)/ssg-dev/usr/doc/ssg-dev - dh_installdocs -a - - # HTML docs - install -d $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev/html-info/ - install -p $(topdir)/doc/libext2fs_*.html \ - $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg-dev/html-info/ - install -d $(debdir)/comerrg-dev/usr/doc/comerrg-dev/html-info/ - install -p $(topdir)/lib/et/com_err_*.html \ - $(debdir)/comerrg-dev/usr/doc/comerrg-dev/html-info/ - - # texinfo docs - install -p $(topdir)/doc/libext2fs.texinfo \ - $(debdir)/e2fslibsg-dev/usr/doc/e2fslibsg/libext2fs.texi - install -p $(topdir)/lib/et/com_err.texinfo \ - $(debdir)/comerrg-dev/usr/doc/comerr2g/com_err.texi - - # doc-base support - install -d $(debdir)/e2fslibsg-dev/usr/share/doc-base/ - install -p -m 644 $(debdir)/libext2fs.docbase \ - $(debdir)/e2fslibsg-dev/usr/share/doc-base/libext2fs - install -d $(debdir)/comerrg-dev/usr/share/doc-base/ - install -p -m 644 $(debdir)/com_err.docbase \ - $(debdir)/comerrg-dev/usr/share/doc-base/com_err - - # examples - dh_installexamples -a - - # dh_installmanpages still makes a mess as of 0.54 (see below dh_movefiles) - install -p $(topdir)/lib/et/compile_et.1 $(maindir)/usr/man/man1/ - install -d $(maindir)/usr/man/man3/ - install -p $(topdir)/lib/et/com_err.3 $(maindir)/usr/man/man3/ - ln -s e2fsck.8 $(maindir)/usr/man/man8/fsck.ext2.8 - ln -s mke2fs.8 $(maindir)/usr/man/man8/mkfs.ext2.8 - - dh_movefiles -a - # cleanup empty dirs - cd $(maindir) && rmdir usr/man/cat? bin lib usr/include/* usr/include \ - usr/info usr/lib usr/man/man3 usr/doc/e2fslibsg - -# dh_installmenu -a - - # broken + useless in 0.52 - # dh_installmanpages -a - - dh_undocumented -a - - dh_installchangelogs -pe2fslibsg -pcomerr$(COMERR_MAJOR)g -pss$(SS_MAJOR)g ChangeLog - - dh_strip -a - dh_compress -a - dh_fixperms -a - - echo "libcdev:Depends=$(LIBC-DEV)" > debian/comerrg-dev.substvars - echo "libcdev:Depends=$(LIBC-DEV)" > debian/ssg-dev.substvars - echo "libcdev:Depends=$(LIBC-DEV)" > debian/e2fslibsg-dev.substvars - - dh_installdeb -a - LD_LIBRARY_PATH=$(builddir)/lib:/lib:/usr/lib \ - dh_shlibdeps -a - dh_gencontrol -u '-isp' -pe2fsprogs -pe2fslibsg -pe2fslibsg-dev - dh_gencontrol -u '-isp' -pcomerr$(COMERR_MAJOR)g -pcomerrg-dev \ - -u '-v$(COMERR_VERSION)-$(MAIN_VERSION)' - dh_gencontrol -u '-isp' -pss$(SS_MAJOR)g -pssg-dev \ - -u '-v$(SS_VERSION)-$(MAIN_VERSION)' - dh_makeshlibs -a -# dh_du -a - dh_md5sums -a - dh_builddeb -a - -binary: binary-indep binary-arch - -.PHONY: binary binary-arch binary-indep clean checkroot diff --git a/src/_nfdos/e2fsprogs/debian/attic/libs/ss2g.files b/src/_nfdos/e2fsprogs/debian/attic/libs/ss2g.files deleted file mode 100644 index 5b717cb..0000000 --- a/src/_nfdos/e2fsprogs/debian/attic/libs/ss2g.files +++ /dev/null @@ -1,2 +0,0 @@ -lib/libss.so.?.* -lib/libss.so.? diff --git a/src/_nfdos/e2fsprogs/debian/changelog b/src/_nfdos/e2fsprogs/debian/changelog deleted file mode 100644 index 60a0a9b..0000000 --- a/src/_nfdos/e2fsprogs/debian/changelog +++ /dev/null @@ -1,4937 +0,0 @@ -e2fsprogs (1.47.0-1) unstable; urgency=medium - - * New upstream version - * Add support for the new orphan_file feature, which speeds up workloads - that are deleting or truncating a large number files in parallel. - * Mke2fs now enables the orphan_file and metadata_csum_seed feature. - * Mke2fs now supports the extended option "assume_storage_prezeroed" - which causes mke2fs to skip zeroing the journal and inode tables and - to mark the inode tables as zeroed. - * Tune2fs and e2label will more reliably modify the label and UUID for a - mounted file system using new kernel ioctls. - * Tune2fs can now disable the casefold feature after scanning all of the - directories do not have the casefold flag set. - * Fix a potential unbalanced mutex unlock when there is a short read - while using the bounce buffer when using direct I/O. - * Update to standards 4.6.2 - - -- Theodore Y. Ts'o Mon, 06 Feb 2023 22:07:49 -0500 - -e2fsprogs (1.46.6-1) unstable; urgency=medium - - * New upstream version - * NMU acknowledge (Closes: #1022096) - * In line with v6.2 and later Linux kernel, the extended xattribute hash - may be calculated using either the signed or unsigned char variant, - but new xattr entries will be set using the unsigned variant. Since - this difference is only seen for extended attribute names that contain - non-ASCII characters, the fact that we had a signed vs unsigned char - dependency was not noticed for over two decades. - * E2fsck will now check to make sure the journal inode does not have the - encrypt flag set. - * Fuse2fs now supports an offset= option which allows - operating on a file system image which is located starting at the - specified offset from the beginning of the image. - * Fix a deadlock bug in e2fsck's error handler when there are errors - trying to write to the file system. - * Fix a bug in tune2fs which could cause it to crash if device goes - off-line just as it being opened. - * Improve error messages issued by badblocks and tune2fs. - * Fix a crash in badblocks when the user specifies an overly large - number of blocks tested at a time in read/write or nondestructive - mode. - * Speed up e2fsck's clonning of multiply-claimed blocks so it is - substantially faster on very large file systems. - * Don't fail when the source directory for mke2fs -d doesn't support - extended attributes. - * Update Chinese, Czech, Dutch, French, German, Malay, Polish, Serbian, - Spanish, Swedish, and Ukrainian translations. - * Update the Debian policy compliance to 4.6.1. - - -- Theodore Y. Ts'o Thu, 02 Feb 2023 00:38:18 -0500 - -e2fsprogs (1.46.6~rc1-1.1) unstable; urgency=medium - - * Non-maintainer upload - * Convert copyright files to machine-readable format, adding the missing - licenses and copyright information (Closes: #1022096) - - -- Bastian Germann Tue, 03 Jan 2023 14:31:18 +0100 - -e2fsprogs (1.46.6~rc1-1) unstable; urgency=medium - - * Trial upstream release for 1.46.6 - * Debugfs's ncheck command now allows the inode number to be surrounded - by angle brackets - * Debugfs -c no longer prints a scary message on startup - * Resize2fs will round down the requested new file system size to the - nearest cluster boundary when resizing bigalloc file systems - * Avoid triggering udev in dumpe2fs and "resize2fs -P" for file systems - with MMP enabled - * Fix tune2fs so it will detect another device stealing the MMP sessions - while rewriting metadata checksums. - * Fix a bug where e2fsck could fail when specifying an undo file and an - explicit superblock number - * Fix e2image so it won't potentially loop forever for certain invalid - file systems - * Resize2fs now honors the E2FSPROGS_FAKE_TIME environment variable - * Fix tune2fs, fuse2fs, and debugsfs to update j_tail_sequence when - replaying the journal - * Add additional bullet-proofing for very badly corrupted file systems - (Addresses CVE-2022-1304) (Closes: #1010263) - * Check for and handle malloc() failures when computing the log filename - in e2fsck and in the libss library - * Tune2fs and e2fsck to accept pathames which include '=' characters - * Update and clarify's chattr's man page and usage message - * Fix tune2fs to avoid a crash if the journal replay fails and to make - sure its exit status is non-zero if there is some failure. - - -- Theodore Y. Ts'o Mon, 12 Sep 2022 08:27:55 -0400 - -e2fsprogs (1.46.5-2) unstable; urgency=medium - - * Fix build on GNU/kFreeBSD (caused by the fact that the Debian port has - an ancient version of coreutils, so the timeout program doesn't support - the -v option. - - -- Theodore Y. Ts'o Mon, 03 Jan 2022 23:48:13 -0500 - -e2fsprogs (1.46.5-1) unstable; urgency=medium - - * New upstream release - * Resize2fs will automatically drop one block group (128M) if that will - allow a resize operation to succeed when it would have failed due to - running afoul of the 2**32 inode count limit. - * Fix resize2fs -P so it won't potentially loop forever when the file - system is corrupted - * E2fsck will now automatically update the block group checksum when - fixing a problem in a block group descriptor - * Fix error handling in the unix_io module which could cause e2fsck - to deadlock in the face of I/O errors. - * Fix a bug in e2fsck fast commit handling which could result it in - crashing in some rare cases. - * Fix e2fsck and tune2fs's handling of quota limits, which previously - could get lost. - * Correct the report header printed by debugfs's get_quota and - list_quota commands. - * Speed up off-line resizing of very large file system. - * Fixed spelling mistakes in the mke2fs.conf man page. - * Update Chinese, Malay, Serbian, Spanish, Swedish, and Ukrainian - translations. - * Update the Debian policy compliance to 4.6.0. - - -- Theodore Y. Ts'o Thu, 30 Dec 2021 00:35:14 -0500 - -e2fsprogs (1.46.4-1) unstable; urgency=medium - - * New upstream release - * Mke2fs now creates 256 byte inodes by default for all non-GNU Hurd - file systems. (Previously small file systems would be created - using 128 byte inodes.) - * The bigalloc feature is now considered supported when the cluster - size is no more than 16 times the block size. - * E2fsck now checks to make sure directory entries do not reference - internal quota inodes. - * E2image now includes the quota inodes when creating file system image, - since they are part of the file system metadata. - * E2fsck now properly accounts the quota usage of the project quota file. - * Fix a regression so mke2fs can create a file system into non-existent - file (Closes: #992094) - * Fix mke2fs to correctly create Posix ACL's on big-endian systems when - copying files from a directory hierarchy. - * Fix FTBFS caused by test failures on big-endian systems. - (Closes: #991922) - * Fix FTBFS on GNU Hurd - * Use WantedBy=multi-user.target in e2scrub_reap.service. - (Closes: #991349) - * Updated and clarified the resize2fs man page. (Closes: #979411) - * Update Czech, Dutch, French, Polish, Portuguese, and Swedish - translations. - - -- Theodore Y. Ts'o Wed, 18 Aug 2021 22:47:40 -0400 - -e2fsprogs (1.46.3-1) experimental; urgency=medium - - * New upstream release - * Fix resize2fs bug when performing an off-line file system expansion - with MMP and there isn't sufficient reserved block group descriptor - blocks could lead to file system corruption. (Closes: #984472) - * Teach the filefrag program the -V option, which will print the version - of the tool, or if -V option is specified twice, will print the list - of supported FIEMAP flags. - * Fix fast_commit portability problems on sparc64 and arm64 - architectures (the latter when running e2fsprogs compiled for arm32). - (Closes: #987641) - * Fix missing mutex unlock in an error path in the Unix I/O manager. - * Fix Direct I/O support in the Unix I/O manager (this was a regression - introduced in v1.46.2). - * Fix mke2fs to avoid discarding blocks beyond the end of the file - system to be created when creating a file system which is smaller than - 16MB and the file system size was explicitly specified and smaller - than the size of the block device. (Closes: #989630) - * Teach mke2fs to avoid giving a spurious warning about a pre-existing - partition table and it is creating a file system at a non-zero offset - (so the partition table wouldn't be overwritten in any case). - (Closes: #989612) - * Fix e2image -Q to prevent a multiplication overflow could corrupt - the generated QCOW2 output file for very large file systems. - * When e2fsck repairs '.' and '..' entries in corrupted directories, set - the file type in the directory entry to be EXT2_FT_DIR and do not - leave the file type as EXT2_FT_UNKNOWN. - * Fix e2fsck so that the if the s_interval is zero, and the last mount - or write time is in the future, it will fix invalid last mount/write - timestamps in the superblock. (This was a regression introduced in - v1.45.5.) - * Fix lsattr and chattr to avoid opening or calling EXT2_IOC_[GS]ETFLAGS - on devices, since this can cause some devices to react badly as a - result. (This fixes a regression introduced in v1.46.2.) - (Closes: #986332) - * Fix potential memory leaks and seg faults when memory allocations fail. - * Fix various compiler and valgrind warnings - * Updated and clarified the e2image and filefrag man pages. - * Update Dutch, Malay, and Serbian translations. - - -- Theodore Y. Ts'o Tue, 27 Jul 2021 11:04:05 -0400 - -e2fsprogs (1.46.2-2) unstable; urgency=medium - - * Fix FTBFS on arm32 when building on a system with an arm64 kernel. - This also fixes a portability problem when replaying a fast-commit - journal on an arm64 kernel when using an arm32 userspace. - (Closes: #987641) - * Fix additional fast-commit portability problems on non-x86 systems - which don't allow non-aligned pointer dereferences (for example, on a - sparc64 system). - * Fix a missing mutex unlock on an error path which can cause e2fsck - to hang on I/O errors. - * Clean up and improve the man page for e2image - - -- Theodore Y. Ts'o Mon, 07 Jun 2021 07:27:15 -0400 - -e2fsprogs (1.46.2-1) unstable; urgency=medium - - * New upstream release - * Add support for the FS_NOCOMP_FL flag to chattr and lsattr. - * Fix Direct I/O support on block devices where the logical block size is - greater 1k. - * Fix debugfs's logdump so it works on file systems whose block size is - greater than 8k. - * Fix the debugfs rdump and ls commands so they will work correctly for - uid's and gid's => 65536. - * Teach the tune2fs program to support "random" as an argument to the -c - option, which sets the maximum mount count. (Closes: #926293) - * Fix a where e2fsck could a crash when there is error while e2fsck is - trying to open the file system, and e2fsck calls ext2fs_mmp_stop() - before MMP has been initialized. (Closes: #696609) - * Fix the debugfs write and symlink commands so they support targets which - contain a pathname (instead of only working when writing a file or - creating a symlink in the current directory). - * When resizing a small file systems to a super-large file system size, - avoid issuing some scary bitmap operation warnings. - * Improved error checking in the fast commit replay code in e2fsck. - * Updated and clarified the chattr man page. - * Update the Spanish translation from the translation project. - - -- Theodore Y. Ts'o Sun, 28 Feb 2021 21:24:34 -0500 - -e2fsprogs (1.46.1-1) unstable; urgency=medium - - * Drop transitional packages libcomerr2, e2fslibs, and e2fslibs-dev - * Fix a bug in libext2fs and debugfs when trying to set an extended - attribute will result in a seg fault. - * Fix e2fsck so it properly accepts large_dir directories which are - greater than 4GB in size. - * Fix mke2fs -d so it correctly handles important a directory or small - file which is stored using inline_data and contains an ACL or extended - attribute. (Closes: #971014) - * Add build profiles noudeb and pkg.e2fsprogs.no-static (Closes: #966686) - * Update the Czech, French, Malay, Polish, Portuguese, Swedish, and - Ukrainian translations from the translation project. - - -- Theodore Y. Ts'o Tue, 09 Feb 2021 17:36:02 -0500 - -e2fsprogs (1.46.0-1) experimental; urgency=medium - - * New upstream release - * Add support for the new fast_commit feature. (Requires Linux version - 5.10 or higher) - * Add support for the new stable_inodes feature which is needed to - support some the fscrypt siphash algorithm. - * Add support for file systems that have both case folding and - encryption enabled. (Not yet upstream, but used in some Android handsets.) - * The fuse2fs program now supports the "norecovery" which omits replying - the journal and mounts the file system read-only. (Closes: #878927) - * Bitmap loading is now done using multiple threads which can speed up - debugfs, dumpe2fs, and e2fsck on very large file systems. - * E2fsck now will check file names on file systems with case folding - enabled to make sure the characters are valid UTF-8 characters. - This is done for file systems which enforce strict encodings, and - optionally if the extended "check_encoding" option is requested. - * E2fsck will properly handle checking for duplicated file names when - case folding is enabled. - * E2fsck will now find and fix file system corruptions when the encrypted - files have a different policy from their containing directory. - * The "htree" command in debugfs now displays the metadata checksums for - hash tree index blocks. - * Fix various bugs where a maliciously corrupted file systems could case - e2fsck and other e2fsprogs programs to crash. - * Dumpe2fs will print the error code that Linux kernels newer than v5.6 - will save to indicate the class of error which triggered the ext4_error - event. - * E2fsprogs programs (in particular, fuse2fs) can now update htree - directories without clearing the htree index. - * Tune2fs will properly recalculate directory block checksums when - clearing the dir_index feature. - * Fix a bug in e2fsck directory rehashing which could fail with ENOSPC - because it doesn't take into account the space needed for the metadata - checksum, and doesn't create a sufficiently deep index tree. - * Clarify the e2fsck messages when it resets the directory link count when - it is set to the overflow value but it is no longer needed. - * Mke2fs now sets the s_overhead_cluster field, so that the kernel doesn't - need to calculate it at mount time. This speeds up mounting very large - file systems. - * Speed up mke2fs when creating large bigalloc file systems by optimizing - ext2fs_convert_subcluster_bitmap(). - * The filefrag program can now request the kernel to display the extent - status cache by using "filefrag -E". (This requires Linux version 5.4 - or newer.) - - -- Theodore Y. Ts'o Fri, 29 Jan 2021 16:24:41 -0500 - -e2fsprogs (1.45.7-1) unstable; urgency=medium - - * New upstream release - * Mke2fs will now warn when creating a file system on a DAX-capable - device and the block size is incompatible with DAX. - * The chattr and lsattr programs now support using the 'x' attribute - to set/get dax support on a particular file. - * E2fsprogs now supports the gnu.* extended attribute namespace, which - allows mke2fs -d to import the gnu.translator extended attributes. - * Add support for the simultaneous enablement of the casefold and - encryption features, which ext4 supports starting with the v5.5 - Linux kernel. - * Debugfs will now retry opening the superblock if it finds that the - superblock has an invalid checksum, since this could happen when - opening a mounted file system. - * Fix an off-by-one error when validating the depth of an htree which - caused e2fsck to potentially fail to notice an invalid htree. - * Fix potential buffer overrun in e2fsck when scanning directory blocks - in pass 2. (Addresses Google Bug: #158564737) - * Fix tune2fs so that it unlocks the MMP block if it can't perform the - requested operation. - * Fix mke2fs so it can import the contents of a directory using the -d - option when it has inode numbers that are greater than 2**32. Also - fix an omission where the extended attributes on the top-level directory - was not getting copied to the root directory. - * Fix e4crypt so that the add_key operation uses the explicitly provided - salt if it is provided. - * Fix resize2fs to prevent it from overflowing the block group descriptors - from overflowing the first block group. (This can only happen when the - block size is 1k and the file system is very large.) - * Fix debugfs's set_super_value command so it can set 64-bit integer - fields, such as s_kbytes_written. - * Fix filefrag so that it won't crash if the kernel returns zero for - statfs(2)'s device id or if it returns a blocksize of zero the device's - blocksize. - * Fix a few bad error code returns in the unix and sparse I/O managers. - * E2fsck will no longer try to fix duplicate file names in an encrypted - directory by mutating the encrypted file name. - * Updated and clarified various man pages. - * Update the Dutch, Malay, and Serbian translations from the translation - project. - * Update the Debian policy compliance to 4.5.1 - - -- Theodore Y. Ts'o Fri, 29 Jan 2021 00:19:52 -0500 - -e2fsprogs (1.45.6-1) unstable; urgency=medium - - * New upstream release - * Fixed a number of potential out of bounds memory accesses caused by - fuzzed / malicious file systems. - * Fix a spurious complaint from e2fsck when a directory which previously - had more than 32000 subdirectories has the number of subdirectories - drops below 32000. - * Improve e2fsck's ability to deal with file systems with a *very* large - number of directories. - * Debugfs will ignore lines in its command files which start with a - comment character ("#"). - * Fix debugfs so it correctly prints inode numbers > 2**31. - * Filefrag now supports very large files (with > 4 billion blocks), as - well as block sizes up to 1 GiB. - * Mke2fs -d now correctly sets permission with files where the owner - permissions are not rwx. - * Updated and clarified various man pages - (Closes: #953493, #953494, #951808) - * Drop as unneeded libattr1-dev as a build dependency (Closes: #953926) - * Update the Malay translation from the translation project. - - -- Theodore Y. Ts'o Fri, 20 Mar 2020 23:49:33 -0400 - -e2fsprogs (1.45.5-2) unstable; urgency=medium - - * Fix com_err support on Hurd, which has POSIX E* error code starting at - 0x40000000. Otherwise the regression tests will fail since the - expected output for various error cases will not have the correct - error text. - - -- Theodore Y. Ts'o Wed, 08 Jan 2020 15:58:44 -0500 - -e2fsprogs (1.45.5-1) unstable; urgency=medium - - * New upstream release - * E2fsck will no longer force a full file system check if time-based - forced checks are disabled and the last mount time or last write time in - the superblock are in the future. - * Fix spurious weekly e-mails when e2scrub_all is run via a cron job - on non-systemd systems. (Closes: #944033) - * Remove an unnecessary sleep in e2scrub which could add up to an - additional two second delay during the boot up. Also, avoid - trying to reap aborted snapshots if it has been disabled via - e2scrub.conf. (Closes: #948193) - * Resize2fs -M's estimates are now more accurate on mounted file systems. - * Tune2fs prohibits enabling or disabling the uninit_bg feature on - mounted file systems, since this is unsafe. - * Fix support of 32-bit uid's and gid's in fuse2fs and in mke2fs -d. - * Fix mke2fs's setting bad blocks to bigalloc file systems. - * Fix a bug where fuse2fs would incorrectly report the i_blocks fields for - bigalloc file systems. - * Fix potential crash in e2fsck when rebuilding very large directories on - file systems which have the new large_dir feature enable. - * Fix FTBFS problem hurd/i386. (Closes: #944649) - * Fix CVE-2019-5188: potential a out of bounds write in mutate_name() - when checking a maliciously corrupted file systems - * Add autopkgtest tests smoke and fuse2fs - * Updated and clarified various man pages - * Update the debhelper compatibility level to 12 - * Update the Chinese and Malay translations - * Update the Debian policy compliance to 4.4.1 - - -- Theodore Y. Ts'o Tue, 07 Jan 2020 09:18:39 -0500 - -e2fsprogs (1.46~WIP.2019.10.09-1) experimental; urgency=medium - - * Add (minimal) support to enable the fast commit feature. This is just - enough to enable kernel development work; e2fsck replay of journals - with the fast commit feature is *not* available. - * E2fsck will now check encryption policies for consistency - - -- Theodore Y. Ts'o Wed, 09 Oct 2019 20:22:50 -0400 - -e2fsprogs (1.45.4-1) unstable; urgency=medium - - * New upstream feature - * Fix CVE-2019-5094: A maliciously corrupted file systems can trigger - buffer overruns in the quota code used by e2fsck. - * E2fsck will now check to make sure the casefold flag is only set on - directories, and only when the casefold feature is enabled. - * E2fsck will not disable the low dtime checks when using a backup - superblock where the last mount time is zero to fix a failure in - xfstests ext4/007 - * Fix e2fsck so that when it needs to recreate the root directory, the - quota counts are correctly updated - * Update the man pages to document the new fsverity feature, and improve - the documentation for the casefold and encrypt features - * Allow e2scrub_all to work when the VG free space is exactly the - snapshot size (Closes: #935009) - * Avoid spurious lvm warnings when e2scrub_all is run out of cron on - non-systemd systems (Closes: #940240) - * Update the Dutch, German, Malay, Spanish, and Vietnamese translations - - -- Theodore Y. Ts'o Mon, 23 Sep 2019 15:31:27 -0400 - -e2fsprogs (1.45.3-4) unstable; urgency=medium - - * stop using Link Time Optimization; it breaks reproducible builds - * skip "make check" if DEB_BUILD_OPTIONS contains nocheck; this is - needed for some ports builds to complete successfully (Closes: #933247) - * fix e2fsprogs build problems on non-Linux ports - - -- Theodore Y. Ts'o Tue, 06 Aug 2019 15:22:30 -0400 - -e2fsprogs (1.45.3-3) unstable; urgency=medium - - * Fix Breaks/Replace dependency for logsave (Closes: #932874) - * Mark logsave as Multi-Arch: foreign (Closes: #932876) - * Fix test bug on the x32 architecture (Closes: #932906) - * Fix FTBFS problem on FreeBSD and Hurd since they don't have systemd - * Fix blhc problem when running "make check" - - -- Theodore Y. Ts'o Thu, 25 Jul 2019 15:35:01 -0400 - -e2fsprogs (1.45.3-2) unstable; urgency=medium - - * Add a hard dependency on logsave to e2fsprogs to fix initramfs issues - (Closes: #932855, #932859, #932861, #932881, #932888) - * Add check in e2scrub_all.cron so that it doesn't fail if the package - is removed, since e2scrub_all.cron is marked as a config file. - (Closes: #932622) - * Update the Debian policy compliance to 4.4.0 - * Update Czech, French, German, Polish, Portuguese, Swedish, and - Ukrainian translations - - -- Theodore Y. Ts'o Wed, 24 Jul 2019 12:56:52 -0400 - -e2fsprogs (1.45.3-1) unstable; urgency=medium - - * New upstream version - * Automatic online file system scrubs is now disabled by default. - They can be enabled by editing /etc/e2scrub.conf. - * fuse2fs is now installed in /usr/bin instead of /usr/sbin - * Fix fuse2fs compatibility with fuse3; but specifying the - nonempty option may be necessary if fusermount with fuse v2 is in use. - See NEWS.gz for more details. - * Fixed e2fsck support of file systems using large_dir and inline - directories at the same time. - * Fixed a bug in e2scrub_all so it correctly handles an LUKS volume - stacked on top of an LV. (Closes: #931387) - * Fixed a bug in e2scrub_all so it correctly specifies the volumes to - clean up when using "e2scrub_all -r". (Closes: #931679) - * Fixed improper use of positional markers in the Czech, Dutch, - German, and Vietnamese translations. (Closes: #892173) - * Remove ancient special-case CFLAGS for Alpha and Powermac platforms - * Drop packaging support for Debian Jessie - * Use the same build tree for the e2fsprogs udeb package - * Restructure rules file to use dh - * Only require the udev, systemd, and cron build dependencies when - building on Linux. (Closes: #931266) - * Move logsave to its own package. (Closes: #923372) - * Update the Czech and Dutch translations - - -- Theodore Y. Ts'o Sun, 14 Jul 2019 21:01:11 -0400 - -e2fsprogs (1.45.2-1) unstable; urgency=medium - - * New upstream version - * When mke2fs asks the user if she should proceed, fall back to the - English 'y' or 'Y' characters since there could be a missing - translation prompting the use of the English 'y' character. - (Closes: #907034) - * Fix spurious complaint of blocks beyond i_size for verity files. - * Update the Czech, Malay, Polish, Spanish, Swedish, and Ukrainian - translations. Add the new Portuguese translation. (Closes: #912185) - - -- Theodore Y. Ts'o Mon, 27 May 2019 21:46:31 -0400 - -e2fsprogs (1.45.1-3) unstable; urgency=medium - - * Fix e2scrub_all cron failures (Closes: #929287) - - -- Theodore Y. Ts'o Mon, 20 May 2019 21:48:40 -0400 - -e2fsprogs (1.45.1-2) unstable; urgency=medium - - * Avoid spurious e2scrub_all error messages spamming administrators from - cron/systemd timer units when lvm2 is not installed and/or there are - no lvm devices present in the system (Closes: #928977, #929186, #929254) - - -- Theodore Y. Ts'o Mon, 20 May 2019 11:02:09 -0400 - -e2fsprogs (1.45.1-1) unstable; urgency=medium - - * New upstream feature - * Drop lvm2 from the recommends line (Closes: #924275) - * Add the -n flag to the e2scrub and e2scrub_all commands - * Teach e2scrub to issue more useful error messages - * Update support for the case-folding file system feature to match what - finally will be landing in the kernel. - * Teach e2scrub_all to skip scrubbing a file system if there is not - enough free space to create a snapshot. (Closes: #924301) - * Fixed debugfs so it correctly prints ea_in_inode xattr values. - * Debugfs now prints non-printing characters using C-style hex escape - sequences. - * E2fsck now checks the unused portions of the bitmap blocks when the - number of blocks/inodes is less than the full blocksize to make sure - they are properly set. - * Fixed mke2fs's insanely large file system check, so that creating a - 900TB file system will succeed. - * E2scrub now tags its temp snapshot volumes with UDISK_IGNORE to avoid - them showing up in GUI's. (Closes: #926112) - * Mark the e2scrub systemd service files to indicate that it requires - CAP_SYS_ADMIN and CAP_SYS_RAWIO so e2scrub will get skipped when run - in containers that don't give root these capabilities. (Closes: #926138) - * E2fsck can now save a problem code log for debugging or monitoring - purposes. - - -- Theodore Y. Ts'o Sun, 12 May 2019 21:23:25 -0400 - -e2fsprogs (1.45.0-1) unstable; urgency=medium - - * New upstream feature - * tune2fs can now set the file system error bit to force a check at the - next fsck by using the extended option "force_fsck". - * There is now an e2scrub script which will allow e2fsck to be run - on mounted file systems using an LVM device. There will be a systemd - script to automatically run e2scrub on all ext4* file systems where it - can be supported. - * mke2fs will attempt avoid discarding pre-allocated blocks when - initializing a file system on a file. - * The fuse2fs command now supports a "fakeroot" option to allow an - unprivileged user to fuse2fs to modify rootfs images. - * Add initial support for the character set and case-folding file system - feature. - * Debugfs can now set the inode's checksum field - * E2image now accepts the -b and -B options to allow the user to specify - the superblock location when creating a raw or qcow2 image. - * Update the debhelper compatibility level to 11 - * Update the Debian policy compliance to 4.3.0 - - -- Theodore Y. Ts'o Wed, 06 Mar 2019 12:55:18 -0500 - -e2fsprogs (1.44.6-1) unstable; urgency=medium - - * New upstream version - * Fix e4defrag overflow problem when files are being created while it is - running (Closes: #888899) - * Fix e2fsck so it can correctly handle directories > 2 GiB when the - largedir feature is enabled. - * Fix mke2fs's hugefile creation so it works correctly for certain - unfortunately sized disks/partitions. - * Fix the libext2fs library to be more robust against - invalid/maliciously corrupted block group descriptors. - * Fix mke2fs and debugfs so they can correctly copy in files > 2 GiB. - * Fix debugfs so its stat command can correctly display directory - sizes > 2 GiB. - * Fix memory leaks in debugfs, mke2fs, and e2freefrag. - * Avoid unnecessarily linking badblocks with the libblkid shared library. - (Closes: #919958) - - -- Theodore Y. Ts'o Tue, 05 Mar 2019 15:10:40 -0500 - -e2fsprogs (1.44.5-1) unstable; urgency=medium - - * New upstream version - * Avoid overflows when tracking the number of files defragged - by e4defrag (Closes: #888899) - * Fix groff formatting nits in various man pages (Closes: #916188) - * Fix location of libext2fs documentation (Closes: #915942) - * Fix regression so we are correctly translating Posix ACL's - in libext2fs - * Use the online free block counts so e2freefrag's percentages - are correct - * Fix a false warning that tune2fs will take long time to change - a UUID if the metadata_csum feature is not enabled - * Fix mk_cmds so it works on a non-usrmerge system when e2fsprogs - is built on a usrmerge system (Closes: #914087) - * E2fsck will avoid offering to set the inline_data feature flag - unnecessarily - * E4defrag will handle the case where it is running as root and it can't - find the file system to open more gracefully (Closes: #907634) - * Fix a bug where resize2fs was failing to update the extent tree - checksums in an corner case - * Fix fuse2fs's command line parsing when options are specified after - the target device/image - * Fix a bug which could cause e2fsprogs tools to segfault on a corrupted - file system where the journal's s_nr_users is impossibly large. - * E2image now includes the mmp block (if needed) when creating a - metadata-only image. - * When e2fsck notices it could optimize an extent tree, it will now ask - "Optimize?" instead of "Fix?", which was confusing some users since it - implied that something was broken. - - -- Theodore Y. Ts'o Sat, 15 Dec 2018 22:46:49 -0500 - -e2fsprogs (1.44.4-2) unstable; urgency=medium - - * tune2fs fix dereference of freed memory after journal - * fix verity support - * Generate NEWS.gz for e2fsprogs's package documentation directory - * Update Debian policy compliance to 4.2.0 - * Improve version dependency for libcom-err and ss2 for e2fsprogs - - -- Theodore Y. Ts'o Wed, 22 Aug 2018 19:30:17 -0400 - -e2fsprogs (1.44.4-1) unstable; urgency=medium - - * New upstream release - * Add basic support for the ext4 verity (fsverity) feature - * E2fsck will fix file systems that have both the resize_inode - and meta_bg feature enabled - * Debugfs's ncheck command will now correctly inodes that have - multiple hard links - * Remove kilo/kibi rant (Closes: #757831) - * Update Danish, Spanish, and Swedish translations - * Fix symlink to directory conversions (Closes: #905195) - - -- Theodore Y. Ts'o Sat, 18 Aug 2018 20:46:29 -0400 - -e2fsprogs (1.44.3-1) unstable; urgency=medium - - * New upstream release - * Include hashmap.h in the libext2fs2 package - * Update debian policy compliance to 4.1.5 - - -- Theodore Y. Ts'o Tue, 10 Jul 2018 01:23:17 -0400 - -e2fsprogs (1.44.3~rc2-1) unstable; urgency=low - - * New upstream release - * Debugfs's inode_dump and xattr_dump commands have new options to - display the low-level contents of an inode's i_blocks and extra - space, and to better be able to debug corrupted extended attributes. - * The dumpe2fs command now will show information about the Multi-Mount - Protection (MMP) block, if present - * E2fsck, dumpe2fs, and debugfs is now much more robust at handling - badly (or maliciously) corrupted file systems. - * E2fsck will now offer to enable the dir_nlink feature if it is - required by the file system - * The project id field in the inode is now properly byte-swapped on - big-endian systems - * E2fsprogs better handles recent kernels which reports old error - conditions via the first fsync() after the file is opened - * Updated/fixed various man pages - * Update Czech, Dutch, Spanish, French, Polish, Swedish, Ukrainian, and - Vietnamese translations - * Update debian policy compliance to 4.1.4 - - -- Theodore Y. Ts'o Tue, 3 Jul 2018 23:31:40 -0400 - -e2fsprogs (1.44.2-1) unstable; urgency=medium - - * New upstream release - * Demote e2fsprogs from Essential: yes to XB-Important: yes - (Closes: #474540) - * Fix mke2fs to print a more useful/correct error message if - ext2fs_close_free() fails at the end of the file system - creation process - * Improve chattr's man page - * Update Polish translation - - -- Theodore Y. Ts'o Mon, 14 May 2018 19:59:27 -0400 - -e2fsprogs (1.44.1-2) unstable; urgency=medium - - * Fix e2image handling of e2i files on big endian systems - * Add sanity checks for inodes containing xattr values to prevent - maliciously crafted file systems from causing crashes caused by - infinite recursion - * Fix e2fsck so that quota usage is adjusted when clearing orphaned - inodes - * Fix filefrag so that unknown flags returned by FIEMAP won't cause a - buffer overrun - - -- Theodore Y. Ts'o Tue, 10 Apr 2018 11:04:36 -0400 - -e2fsprogs (1.44.1-1) unstable; urgency=medium - - * New upstream release - * Fix FTBFS problem on Hurd (Closes: #893590) - * Fix e2fsck support of HTree directories on big-endian systems - * Fix miscellaneous e2image image handling for file systems with bigalloc - and meta_bg features enabled. - * Fix orphan list handling of inodes on bigalloc file systems (and other - situations where inodes need to be deleted or truncated) in e2fsck. - * Update Swedish translation. - * Add Vcs-* headers in Debian packaging (Closes: #887512) - * Speed up reading bitmap blocks in debugfs when opening large file - systems. - * Add clarifications to chattr's man page. (Closes: #890390) - - -- Theodore Y. Ts'o Sat, 24 Mar 2018 15:13:28 -0400 - -e2fsprogs (1.44.0-1) unstable; urgency=medium - - * New upstream release - * Update Czech, Spanish, French, Malay, and Ukrainian translations. - - -- Theodore Y. Ts'o Wed, 07 Mar 2018 14:39:52 -0500 - -e2fsprogs (1.44.0~rc2-1) experimental; urgency=medium - - * New upstream release - * Fix FTBFS problem on Hurd - * Improved e2fsck's consistency checking for symlink. - - -- Theodore Y. Ts'o Sun, 04 Mar 2018 15:57:21 -0500 - -e2fsprogs (1.44.0~rc1-1) experimental; urgency=low - - * New upstream release - * Add support for the large_dir feature - * Add support for the ea_data feature - * Resize2fs will not complain about online resizes of bigalloc file - systems - * Debugfs's ls command will now print the high bits of the mode bits - * Fix some corner cases with tune2fs and journal replay - * Add support for libreadline.so.7 - * E2freefrag will now use the GETFSMAP ioctl for mounted file systems - * E2fsck is now much faster when scanning extents on bigalloc file systems - * Fix various compiler and UBSAN warnings - - -- Theodore Y. Ts'o Tue, 27 Feb 2018 16:56:32 -0500 - -e2fsprogs (1.43.9-2) unstable; urgency=medium - - * Fix upgrade when there are two installations of a library (for - different architectures) that we are transitioning to the new package - name. (Closes: #890590) - * Add support for libreadline.so.7 to libss - * Fix tune2fs's journal recovery support - * Fix tune2fs to require a freshly checked file system if turning off - the metadata_csum feature and UUID has been changed. - - -- Theodore Y. Ts'o Sat, 24 Feb 2018 20:48:29 -0500 - -e2fsprogs (1.43.9-1) unstable; urgency=medium - - * Remove some obsolete flags and add document new flags in the chattr - man page - * Remove misplaced "MNP is unsupported" message from debugfs - * Suppress false positive lintian warning about "new essential - package" (caused by preparatory work to make the e2fsprogs - package no longer essential) - * Fixing missing "General" in "GNU General Public License" in - copyright files. - * Fix whitespace issue in the debian control file - * Update the Hungarian translation. - * Rename the packages e2fslibs* to libext2fs* and libcomerr2* to - libcom-err2* to conform with the standard Debian library package - naming conventions. (Closes: #269569) - - -- Theodore Y. Ts'o Thu, 08 Feb 2018 13:09:49 -0500 - -e2fsprogs (1.43.8-2) unstable; urgency=medium - - * Update debian policy version to 4.1.3 - * Mark library packages as priority: optional - * Simplify the debian/rules file and don't build e2fsprogs-l10n - unnecessarily - * Fix FTBFS on big-endian systems (Closes: #886119) - * Add support for the build profile: noudeb - * Add support for the build profile: pkg.e2fsprogs.no-fuse2fs - * Add support for the build profile: pkg.e2fsprogs.no-static-e2fsck - - -- Theodore Y. Ts'o Wed, 03 Jan 2018 16:18:40 -0500 - -e2fsprogs (1.43.8-1) unstable; urgency=medium - - * New upstream version - * Fix a bug where updated bitmap checks might not be written to disk. - (Closes: #883869) - * Add missing byte swaps for newly added fields in the superblock - * Fix a potential use after free bug in e2fsck when fixing a corrupted - root node in directory hash tree. - * Fix a bug in e2fsck where a badly/maliciously corrupted superblock - (which is not fixed due to the -n option, for example) can cause a - floating point exception when printing the summary statistics. - (Closes: #879220) - * Fix debugfs's ncheck command so that it correctly prints the inode - number when printing an error message. - * Fix a bug in e2freefrag where it could print an incorrect free blocks - count on a file system with the 64-bit block number feature. - * Update the German, Serbian, Spanish, and Ukrainian translations. - * Fix a bug where resize2fs's free blocks sanity check could fail with a - false positive and refuse to check a file system with the 64-bit block - number feature. - * Fix and clarify various man pages and documentations. Also fixed up - some random usage texts that were incorrect. (Closes: #880483) - * Add missing copyright file for the e2fsprogs-l10 package. (Closes: - #880207) - * Add missing Multi-arch hints (Closes: #881408, #881590, #881591) - - -- Theodore Y. Ts'o Mon, 01 Jan 2018 19:44:41 -0500 - -e2fsprogs (1.43.7-1) unstable; urgency=medium - - * New upstream version - * Fix error handling in debugfs, fuse2fs, and tune2fs so errors while - replaying the journal will not cause a segfault in some corner cases - * Fix resize2fs to avoid it from either failing or corrupting the file - system image in certain corner cases when doing an off-line resize - * Fix many spelling mistakes in various man pages, code comments, and - program messages. - * Fix e2fsck and debugfs so that maliciously corrupted file systems will - not cause buffer overflows (Closes: #873757, #878104) - * Update German translation (Closes: #833514) - * Update debian policy version to 4.1.1 - * Fix FTBFS caused by debhelper/10.9 and references to obsolete packages - in the rules file (Closes: #876551) - * Promote e2fsprogs-l10n from suggests to recommends (Closes: #873812) - * Make e2fsprogs-l10n be arch:all (Closes: #873813) - - -- Theodore Y. Ts'o Mon, 16 Oct 2017 01:20:54 -0400 - -e2fsprogs (1.43.6-1) unstable; urgency=medium - - * New upstream version - * Break out the locale files to a separate package (e2fsprogs-l10n) to - reduce the size of the e2fsprogs package, since it is an - essential/required package. - * Remove support for building uuid/blkid packages on pre-Wheezy - distributions (which are no longer supported). - * Remove support for pre-Multiarch versions of Debian (which are no - longer supported). - * Fixed the printing of quota inconsistency messages in e2fsck on 32-bit - platforms. Also fixed a bug which caused project quota problems to be - labelled as group quota problems. - * Fixed a UI problem with yes/no questions when there are fuzzy - translation entries which caused some messages to be printed in English - and some in the language specified by the locale. (Closes: #856586) - * Fix some out-of-bounds memory accesses in e2fsck caused by (usually - maliciously) corrupted file systems. (Closes: #871539, 871540) - * Optimize CPU usage in e2fsck for very large, very fragmented sparse - files. - * Avoid creating file systems that use project quotas and 128 byte - inodes. - * Improve tune2fs's message when a file system needs to be checked using - e2fsck -f before running certain complex tune2fs operations. (Closes: - #857336) - * Improve e2fsck's message when the proceed_delay option in - /etc/e2fsck.conf is enabled. (Closes: #857336) - * Fix an LFS bug in e2image. (Closes: #855246) - * Fix portability problem caused by the fact that disks are character - mode devices systems with FreeBSD kernels. - * Update the Czech, French, Polish, Swedish, and Vietnamese translations. - - -- Theodore Y. Ts'o Tue, 29 Aug 2017 00:58:29 -0400 - -e2fsprogs (1.43.5-1) unstable; urgency=medium - - * New upstream version - * Fix ext2fs_sync_device() so it returns the proper error code if the - BLKFLSBUF ioctl fails for some reason. - * Fix a potential crash in tune2fs when enabling project quota when the - file system has no inodes by fixing error handling in the - quota_write_inode() in libsupport. - * Fix a bug in debugfs's "ls -p" handling which could cause it to print - garbage after a file name in a directory entry. - * Fix a number of bugs in debugfs, dumpe2fs, e2fsck, tune2fs, and - resize2fs where a carefully/maliciously corrupted file systems (found - by American Fuzzy Lop) could these programs to crash or hang. - (Closes: #868489) - * E2fsck no longer issues some harmless bitmap warnings caused by a - corrupted file system; since those corruptions will be fixed up by - e2fsck later, there's no point issuing these internal warnings. - * E2fsck will now notice invalid quota inode numbers, and offer to fix - them. - * Fix a regression introduced in e2fsprogs 1.43 which broke mke2fs's - hugefile creation so that they aren't contiguous. - * Fix how backup superblocks are written in big endian systems so they - are all correctly byte swapped. - * Fixed tune2fs's support for enabling and disabling project quota. - * The badblocks program now properly handles languages which have - multi-column wide character such as Chinese. (Closes: #860926) - * The mke2fs -U option now accepts "null", "clear", "random", or "time" - just as tune2fs's -U option. - * Fix e2fsck's -E bmap2extent feature (which converts a file to use - extents from indirect block maps) so that it handles sparse files - correctly. - * Fix libext2fs to correctly handle accounting for an external xattr - block on bigalloc file systems. - * Fix e2fsck to correctly handle quota accounting when deleting files - that have multiply-claimed blocks pass 1b. - * Fix potential buffer overrun bug in e2fsck when using 128 byte inodes. - * E2fsck's extent tree optimization can now be disabled via an - command-line extended option or via an e2fsck.conf configuration - parameter. - * The e2fsck program now properly updates the quota accounting when - optimizing the extent tree. - * Fix some error handling in e4crypt when operating on keyring ID's. - * Fix e2fsck's quota handling when the bigalloc feature is enabled. - * The libext2fs file system now uses readahead when opening file systems - to speed up opening very large file systems with the meta_bg option. - * If e2fsck logging is enabled, e2fsck will report the exit code in the - last line of the log file. - * Debugfs can now open file systems with a bad superblock checksum, and - the show_super_stats command will print the expected checksum. - * Fix a regression introduced in e2fsprogs 1.43.4 where tune2fs was not - able to correctly enable the quota feature. (Closes: #855417) - * E2fsck will only return an exit status code of 1 if it has fixed a - file system corruption. If it only performed an optimal optimization - of internal file system metadata, it will now return 0. - * Fix e2fsck so it won't check inode fields of deleted inodes. - * Removed a debugging printf in libsupport which could result to some - extraneous and confusing output if the user specifies a quota type. - * The debugfs logdump command now accepts a new -S option which will - cause it to print information about the journal superblock. - * Added a missing space in debugfs's ls -l output to separate the size - and date fields. - * Update the Czech, Danish, Dutch, French, Hungarian, Polish, Serbian, - Spanish, Swedish, Ukrainian, and Vietnamese translations. (Closes: #862482) - * Update various man pages. (Closes: #867895, #865584) - * Fix various compiler and UBSAN warnings. - * Remove obsolete Conflict/Replaces headers in control file (Closes: #866623) - * Remove obsolete mips libraries used to build arcboot (Closes: #864144) - - -- Theodore Y. Ts'o Fri, 04 Aug 2017 01:13:34 -0400 - -e2fsprogs (1.43.4-2) unstable; urgency=medium - - * Re-enable metadata_csum for Debian (which was accidentally disabled - for 1.43.4-1) - - -- Theodore Y. Ts'o Tue, 31 Jan 2017 19:54:55 -0500 - -e2fsprogs (1.43.4-1) unstable; urgency=medium - - * New upstream version - * Fix e2fsck to require that the system.data extended attribute is - always present even for files smaller than 60 bytes, to be - consistent with the kernel - * Drop the hard links for mkfs.ext4dev and fsck.ext4dev - * Clarify/update various man pages (Closes: #852726) - * Clarify the default for the "proceed?" question printed by mke2fs - and tune2fs. (Closes: #852727) - * Fix various Coverity warnings and other memory leaks in fuse2fs and - extended attribute manipulation functions. - * Add Finnish and Malay translations - * Update Chinese, Czech, Polish, Serbian, and Spanish translations - (Closes: #774379) - - -- Theodore Y. Ts'o Tue, 31 Jan 2017 17:31:52 -0500 - -e2fsprogs (1.43.4~WIP.2017.01.30-1) unstable; urgency=medium - - * Fix a bug which was causing mke2fs -d and fuse2fs to improperly - handle Posix ACL's. - * Fix a bug which could cause mke2fs -d to fail if there is an - zero-length file in source directory tree. - * Debugfs will now display project quota information. - * Debugfs has a more friendly and powerful to print and set extended - attributes. - * Fix a bug in mke2fs where I/O errors weren't getting properly - reported to the user. - * Fix a bug in resize2fs when operating on very large file systems - which have a block size different from the VM page size. - * If the reported device size is absurdly large, mke2fs will now - report an error instead looping forever or crashing. - * Replace a test file in the sources with an updated version which has - a DFSG-compliant copyright license. This was making lawyers - nervous, even though the file was only used in regression tests and - was never used when building any binaries. (Closes: #840733) - - -- Theodore Y. Ts'o Mon, 30 Jan 2017 22:14:07 -0500 - -e2fsprogs (1.43.3-1) unstable; urgency=medium - - * Fix e2fsck's handling of timestamps on 32-bit system (Closes: #836559) - * E2fsck will sanity check and repair the extra isize fields in inodes - and the superblock. - * Fix sparc64 crashes when dereferencing unaligned integers in journal - blocks when metadata checksums are enabled. - - -- Theodore Y. Ts'o Sun, 04 Sep 2016 20:41:21 -0400 - -e2fsprogs (1.43.2-2) unstable; urgency=medium - - * Fix build reproducibility problems - * Don't hide the linker flags for e2fsck.static - - -- Theodore Y. Ts'o Thu, 01 Sep 2016 23:30:55 -0400 - -e2fsprogs (1.43.2-1) unstable; urgency=medium - - * Change the default journal size to be larger for file systems larger - than 128 GB to improve performance on metadata-heavy workloads - * Clarify tune2fs's message when the user needs to run e2fsck - (Closes: #828022) - * Fix an alignment bug in e2fsck which caused sparc64 architectures to - crash when replaying the journal on file systems with a 64-bit block - number - * Fix a typo in debugfs when printing out the dtime field on file - systems with an extended timestamp - * Fix the logic in e2fsck which decides when to repair legacy negative - timestamp encodings. - * Add a command to debugfs to copy the inode structure from one inode - to another - * Fix resize2fs so it will not crash if there is an extended - attribute block but it doesn't need to migrate any blocks during - an off-line resize - * Fix a crash when mke2fs or debugfs tries to copy in a directory - hierarchy containing an empty directory - * Fix a bug in e2fsck caused by a power failure during e2fsck's journal - replay could leave the file system in a state where if the file - system is mounted without doing a full e2fsck scan, the file system - could get corrupted - * Fix big endian bugs in the e2undo program - * Fix debugfs's logdump so command so it can correctly handle journals - which are larger than 2GB - * Add new translations: Hungarian and Serbian - * Update the Catalan, Chinese, Danish, Dutch, French, German, Polish, - Swedish, Ukrainian translations - - -- Theodore Y. Ts'o Thu, 01 Sep 2016 00:55:13 -0400 - -e2fsprogs (1.43.1-1) unstable; urgency=medium - - * New upstream version - * Fix the Direct I/O fallback code in the Unix I/O manager so it - implements read-modify-write correctly. - * The mke2fs program will now warn if the user specifies a label which - is too long. (Closes: #791630) - * Clean up various man pages (Closes: #766379, #761144, #770750, - #428361, #766127) - * Fix bug so that debugfs's rdump command works on the root directory - (Closes: #766125) - * Fix various Debian packaging issues (Closes: #825868) - * Build fully security hardened binaries - - -- Theodore Y. Ts'o Tue, 07 Jun 2016 23:09:55 -0400 - -e2fsprogs (1.43-3) unstable; urgency=medium - - * Fix various debian packaging nits - * Fix spelling mistakes in the copyright files - * Fix various spelling mistakes in man pages - * Fix project quota bugs in e2fsck and mke2fs - * Build binaries with hardening support - * Improve e2fsck messages when the journal superblock is corrupt and - the user declines to fix the journal. (Closes: #768162) - * Fix debugfs's handling of "set_bg checksum calc" on 64-bit file - systems. - * Simplify the debian rules file - - -- Theodore Y. Ts'o Wed, 25 May 2016 00:51:33 -0400 - -e2fsprogs (1.43-2) unstable; urgency=medium - - * Update watch file to check for the GPG signatures - * Use dh_update_autotools_control to update config.{guess,sub} - automatically when building the package. - * Only try to run update-initramfs if it exists - * Transition to dbgsym packages - - -- Theodore Y. Ts'o Fri, 20 May 2016 14:07:40 -0400 - -e2fsprogs (1.43-1) unstable; urgency=medium - - * New upstream version - * Fix or improve offset support in mke2fs, e2undo, and libext2fs - * Update debian policy version to 3.9.8 - - -- Theodore Y. Ts'o Tue, 17 May 2016 01:04:28 -0400 - -e2fsprogs (1.43~WIP.2016.03.15-2) sid; urgency=low - - * Fix FTBFS on big-endian systems - - -- Theodore Y. Ts'o Thu, 17 Mar 2016 22:55:52 -0400 - -e2fsprogs (1.43~WIP.2016.05.12-1) unstable; urgency=medium - - * New upstream version - * Clean up various man pages and usage messages - * Fix up gcc and Coverity warnings - * Stop building static binaries using dietlibc - * Fix potential out-of-boundary memory access in resize2fs - * Fix sparse_super2 bugs in mke2fs and resize2fs - * The mke2fs program will now support multiple -O options - * The e2image program now ignores checksum error so that debugging - snapshots of a file system can be taken of a broken file system - * E2fsck now more cleanly handles checksum errors while replaying the - journal - * Fix e2fsck to not try to set a UUID if the metadata_csum feature is - enabled since this will break the checksums - * Fix e2image so progress information won't get leaked to stdout - * Fix bugs in "mke2fs -E offset=NNNN" (Closes: #803629) - * Fix Hurd portability issues (Closes: #822576) - * Update initramfs in e2fsprogs's postinst script so the initial - ramdisk gets the updated e2fsprogs binaries (Closes: #804237) - * Work around texi2dvi bug which can cause build failures (Closes: #822227) - * E2fsck now prints "REBOOT SYSTEM" instead of "REBOOT LINUX" to - assuage the sensibilities of Hurd users (Closes: #769838) - - -- Theodore Y. Ts'o Thu, 12 May 2016 00:18:45 -0400 - -e2fsprogs (1.43~WIP.2016.03.15-1) unstable; urgency=low - - * New upstream release - * Fix resize2fs bug that could leave block allocation bitmaps - uninitialized - * The tune2fs program will ask the user for confirmation before - starting dangerous operations if the terminal is available, and it - will replay the journal if necessary - * Fix a bug which in rare cases would cause e2fsck -fD to corrupt an - extent-mapped directory. - * E2fsck will now check for extent mapped inodes with no extent header - and clear them if found - * E2fsck now checks to make sure the extended attribute header doesn't - result in the xattr extending beyond the bounds of the inode - * Teach mke2fs to parse a human-readable argument for -i option - * Teach mke2fs to automatically handle creating file systems > 500T by - automatically enable the meta_bg feature - * Mke2fs will now prompt for user verification before rewriting a file - system's superblock using the -S option - * Mke2fs no longer complains if the user tries to create a file system - using the entire block device (e.g., without using a partition). - The minor number convention is not used by all block devices, and - it's quite normal in some circumstances to create a file system - on /dev/sdc instead of /dev/sdc1 - * Debugfs now can properly display and set extended timestamps - * Add an ext2/3/4 FUSE server - * Fix an "mke2fs -d" bug which could create inodes with invalid - extended attribute blocks - * Fix miscellaneous file encryption bugs - * Fix miscellaneous MMP bugs in debugfs - * The e2fsck program will no longer update the quota inodes when it is - interrupted - * The filefrag program now accounts for holes in sparse files created - by the file punch operation as an expected/optimal mapping - * Clean up gcc/clang warnings - * Add support for the checksum seed feature - * Add support for the project quota feature - * Add fallocate support to libext2fs and to debugfs - * Clean up various man pages (Closes: #798425) - * Update debian policy compliance to 3.9.7 - - -- Theodore Y. Ts'o Tue, 15 Mar 2016 01:34:14 -0400 - -e2fsprogs (1.43~WIP.2015.05.18-1) unstable; urgency=low - - * Merge in updates from the maint branch (changes from 1.42.13) - * Add support for file encryption feature - * Mke2fs will now create file systems with metadata_csum and 64bit - enabled by default. - * The resize2fs command can now convert file systems between 64-bit - and 32-bit mode. - * The new undo file format is much faster/efficient than before - * E2fsck now has readahead support to speed up its behavior on RAID - arrays. - * E2fsck can now rebuild/optimize inode extent trees - - -- Theodore Y. Ts'o Mon, 18 May 2015 01:47:43 -0400 - -e2fsprogs (1.42.13-1) unstable; urgency=low - - * New upstream version - * NMU acknowledge (Closes: #778948) - * Fixed a bug which could cause e2fsck to corrupt Hurd file systems. - (Closes: #760275) - * Fixed a deadlock which occurs when using systemd and e2fsck.conf's - logging feature. (Closes: #775234) - * Fixed a bug which could cause programs using libext2's inode table - scanning functions from crashing on certain corrupted file systems. - (Closes: #773795) - * Fixed dumpe2fs so it won't crash if the user doesn't specify a block - device (file system). (Closes: #764293) - * Fixed e2fsck so if it notices unexpected HTREE blocks in pass 2, it - will report the correct directory inode containing the inconsistency. - * If e2fsck fails to grow the dir_info structure due realloc(3) not - having enough memory, it will now fail with explanatory message - instead of staggering on failing with a confusing internal error - messages. - * The tune2fs program will zero out the superblock journal backup - information when removing a journal from a file system. - * The mke2fs program now enables the large_file feature by default. - * Fixed a bug which could cause badblocks to crash if there are millions - and millions of bad blocks. - * Fixed some use-after-free bug in resize2fs and e2fsck. - * Fixed some bigendian bugs that had crept into both indirect and extent - handling inside libext2fs. - * Updated/fixed various man pages. - * Update Esperanto, German, and Spanish translations. Added Danish - translation. - - -- Theodore Y. Ts'o Sun, 17 May 2015 20:38:27 -0400 - -e2fsprogs (1.43~WIP-2015-03-29-1) unstable; urgency=low - - * Merge in updates from the maint branch (changes from 1.42.12-1) - * Add support for inline directories - * Add support for the jbd2 checksum v3 format - * New dumpe2fs format - * Add support for file encryption feature - - -- Theodore Y. Ts'o Sun, 14 Dec 2014 22:49:03 -0500 - -e2fsprogs (1.42.12-1.1) unstable; urgency=high - - * Non-maintainer upload by the Security Team. - * Fix CVE-2015-1572: incomplete fix for CVE-2015-0247 (closes: #778948). - - -- Michael Gilbert Sun, 22 Feb 2015 01:50:57 +0000 - -e2fsprogs (1.42.12-1) unstable; urgency=low - - * New upstream version - * Fix various e2fsck bugs when trying to repair bigalloc file systems. - * E2fsck can now repair a file system with an overly large - s_first_meta_bg field, which had previously caused all e2fsprogs - programs to crash when trying to open such a file system. - * Fix e2fsck so that it can correctly fix a number of rare file system - corruptions that were discovered when using a file system fuzzer. - * Fix e2fsck so it does not try to write back block group descriptors - if they have not been modified. - * The mke2fs program will now place metadata blocks in the last - flex_bg so they are contiguous. This reduces free space - fragmentation in a freshly created file system, as well as allowing - mke2fs commands which request extremely large flex_bg size to succeed. - * Mke2fs now creates hugefiles more efficiently (with fewer extent - tree blocks). - * Fix a 32/64-bit overflow bug that could cause resize2fs to loop - forever. - * Reduce the memory consumption of resize2fs for very large file - systems. - * Fix a bug that could cause resize2fs to create a corrupted file - system when shrinking a very large file system (typically > 16TB) - that had been previously grown using resize2fs. (Closes: #756922) - * Fix tune2fs updating UUID's when manipulating file systems with - external journals (both the file system and journal UUID). - * Fix tune2fs so it can remove an external journal for file systems - with a 1k block size. - * Add a new debugfs command, "inode_dump", which prints the inode in - hex and ASCII format. - * The debugfs command "set_inode_field" will now automatically - allocate blocks for indirect blocks and extent tree blocks. - * Fix debugfs's "set_inode_field" so can properly handle - "block[IND|DIND|TIND]". - * The debugfs "rdump" command will now take multiple source arguments. - * Fix debugfs's argument parsing for the freefrag command. - * Fixed a double close(2) bug in "rdump" and "rdump -p". - * Fix filefrag to properly handle using the FIBMAP ioctl (with -B). - * e4defrag will now defrag backwards-allocated files - * Clarified messages that were confusing users in debugfs, e2fsck, - mke2fs, and resize2fs (Closes: #758029, #757543, #757544) - * Dumpe2fs will now complain if extra arguments are given to it. - (Closes: #758074) - * Update/clarify various man pages (Closes: #726760) - * Update Czech, Dutch, French, Polish, Spanish, Swedish, Ukrainian, - and Vietnamese translations - - -- Theodore Y. Ts'o Fri, 29 Aug 2014 08:50:48 -0400 - -e2fsprogs (1.42.11-2) unstable; urgency=low - - * Don't try to build lib/ext2fs/tst_ext2fs unless running "make - check"; this fixes a MIPS FTBFS problem because mips has a special - no-pics build needed for bootloaders where we only build libext2fs - but not libss or other libraries (Closes: #754605) - * Update French translation - - -- Theodore Y. Ts'o Sun, 13 Jul 2014 16:18:27 -0400 - -e2fsprogs (1.42.11-1) unstable; urgency=medium - - * New upstream version - * NMU acknowledge (Closes: #752107) - * mke2fs can now create hugefiles which are aligned to the beginning - of the disk (instead of relative to the beginning of the partition), - controlled via a mke2fs.conf configuration parameter. - * Fix a bug which caused e2fsck to abort a journal replay on a file - system with bigalloc enabled. (Closes: #744953) - * Fix mke2fs so it more correctly handles large flex_bg counts - * Mke2fs will check the kernel version number and not just the sysfs - feature flag to determine whether it is safe to enable lazy - inode table initialization, so it won't get faked out if the ext4 is - compiled as a module which hasn't happened to be loaded yet. - * E2fsck will now automatically fix a last mount time or last write time - which is in the future in preen mode. - * Mke2fs will now check the file system revision number requested by the - command line, and reject it if it is too large. - * If filefrag runs into an error, it will continue processing the rest - of the files specified on the command line, but then exit with an - error code. - * Filefrag now prints some additional new flags (such as - FIEMAP_EXTENT_ENCODED), and print unknown flags as hex values. - * Fixed support in filefrag for files with > 2**32 blocks on 32-bit - platforms. - * Fixed a file descriptor leak in debugfs when copying files. - * Add Esperanto and Ukrainian translations, and update Czech, Dutch, - French, German, Italian, Polish, Swedish, and Vietnamese translations. - * Fixed cross-compilation support. (Closes: #753375) - * Update/fix various man pages - - -- Theodore Y. Ts'o Wed, 9 Jul 2014 23:43:27 -0400 - -e2fsprogs (1.42.10-1.1) unstable; urgency=medium - - * Non-maintainer upload. - * Add patch from upstream git that fixes creating filesystems in files - larger than 2GB on 32 bit architectures (Closes: #752107) - - -- Hilko Bengen Sat, 21 Jun 2014 12:57:25 +0200 - -e2fsprogs (1.43~WIP-2014-02-04-1) unstable; urgency=low - - * Merge in updates from the maint branch (changes from 1.42.10-1) - - -- Theodore Y. Ts'o Wed, 04 Feb 2014 23:31:56 -0500 - -e2fsprogs (1.42.10-1) unstable; urgency=medium - - * New upstream version - * The mke2fs program no longer requires a force (-F) option when - when creating a file system in a regular file, since this is a very - common use case when managing virtual machine images - * The mke2fs program will now ask for confirmation before wiping out a - pre-existing file system, partition label, or physical volume - * Fix e2fsck so that it properly handles an inconsistent quota inode. - Previously the quota inode could be completely corrupted, and - missing quota records could be not noticed - * Fix mke2fs so if packed metadata blocks are enabled that the block - group checksum are set correctly - * Debugfs has new commands to allow the quota inode to be queried directly - * Tune2fs will allow removal of dirty journal with two "-f" options - (Closes: #559301) - * Fixed some off-line resize2fs bugs when relocating metadata blocks - when growing or shrinking bigalloc file systems - * Fixed resize2fs's calculation of the minimum required file system - size. This allows resize2fs -M to shrink the file system more - aggressively - * Fixed resize2fs to properly handle shrinking a very large and empty - file system to a very very small size - * Fixed e4defrag to work with 64-bit and bigalloc file systems - * Fixed e2fsck to not issue a large number of very scary (but - harmless) corruption messages when checking very large file systems - when the file system has more inodes than the number of seconds - since January 1, 1970. - * E2fsck will now check the whole file system if file system problems - are detected during its initial "pass 0" sanity check - * Filefrag now prints the "shared extent" flag which is used by some - file systems such as btrfs - * The mke2fs program would previously correctly omit the resize_inode - feature when creating a file system > 16TB when the fs size was - determined automatically. It will now also do the right thing when - the user explicitly specifies the file system size. - * The message printed by logsave is now much less scary (Closes: #468821) - * Fix spelling typo in the package descriptions - * Update Czech, Dutch, French, German, Polish, Spanish, Swedish, and - Vietnamese translations (Closes: #703048) - * Update/fix various man pages - * Fix debian/rules compatibility problem with GNU make 4.0 - - -- Theodore Y. Ts'o Sun, 18 May 2014 22:54:38 -0400 - -e2fsprogs (1.42.9-3) unstable; urgency=medium - - * Add the ability for mke2fs to create hugefiles - * Add support for the sparse_super2 compat feature - * Mke2fs can now force all of the metadata blocks to be at the - beginning of the file system - * Fix loopback mount detection (Closes: #497984) - * Add support to mke2fs to create a file system at an offset - (Closes: #417385) - * Mention badblocks in the package description (Closes: #718725) - * Update/fix various man pages (Closes: #719184, #719189) - * Improve e2fsck's "superblock corrupt" message (Closes: #719185) - * Miscellaneous Coverity clean ups - - -- Theodore Y. Ts'o Tue, 04 Feb 2014 22:17:22 -0500 - -e2fsprogs (1.42.9-2) unstable; urgency=low - - * Fix lintian warning: debian-changelog-has-wrong-weekday - * Fix lintian warning: non-standard-dir-perm by using dh_strip's - --dbg-package option instead of manually managing the debug files - * Fix printf type format mismatch in e2image - * Improved debugfs's error reporting when parsing block numbers - * Use consistent configure options across the multiple e2fsprogs - builds; this means that e2fsck.static will now use the blkid library - shipped with util-linux, instead of the internal one shipped with - the e2fsprogs sources. - - -- Theodore Y. Ts'o Mon, 30 Dec 2013 16:56:50 -0500 - -e2fsprogs (1.42.9-1) unstable; urgency=low - - * New upstream version - * NMU ack (Closes: #698879) - * Fix cross-build support (Closes: #721365) - * mke2fs will detect an attempt to create a file system on a - loop-mounted image file - * Fixed a large number of bugs in resize2fs, e2fsck, debugfs, to - handle bigalloc and 64-bit file systems. - * Tune2fs will no longer allow changing the uuid on a mounted file - system with the uninit_bg feature enabled. - * E2fsck will properly allocate a new extent tree block in the rare - case where one is needed when rehashing an extent-mapped directory. - * Mke2fs will now properly set the LARGE_FILE feature when creating a - journal > 2GB. - * Debugfs will now correctly handle free a range of inodes using the - freei command. - * E2fsck will no longer complain if an external journal was exactly - 2**32 blocks. - * E2fsck will not longer try to add a missing lost+found directory - when run in read-only mode. - * Fixed some buffer overrun bugs when creating standard e2image files - * Mke2fs will not try to set both the meta_bg and resize_inode feature - when the extended option "-E resize=NNN" is specified by the user. - * Dumpe2fs will no longer abort when trying to print the journal - information from an e2image-created image file. - * Debugfs's "write" command can now create a sparse files - * Debugfs can now support a command line which is up to 8k long - * E2image will refuse to create a raw or qcow2 image using a mounted - file system unless the -f option is given. - * E2image has been made more useful for efficiently copying file - systems using the -ra options. New options to help with this use - case that were added: -o, -O, -p, and -c. - * Fixed a regression introduced in 1.42.8 which would cause e2fsck to - erroneously report uninitialized extents past i_size to be invalid. - * Fixed cases where resize2fs could corrupt a file system, especially - when shrinking a file system. (Closes: #660793) - * Fixed resize2fs and e2fsck to not crash when operating on a file - system with the MMP feature enabled. - * Fixed debugfs's write command to properly create a zero-length file - (instead of creating an invalid inode). - * Fixed e2fsck to not crash when trying to delete an invalid - extent-mapped symlink. - * Improved debugfs's help texts - * Fixed a potential integer overflow problem in e2freefrag - (Closes: #718205) - * The config.guess and config.sub files have been updated to the - latest to help with the ppcle port. (Closes: #732076) - * Updated/fixed various man pages. (Closes: #586218, #669730, - #698076, #731329) - - -- Theodore Y. Ts'o Sat, 28 Dec 2013 23:18:36 -0500 - -e2fsprogs (1.42.8-1) unstable; urgency=low - - * New upstream version - * Work around Debian Bug #712530 (Closes: #708307) - * Fix e2fsck so it can check a read-only root file system with an - external journal. (Closes: #707030) - * Fix off-line resizing of file systems with flex_bg && !resize_inode - (Closes: #696746) - * Change mke2fs so that it does not set the root directory to the real - uid/gid of the mke2fs process. Add the extended option root_owner to - override this behavior. - * If an invalid journal size is given to mke2fs, it will now complain - and exit sooner. - * Fix resize2fs when shrinking file systems to make sure that bitmap - blocks aren't left outside the bounds of the shrunken file system. - This could happen with flex_bg file systems that were grown using - the old online resizing algorithm. - * E2fsck will now detect and repair corrupted extent trees which contain - invalid extents at the end of the extent tree leaf block. - * E2fsck will now longer complain about zero length extended attribute values. - * Fix a regression introduced in e2fsprogs v1.42 which caused e2image -s - to crash. - * Add safety check so tune2fs will not attempt to set the inode size to - be larger than the block size. - * Enhance chattr to allow clearing the extent flag if the kernel allows it - * Fix e2image with large (> 32-bit) file systems (Closes: #703067) - * Mke2fs will not give warnings about the bigalloc and quota options in - quiet mode. - * Debugfs was erroneously giving spurious error messages for certain - extent_inode subcommands which take arguments (split_node, - replace_node, and insert_node). This has been fixed. - * Fix the parsing of the 's' (sectors) in parse_num_blocks2, which among - other programs is used by mke2fs. - * Fix texinfo incompatibilities (Closes: #712365) - * Updated/fixed various man pages (Closes: #712429, #712430, #707609) - * Update German translation - - -- Theodore Y. Ts'o Thu, 20 Jun 2013 23:09:25 -0500 - -e2fsprogs (1.42.7-1) unstable; urgency=low - - * New upstream version - * Add warning indicating that the quota and bigalloc features are - still under development. - * Added new options to filefrag to be consistent with the version from - Lustre - * Optimized e2fsck's CPU utilization - * Fixed e2fsck so it detects and fixes inconsistencies in the interior - nodes of an inode's extent tree - * Fixed a potential memory corruption failure in e2fsck's error path if - the call to ext2fs_open2() fails. - * Fixed e2fsck if its logging function is enabled in e2fsck.conf, and - the resulting file name for the log file is longer than 100 bytes, - that it properly handles this situation instead of crashing. - * E2fsck will now report the amount of memory that it attempted to - allocate when a memory allocation request fails, to make it easier to - track down the problem. - * Fixed a bug in resize2fs which could cause severe file system - corruption when growing an ext4 file system which was formatted with - fewer-than-normal reserved gdt blocks - * Fixed resize2fs to be able to handle off-line resizes of file - systems with the flex_bg feature and without any reserved gdt - blocks or if the file system did not have the resize_inode feature - * Further optimize resize2fs so it doesn't use quite as much CPU when - resizing very large file systems. - * Fixed 32-bit overflow bugs which could cause resize2fs to fail and - possibly corrupt the file system while resizing 64-bit file systems. - * Fixed a big which could cause resize2fs to corrupt bigalloc file systems. - * Fix a crash while mke2fs is parsing "-E resize=NNN" with the 64bit - file system feature enabled - * Added better error checking to mke2fs to check for invalid - parameters when creating bigalloc file system. - * When creating bigalloc filesystems, the -g option to mke2fs will now - specify the number of clusters per block group. - * Added the "symlink", "zap_block", "block_dump", and "extent_open" - commands to debugfs - * Fixed debugfs's htree command so that all its messages are sent - through the pager. - * Fixed debugfs's dump_file and cat functions so they work correctly - on file systems with a block size greater than 8k. - * Fixed mke2fs's handling of the mmp_update_interval option - * Fixed e2freefrag so it works on 64-bit file systems, and so it uses - much less memory. - * E2image can now include all data blocks in the e2image output - file when the user specifies the -a option. - * Fixed debugfs's mknod command so that it updates the block group - statistics - * Document the bigalloc feature in the mke2fs man page. - (Closes: #669730) - * Update Czech, Dutch, French, German, Polish, Swedish, and - Vietnamese translations - - -- Theodore Y. Ts'o Tue, 21 Jan 2013 21:52:58 -0500 - -e2fsprogs (1.43~WIP-2012-09-22-1) unstable; urgency=low - - * Add metadata checksum feature - - -- Theodore Y. Ts'o Sat, 22 Sep 2012 21:50:20 -0400 - -e2fsprogs (1.42.6-1) unstable; urgency=low - - * New upstream version - * Fix build dependencies to avoid requiring dc, and to allow - cross-building to work (Closes: #677497) - * Updated/fixed various man pages - * Mke2fs will now update its progress indicators at most once a second - to avoid overwhelming serial consoles. - * Resize2fs will support lazy_itable_init, speeding up off-line growth - of uninit_bg file systems. - * Resize2fs now supports on-line resizing 64-bit file systems beyond - 16TB. A number of bugs in resize2fs which prevented this have been - fixed. - * Resize2fs now correctly handles resizing 32-bit file systems to 16TB. - * Fixed a potential segfault in e2fsck when there is an I/O error - while reading the superblock. - - -- Theodore Y. Ts'o Fri, 21 Sep 2012 12:14:41 -0400 - -e2fsprogs (1.42.5-1.1) unstable; urgency=low - - * Non-maintainer upload. - * e2fsck-static, e2fsprogs: let preinst remove a symbolic link in - /usr/share/doc, that should have been replaced with a directory since - 1.39+1.40-WIP-2006.10.02+dfsg-1. (Closes: #698879). - - -- Nicolas Boulenguez Fri, 22 Feb 2013 23:14:59 +0100 - -e2fsprogs (1.42.5-1) unstable; urgency=low - - * New upstream version - * Mark the e2fsprogs package as Multi-Arch: foreign, so if a package - foo:i386 depends on e2fsprogs and is installed on an amd64 system, - the native e2fsprogs will satisfy the dependency. (Closes: #678395) - * Fix a fd leak which could cause logsave (and hence a boot-time rc - init script) to hang (Closes: #682592) - * Fix a problem if e2fsck where if the root file system is mounted - read-only, e2fsck would not clear an error indication in the journal - superblock. Combined with a kernel bug, this would cause the e2fsck - to check the file system after every single boot - * Fixed filefrag so it would not seg fault on virtual filesystems such - as /proc: e.g., "filefrag /proc/partitions" - * Fix filefrag so that it correctly reports the number of extents - * Fixed a bug which caused "mke2fs -N 256 -t ext4 /tmp/foo.img 256m" - to write blocks out until /tmp filled - * Fixed a bug in how e2fsck would uniquify directory entry names - * Change e2fsck so it will allow file systems mounted read-only to be - checked with the -f option. - * Fix e2fsck so that the file system is marked as containing an - error if the user chooses not to fix the quota usage information. - * Fix tune2fs so that it correctly removes the quota feature when - the last quota inode is removed. - * Fix tune2fs so that after removing a quota inode, the block bitmap - is updated; otherwise, e2fsck would complain after running 'tune2fs - -O ^quota '. - * Fix tune2fs so that when converting a file system from using legacy - quota files to the new quota file system feature with hidden quota - files, the accounting for these files is handled correctly so that - e2fsck doesn't complain. - * The e4defrag program now allows device symlinks, such as - /dev/mapper/testvg-testlv, instead of insisting on less - human-friendly names such as /dev/dm-2 - * Updated/fixed various man pages (Closes: #680114) - - -- Theodore Y. Ts'o Sun, 29 Jul 2012 19:59:56 -0400 - -e2fsprogs (1.42.4-3) unstable; urgency=medium - - * Add the -C option to chattr's usage message - * Fix e2fsprogs so it is blhc (build log hardening check) clean. This - fixed e2fsck.static which previously was not getting built with the - security hardening flags. - - -- Theodore Y. Ts'o Wed, 13 Jun 2012 16:03:24 -0400 - -e2fsprogs (1.42.4-2) unstable; urgency=medium - - * Fix FTBFS problem on the hurd and freebsd platforms - - -- Theodore Y. Ts'o Tue, 12 Jun 2012 18:26:40 -0400 - -e2fsprogs (1.42.4-1) unstable; urgency=medium - - * New upstream version - * Fix 64-bit block number bugs in e2fsck, dumpe2fs, and debugfs which - could corrupt file systems - * Fixed e2fsck's handling of how errors propagate from the journal to - the file system superblock - * Fixed a false positive complaint from e2fsck if all of the extents - in the last extent block are uninitialized and located after the - end of the file. - * dumpe2fs will display the journal's error indicator in the - superblock if it is set - * Fixed a bug which caused e2fsck to incorrectly use O_EXCLUSIVE in - some corner cases. - * Fix truncation of extent-mapped inodes in e2fsck and libext2fs - * Fixed i_blocks accounting in bigalloc file systems. - * Add support for btrfs's No_COW flag to lsattr and chattr - * Debugfs interprets the date strings of the form "@ddd" as ddd - seconds after the epoch - * Updated/fixed various man pages (Closes: #674453, #674694) - - -- Theodore Y. Ts'o Tue, 12 Jun 2012 18:20:55 -0400 - -e2fsprogs (1.42.3-1) unstable; urgency=low - - * New upstream version - * Fix bugs on 32-bit systems which could corrupt > 16TB file systems - * Quiet complaints in e2fsck when the total free blocks or inodes are - incorrect in the superblock after an system crash, since we don't - update nor depend on the superblock summaries at each commit boundary - * Fixed support for (hidden) quota files built into ext4; in - particular, don't rewrite the quota inode unless the quotas are - inconsistent - * Optimized reading and writing bitmaps if direct I/O was enabled - * Update Czech, Dutch, French, German, Polish, Swedish, and - Vietnamese translations - * Fixed incorrect indentation in tune2fs man page - * Update debian policy compliance to 3.9.3 - - -- Theodore Y. Ts'o Mon, 14 May 2012 14:43:09 -0400 - -e2fsprogs (1.42.2-2) unstable; urgency=low - - * Fixed e2fsck.conf's man page (Closes: #646963) - * Fixed 32-bit binary compatibility problem for the libext2fs shared - library introduced in 1.42.2 - * mke2fs will no longer fail if the /etc/mtab file is not present - - -- Theodore Y. Ts'o Mon, 09 Apr 2012 14:54:33 -0400 - -e2fsprogs (1.42.2-1) unstable; urgency=low - - * New upstream version - * Fixed various man pages (Closes: #665427) - * Speed up resize2fs for large file systems (Closes: #663237) - * Be less strict about the EXT4_EOFBLOCKS_FL flag (which will - eventually be going away in the ext4 file system format) - * Teach mke2fs to use direct I/O if the -D option is given - * Print errors returned by ext2fs_open2() and ext2fs_check_desc() so - we can more easily diagnose memory allocation failures caused by - insufficient memory and abort on memory allocation failures - * E2fsck can now write log files containing the details of the - problems that were found and fixed directly. - * E2fsck can now limit the number of messages issued and printed on - the console - * The dumpe2fs, debugfs, and tune2fs now use rbtree bitmaps, which - cause them to use much less memory for large file systems. - * E2fsck will now check for zero-length extents, since older kernels will - OOPS if they comes across one - * Fix e2fsck's discard behavior so it does not discard too many - blocks, and it will not use discard if the device advertises - that discard does not persistently zero data. Also, if e2fsck is - run in read-only mode, do not try to discard data. - * Fix mke2fs -S so it does not corrupt the first block group's - information. - * Add pointer for e2fsprogs-udeb to libcomerr2.shlibs (Closes: #665885) - - -- Theodore Y. Ts'o Tue, 27 Mar 2012 15:55:57 -0700 - -e2fsprogs (1.42.1-2) unstable; urgency=low - - * Fix the fact that dpkg-buildflags was being ignored due to a - bash'ism in debian/rules. - * Check the new /sys/class/power_supply/AC/online since - /proc/acpi/ac_adapter/... is deprecated and may not be present on - newer kernels. - - -- Theodore Y. Ts'o Mon, 20 Feb 2012 19:12:20 -0500 - -e2fsprogs (1.42.1-1) unstable; urgency=low - - * New upstream release - * dpkg-buildflags is now used if it is present. This allows Debian - Wheezy to build with security hardened build flags. (Closes: #654457) - * mke2fs and e2fsck now use much less memory for large file systems - * Fixed mke2fs -S so it can be usefully used as a last ditch recovery - command when for ext4 filesystems that have the uninit_bg feature enabled. - * The mke4fs argv[0] is now recognized by mke2fs. - * Fixed usage and help messages for mke2fs. - * Eliminated spurious bad block group checksum warnings when e2fsck - falls back to using the backup group descriptors. - * Debugfs's ncheck command is now much more useful when used to - diagnose badly corrupted file system. Added a new -c option. - * Fixed bug in e2image which could cause it to fail to set i_size - correctly if the last hole in the file is an exact multiple of a - megabyte. - * Fixed a bug with resize2fs where for 1k and 2k file systems, the - minimum file size used for resize2fs -M could be a block too small. - * Fixed the badblocks program to honor the -s flag when in read-only -t - mode. (Closes: #646629) - * Update Czech, Dutch, French, Polish, and Swedish translations - - -- Theodore Y. Ts'o Fri, 17 Feb 2012 15:07:13 -0500 - -e2fsprogs (1.42-1) unstable; urgency=low - - * New upstream release - * Fixed hurd FTBFS (Closes: #649689) - * Optimized e2fsck speed on large file systems when using [scratch_files] - * Fixed e2fsck handling of blocks claimed by multiple inodes in - bigalloc file systems - * Fixed e2fsck's calculation of max file size for non-extent based - files when huge_file is enabled - * Update Czech and Swedish translations - - -- Theodore Y. Ts'o Tue, 29 Nov 2011 15:50:07 -0500 - -e2fsprogs (1.42~WIP-2011-11-20-1) unstable; urgency=low - - * New upstream release - * Fix error checking so resize2fs works when using a 32-bit userspace - and a 64-bit kernel (Closes: #644989) - * e2fsck now returns additional status bits in its exit code if it - aborts early in the e2fsck run - * Fix potential stack overflow in debugfs - * Avoid an infinite loop in ext2fs_find_block_device() if there are - symlink loops in /dev caused by a buggy udev - * Fix test failures on big-endian systems - * Fix gcc -Wall complaints - * Add freefrag and e2freefrag commands to debugfs - * Add a read-only, metadata-only debugfs command called rdebugfs - * Improve first-class quota support - * Fix bigalloc support in e2freefrag - * Clean up mmp handling - * Fix a regression which caused mke2fs to not work correctly on files - > 2GB. (Closes: #647245) - * Fix a namespace leak in libext2fs (tdb_null) - - -- Theodore Y. Ts'o Sun, 20 Nov 2011 21:32:49 -0500 - -e2fsprogs (1.42~WIP-2011-10-16-1) unstable; urgency=low - - * New upstream release - * Fix online resizing with resize2fs (Closes: #644989) - * Fix bug which caused shrinking an empty file system file system to - its minimal size to sometimes fail. - * Don't look at the high 16 bits of i_file_acl if the 64-bit feature - is not enabled; this fixes a Hurd compatibility field since this is - used for the high 16 bits of i_mode on Hurd. - * Update Swedish, Polish, French, German, and Czech translations - - -- Theodore Y. Ts'o Sun, 16 Oct 2011 22:07:03 -0400 - -e2fsprogs (1.42~WIP-2011-10-09-1) unstable; urgency=low - - * New upstream release - * Fixed infinite loop in filefrag (Closes: #644792) - * Fixed various spelling and translation problems - * Fixed various man pages - * Fixed 64-bit block numbers in e2fsck's journal replay - * Fixed mipsel FTBFS that was fixed for mips - * Update Swedish, French, and Czech translations - * Convert to debian source 3.0 (quilt) format - - -- Theodore Y. Ts'o Sun, 09 Oct 2011 22:24:31 -0400 - -e2fsprogs (1.42~WIP-2011-10-05-2) unstable; urgency=low - - * Fix portability issues with non-Linux platforms and for the mips - platform, which does some really strange things vis-a-vis - 32/64-bit support without actually having a 64-bit version of - the architecture (Closes: #644502) - * Fix dependency problem which causes the newer version of libcom_err2 - to get pulled in when upgrading to e2fsprogs, which needs the new - interface exported by libcom_err2. (Closes: #644425, #644584) - - -- Theodore Y. Ts'o Fri, 07 Oct 2011 18:27:06 -0400 - -e2fsprogs (1.42~WIP-2011-10-05-1) unstable; urgency=low - - * Update translations: German (Closes: #520985) - * Fixed usage and error text for mke2fs -C option - * Updated e2fsprogs.pot file for translators - * Added support for internationalized error strings for libcom_err - * Fixed various portability nits that were causing FTBFS problems on - Hurd and FreeBSD - * Added "big" and "huge" types to mke2fs.conf, since they are needed - for very large file systems - * Fixed on-line resizing which had been broken in the 1.42 series - (Closes: #451388) - - -- Theodore Y. Ts'o Wed, 05 Oct 2011 02:10:53 -0400 - -e2fsprogs (1.42~WIP-2011-10-01-2) unstable; urgency=low - - * Update translations: French, German (Closes: #620659) - * Fix compilation problems in hermetic environments - * Fix on-line resizing in resize2fs (Closes: #451388) - * Add definitions for "big" and "huge" filesystems to /etc/mke2fs.conf - * Fix mke2fs when there are more than 2**32 block groups - - -- Theodore Y. Ts'o Tue, 04 Oct 2011 00:04:25 -0400 - -e2fsprogs (1.42~WIP-2011-10-01-1) unstable; urgency=low - - * New upstream release - * Avoid unnecessary reboots when checking the root fs in some special cases - * Fix an off-by-one error in filefrag -v's output - * Make filefrag display the number of contiguous (not physical) - extents (Closes: #631498) - * Clarify the mke2fs.conf.5 man page (Closes: #634883) - * Add a hurd-specific mke2fs.conf file (Closes: #629355) - * mke2fs will set s_max_mnt_count to -1 instead of 0 by default to - work around a bug in pre-3.0 kernels which caused a spurious - message to be printed when the file system was mounted (Closes: #632637) - * Fixed portability problems which was causing build failures on - non-Linux/non-x86 systems. - * Verify that the bad block inode looks sane before trusting it, to - avoid it causing more harm than good. - * Fixed the debian/rules file so that it build successfully if - DEB_BUILD_OPTIONS contains "nostrip" (Closes: #627535) - * Fixed some big-endian bugs in the MMP code - - -- Theodore Y. Ts'o Fri, 30 Sep 2011 22:33:41 -0400 - -e2fsprogs (1.42~WIP-2011-09-25-1) unstable; urgency=low - - * New upstream release - * Fix FTBFS on big-endian architectures (Closes: #641838) - * Add support for multiarch (Closes: #632169) - * Clarify and update debian/copyright file (Closes: #614662) - * Add support for Multi-Mount Protection (MMP) - * Allow tune2fs to remove the external journal if the device is not found - * Updated/clarified man pages (Closes: #642193) - * Fix a potential FTBFS caused by overly long compile lines (Closes: #629883) - - -- Theodore Y. Ts'o Sun, 25 Sep 2011 01:28:34 -0400 - -e2fsprogs (1.42~WIP-2011-09-16-1) unstable; urgency=low - - * New upstream release - * Added support for the integrated quota feature - * Improved 64-bit and bigalloc support - * Mke2fs and tune2fs now allows setting the stride and stripe width to zero - * Fixed tune2fs's mount options parsing (Closes: #641667) - * Fixed an ABI compatibility problem which broke the dump program - (Closes: #636418) - * Resize2fs has forward compatibility for a new on-line resize ioctl - for > 16TB file systems. - * Fixed a (very hard to hit) bug that could cause e2fsck to crash in - pass 1 or pass 2 - * Debugfs has a new 'blocks' command - * Mke2fs now gives a warning if the auto-detected block size exceeds - the page size - * Mke2fs and e2fsck now tries to use the punch hole command as a - "discard" when operating on normal files - * Mke2fs will not try to do any discard operations if -n is specified - on the command line - * Updated/clarified man pages (Closes: #639411) - * Fixed parsing of MNTOPT_ options for tune2fs and debugfs (Closes: #641667) - - -- Theodore Y. Ts'o Fri, 16 Sep 2011 10:33:59 -0400 - -e2fsprogs (1.42~WIP-2011-07-02-1) unstable; urgency=low - - * New upstream release - * Add support for 64-bit file systems - * Add support for bigalloc file systems - * Fixed an e2fsck bug which caused "*** FILE SYSTEM WAS MODIFIED ***" - without an explanation of what was fixed. - * E2fsck will no longer attempt to clone an extended attribute block - in pass1b handling if the file system does not support extended - attributes. - * E2fsck will be more careful accidentally asking the user to continue - if the file system is mounted, so that an escape sequence won't - cause a false positive. (Closes: #619859) - * E2fsck now uses less cpu time in pass 5 - * E2fsck will no longer segfault when a corrupted file system has a bad - extent, and removing it leads to a block needing to be deallocated. - * E2fsck now supports an extended "discard" option which will cause - e2fsck to attempt discard all unused blocks after a full check - * The e2image program now supports the qcow2 format, a more efficient - way of capturing file system metadata snapshots. - * Mke2fs now supports the [devices] stanza in mke2fs.conf. - * Mke2fs now supports the reserved_ratio relation in mke2fs.conf. - * Mke2fs now creates extent-mapped directories for the root and - lost+found directories. - * Mke2fs will skip zero'ing the journal if the extended option - "lazy_journal_init" is specified. - * Mke2fs will now create file systems that enable user namespace - extended attributes and with time- and mount count-based file - system checks disabled. - * Mke2fs will not set a stride or strip size of one block based on - block device attributes obtained from sysfs. - * Mke2fs now displays a progress report during the discard process. - * Mke2fs now handles extreme file system parameters correctly which - previously caused the inodes per group to drop below 8, leading - to a segfault. - * Debugfs's icheck will now correctly find inodes which use the - searched-for block as an extended attribute block. - * Debugfs now has a new "punch" command which remove blocks from the - middle of an inode. - * The badblocks program now correctly recovers from I/O errors when - direct I/O is being used. The badblocks command now also - supports a -B option which forces the use of buffered I/O, and - the -v option will provide a more detailed breakdown of read, - write, and failed comparison errors. - * Added e4defrag tool which uses the EXT4_IOC_MOVE_EXT ioctl. - * Added support for journals larger than 2GB. - * Support using both hard links and symlinks when installing e2fsprogs. - * Add overflow checking to tune2fs -i's fsck interval, which must fit - in a 32-bit field. - * Filefrag will report 0 extents correctly in verbose mode. - * Logsave's usage message has been fixed. (Closes: #619788) - * Update translations: French, Chinese, Germany, Indonesian, Swedish, - Vietnamese, Polish, Dutch, Czech. - * Updated/clarified man pages. - - -- Theodore Y. Ts'o Sat, 02 Jul 2011 22:38:57 -0400 - -e2fsprogs (1.41.14-1) experimental; urgency=low - - * New upstream release - * Fixed a FTBFS on big-endian architectures - * Fixed spurious warning in mke2fs - * resize2fs now works correctly on devices exactly 16TB - * resize2fs will no longer clear the resize_inode feature when the - number of reserved GDT blocks reaches 0. This allows a file - system with the flex_bg feature to be subsequently shrunk. - * e2fsck will no longer use the extended rec_len encoding for file - systems whose blocksize is less than 64k, to catch fs inconsistencies - which the kernel will complain about. - - -- Theodore Y. Ts'o Wed, 22 Dec 2010 18:39:19 -0500 - -e2fsprogs (1.41.13-1) unstable; urgency=low - - * New upstream release - * E2fsck can now do journal-only replays via "e2fsck -E journal_only" - * E2fsck now understands UUID= and LABEL= specifiers for the -j option - (Closes: #559315) - * E2fsck.conf now supports a new config option, which forces the - problem not to be fixed: problems/ Mon, 22 Nov 2010 16:00:50 -0400 - -e2fsprogs (1.41.12-2) unstable; urgency=high - - * Allow tune2fs to set uninit_bg without requiring an fsck - * Fix test in e2fsck to correctly check for EOFBLOCKS files - * Fix dependencies for libuuid and libblkid (Closes: #583551) - - -- Theodore Y. Ts'o Thu, 03 Jun 2010 09:30:36 -0400 - -e2fsprogs (1.41.12-1) unstable; urgency=low - - * New upstream release - * mke2fs now gives the correct error message if the external journal - is device is not found - * The resize2fs program will refuse to print the minimum size needed - for a file system if it is not clean. - * E2fsck now tests for extents that begin at physical block 0 and - rejects them as invalid. - * Fixed a bug in e2fsck which could cause it to crash when trying to - remove an invalid extent and the block bitmaps hadn't yet been loaded. - * E2fsck will now completely skip time-based checks if the system - clock looks insane or if the broken_system_clock option is set - in /etc/e2fsck.conf. (Closes: #549861, #540152) - * Fixed a bug in e2fsck which caused e2fsck to complain about i_blocks - with a 4T file created using posix_fallocate() - * E2fsck will now correctly mark a sparse journal as invalid and will - delete and recreate the journal to address the problem. - * Fixed e2fsck not to ask permission from the user to abort if it's - going to abort regardless of what the user is going to say... - * E2fsck can now continue even if it fails to recreate the resize inode - * E2fsck will now avoid removing directory entries for inodes found in - the unused region of the inode table until after it restarts the fs - check to avoid removing valid data. - * E2fsck will now longer try to set the block group checksums if it - is interrupted. - * Mke2fs will check both the physical and logical blocksizes of a - device to better support 4k sector drives. - * Mke2fs will accept the valid (but rarely useful) flex_bg size of 1 - * E2fsck will check for cases where the EOFBLOCKS_FL is set when it is - not needed, and offer to clear it. - * The com_err library will now only output a CR character if the - stderr is connected to a tty in raw mode. - * Update Czech, Chinese, Dutch, French, Germany, Indonesian, Polish, - and Vietnamese translations (from the Translation Project) - * Add an fsck.ext4 symlink in the e2fsprogs-udeb package (Closes: #571247) - * Fix makefile dependency so dpkg-buildpackage -j2 works (Closes: #563487) - - -- Theodore Y. Ts'o Mon, 17 May 2010 19:43:52 -0400 - -e2fsprogs (1.41.11-1) unstable; urgency=medium - - * New upstream release - * Add Heimdal function com_right_r() to libcom_err (Closes: #558910) - * Allow e2fsck to run even if the physical device has more than 2**32 blocks - * Debugfs's "logdump -b " now properly shows the allocation status - of the block . (Closes: #564084) - * Make e2fsck's "the filesystem is mounted" message is now more scary - to hopefully dissuade users from thinking, "surely that message - doesn't apply to *me*" :-( - * e2fsck -n will now always open the file system read-only. We now - disallow certain combination of options which previously were manual - exceptions; this is bad because it causes users to think they are - smarter than they really are. So "-n -c", "-n -l", "-n -L", and - "-n -D" are no longer supported. - * If the partition is badly aligned, have mke2fs just print a warning - message and continue. Previously mke2fs would ask to confirm, and - this broke distro installation scripts. - * Fix a bug in libext2fs caused the creation of very large journals - for ext4 to be _very_ slow. - * E2fsck now understands the EOFBLOCKS_FL flag which will be used in - 2.6.34 kernels to make e2fsck not complain about blocks deliberately - fallocated() beyond an inode's i_size. - * Fix a bug in e2fsck which could cause e2fsck -D to corrupt - non-indexed directories. (Closes: #572453) - * debian/rules: can be compiled statically with stack protector now. - (Closes: #573923) - * Update debian policy compliance to 3.8.4 - - -- Theodore Y. Ts'o Mon, 15 Mar 2010 00:16:35 -0400 - -e2fsprogs (1.41.10-1) unstable; urgency=low - - * New upstream release - * Fix resize2fs bug which causes it to access invalid memory - * Add libss support for libreadline.so.6 - * Fix e2fsck's check for extent-mapped directory with an incorrect file type - * Add new e2fsck.conf configuration option: - default/broken_system_clock for system with broken CMOS hardware - clocks. (Closes: #559776) - * Fix flex_bg inode table placement algorithm used by mke2fs for - certain specific file system sizes - * Add source lintian overrides for weak-library-dev-dependency - * Fix FTBFS problem caused by texi2html changing (again) its output - location. (Closes: #552934) - * Make e2fsck to avoid rehashing directories which can fit in a - single directory block. - * Fix how e2fsck fixes sparse directories which are extent-mapped. - * Fix some big-endian bugs in e2fsck and libext2fs - * Teach e2fsck to detect and fix sparse extent-mapped directories - * Fix filefrag from core dumping on file systems with 8k block sizes - * E2fsck was depending on i_size to be correct to detect and fix - certain directory problems before actually fixing the - directory's i_size. This caused certain rare corruptions to - require two runs of e2fsck to address. - * Update Czech, Indonesian, Polish and Vietnamese translations - (from the Translation Project) - * Fix e2fsck to find and correct duplicate directory entries in - non-indexed directories. - * Add support for calling BLKDISCARD to mke2fs. - * Enhance libext2fs so it works around bug in Linux version 2.6.19 - and earlier where the /proc/swaps file was missing the header on - the first line. - * Fix resize2fs so it works correctly on file systems with external journals - * Fix libss so that it does not seg fault when using a readline - library which does not supply a readline_shutdown() function. - * Add a pre-depends for util-linux-ng (Closes: #551795) - * Update and clarify various man pages. - * Corrected dumpe2fs's usage message - * Teach libext2fs to ignore the high 32 bits of the i_blocks field - when huge_file file system feature is set, but the inode does not - have the HUGE_FILE_FL flag set. - * Change e2fsck to accept superblock times to be fudged by up to 24 - hours by default. Most distributions have fixed their init scripts, - but apparently now they have buggy virtualization scripts. :-( I - give up, too many buggy user space set ups out there. (Closes: #557636) - * Fix e2fsck to correctly print > 32-bit i_blocks numbers in problem reports - * Improve e2fsck so it prints "Illegal indirect block" instead of - "Illegal block #-1" - * Teach mke2fs to get device topology information from blkid and use - it to populate the superblock stride and stripe sizes and warn if - the block device is misaligned - * Fix a file descriptor leak in debugfs when sourcing a command file - * Fix a file descriptor leak in fsck - * Round up the bitmap size to prevent spurious segmentation faults on - BSD platforms. - * Fix resize2fs to correctly calculate the minimum size needed, when - flex_bg is enabled, to prevent resize2fs -M from failing. - * Dumpe2fs now displays more information about the contents of the journal - * Make sure the libblkid1 and libblkid1-dbg packages have changelogs - * On low memory systems, e2fsck can print some very scary looking - error messages. Clean up them up to avoid user panic. (Closes: #509529) - * Enhance blkid to support .ko.gz files in the modules.dep parser - * Fix tune2fs -j for mounted exted-enabled file systems - * Use the feature name "extent" instead of "extents" in mke2fs.conf. - Both work, but the latter is what is documented in the man page. - (Closes: #540111) - - -- Theodore Y. Ts'o Sun, 07 Feb 2010 20:56:47 -0500 - -e2fsprogs (1.41.9-1) unstable; urgency=low - - * New upstream release - * Fix tune2fs -I to work correctly in the face of bad blocks and - filesystems formatted for RAID arrays, and ENOSPC errors - * Require the user to only answer one question instead of multiple - ones for multiple bad block group checksums, or when an inode - table needs to be moved. - * Fix e2fsck to handle moving inode tables in FLEX_BG filesystems more - gracefully by looking in the entire flex_bg for space, instead of - just in the block group; if that doesn't work, try looking for - space in the entire filesystem. - * Fix the filefrag code to avoid printing the extent header if it - needs to fallback to using the FIBMAP ioctl. - * Fix filefrag to print the correct number of extents for zero-length - files when using FIBMAP. (Closes: #540376) - * Add a filefrag -B option to make it easier to debug the FIBMAP - support. - * Allow e2fsprogs programs to allocate from uninitialized block groups. - * Add a new program, e2freefrag, which displays information about the - free space fragmentation in an ext2/3/4 filesystem. - * E2fsck will now print much fuller information when the last mount - time or last written time is in the future, since most people can't - seem to believe their distribution has buggy init scripts, or they - have a failed CMOS/RTS clock battery. - * Update French, Polish, Czech, and Swedish translation from the - Translation Project. - * Enhance debugfs's 'stat' command to print basic extent information - for extent-mapped inodes, and add a new command, 'dump_extents' - which prints detailed information about an inode's extent tree. - - -- Theodore Y. Ts'o Sun, 23 Aug 2009 10:08:52 -0400 - -e2fsprogs (1.41.8-2) unstable; urgency=low - - * Fix regression in ext2fs_extent_set_bmap() which caused e2fsck -fD - to fail on ext4 filesystems if the directory needs to shrink by more - than a block (Closes: #537510) - * Fixed filefrag for non-extent based files - * Fix use of apostrophe's in package descriptions - * Don't use dietlibc when building for mips and mipsel architectures - - -- Theodore Y. Ts'o Mon, 20 Jul 2009 09:38:21 -0400 - -e2fsprogs (1.41.8-1) unstable; urgency=low - - * New upstream release - * Fix resize2fs bugs when shrinking ext4 filesystems - * Update debian policy compliance to 3.8.2 - * Update package descriptions to mention ext3 and ext4 filesystems - (Closes: #535530) - * Update French, Polish, Czech, Indonesian, and Swedish translation - from the Translation Project. - * If the resize2fs operation fails, the user will be told to fix up - the filesystem using e2fsck -fy. - - -- Theodore Y. Ts'o Sat, 11 Jul 2009 17:26:16 -0400 - -e2fsprogs (1.41.7-2) unstable; urgency=low - - * Fix online resizing using resize2fs (Closes: #535452) - * Fix the filefrag program for files with more than 144 extents - * Update and clarify various man pages. - * Fix potential filesystem corruptions caused by using resize2fs to - shrink filesystems with extents enabled. - - -- Theodore Y. Ts'o Tue, 07 Jul 2009 23:21:46 -0400 - -e2fsprogs (1.41.7-1) unstable; urgency=low - - * New upstream release - * Fix memory leaks in e2fsprogs, including a very large memory leak - which can cause e2fsck to run out of memory when checking very large - filesystems using extents. - * Fix a bug in libext2fs which can cause e2fsck and resize2fs to write - uninitialized data into the portion of the inode beyond the first 128 - bytes when operating on extents; potentially corrupting filesystems. - * The logsave program will now filter out the ^A and ^B characters when - writing to the console. - * Update/clarify man pages (Closes: #531385, #523063) - * Fix filefrag program so it correctly checks for errors from the - fiemap ioctl. - * Change badblocks to allow block sizes larger than 4k. - * Fix libext2fs to properly initialize i_extra_size when creating the - journal and resize inodes. - * Resize2fs will now update the journal backup fields in the - superblock if the journal is moved; this avoids an unnecessary full - fsck after resizing the filesystem. - * Use the same encoding as the kernel for rec_len == 64k in 64k block - filesystems. - * Fix lsattr to exit with a non-zero status when it encounters errors. - * Enhance badblocks to print the currently tested block number when - interrupted with ^C. - * Fix debugfs from core dumping if the logdump command fails to open the - output file. - * Harden ext2fs_validate_entry() so that lsdel will not read beyond the - end of the block even if the directory block is corrupted. - * Update Chinese and Czech translation from the Translation Project. - - -- Theodore Y. Ts'o Mon, 29 Jun 2009 15:12:14 -0400 - -e2fsprogs (1.41.6-1) unstable; urgency=low - - * New upstream release - * Update and clarify man pages - * Fix a number of Lintian warnings, including to updating to debian - policy 3.8.1 - * Update config.guess and config.sub to the latest (2009-04-17) - version so that e2fsprogs will build on the avr32 platform - (Closes: #528330) - * Add an explicit error message if the /etc/mtab file is missing - when running e2fsck or resize2fs (Closes: #527859) - * Enhance e2fsck to handle the case where the primary block group - descriptors need fixing, and the backup superblock is corrupt. - (Closes: #516820) - * Add an "-a" option to debugfs's close_filesys command - * e2fsck will no longer abort a preen operation if an inode's - i_file_acl_hi field is non-zero. (Closes: #526524) - * The chattr program can now migrate inodes from using direct/indirect - blocks to extent trees. - * Speed up e2fsck if there are multiple block groups with inodes in - use in the unused portion of the block group's inode table. - * Update Chinese translation from the translation project - * Fix resize2fs so it won't corrupt ext4 filesystem when asked to - shrink a filesystem smaller than the minimum suggested size. - * Fix e2fsck regression which can corrupt ext4 filesystems when - replaying the journal. - * Add support to e2fsck for handling I/O errors while replaying the - journal - * Fix a bug in e2fsck which could cause it to crash if an inode has a - corrupt extent header, and the user declines to clear the inode. - * Fix blkid to prefer the /dev/mapper/ device names over the - private /dev/dm-N device names. - * Add support for the FIEMAP ioctl to the filefrag program - * Further speed up e2fsck by skipping journal checks if the filesystem - is mounted read-only and is marked as not needing journal replay. - * Add a build depends in the control file indicating that dietlibc - must be newer than version 0.30 (Closes: #506064) - - -- Theodore Y. Ts'o Fri, 30 May 2009 13:26:23 -0400 - -e2fsprogs (1.41.5-1) unstable; urgency=low - - * New upstream release - * E2fsck will now detect and fix inodes that have a non-zero - i_file_acl_high field on 32-bit filesystems. - * Update build-depends to indicate that dietlibc 0.30 doesn't work. - (Closes: #506064) - - -- Theodore Y. Ts'o Fri, 24 Apr 2009 08:52:47 -0400 - -e2fsprogs (1.41.4-3) unstable; urgency=low - - * Update/clarify man pages (Closes: #365619) - * Fix a problem where the 'device names' for pseudo-filesystems in - /proc/mounts could confuse the e2fsprogs into thinking that a - filesystem image stored in a regular file was mounted when it was not - * Remove whole-disk entries from the blkid cache when partitions are found - * Reduce the number of disk reads needed when the filesystem is clean - * Add Chinese (simplified) translation from the Translation Project - - -- Theodore Y. Ts'o Thu, 23 Apr 2009 01:35:22 -0400 - -e2fsprogs (1.41.4-2) unstable; urgency=low - - * Update the debian copyright files to point at the version-specific - GPL and LGPL files. - * Update the debhelper compat level to 7 - * Fix a number of filesystem corruption bugs in resize2fs when growing - or shrinking ext4 filesystems off-line (i.e., when the ext4 - filesystem is not mounted). - * Clarify tune2fs man page (Closes: #515693) - * Add homepage field to the debian control file (Closes: #506279) - * Fix Hurd compilation problem (Closes: #521602) - * Debugfs can now set i_file_acl_high via the set_inodes_field command - * Debugfs will now display a 64-bit file acl block - * Fix various gcc compilation warnings and other programming cleanups - * Make sure libuuid closes all file descriptors before starting the - uuidd daemon. - * Avoid running e2fsck unnecessarily after doing an online resize - * Mke2fs -S will now avoid trying to create the journal - * Update the Czech translation from the translation project. - * Fix support for external journals (which was broken in e2fsprogs 1.41.4) - * Fix a compatibility issue with libext2fs info page and makeinfo 4.12 - * Fix a segfault in debugfs when running stat without an open filesystem - * Teach the blkid library that starting in 2.6.29, ext4 can support - filesystems without journals. - * Add error check preventing the reserved_ratio argument to mke2fs and - tune2fs from being negative. (Closes: #517015) - * Add support for tracking the number kilobytes written to the - filesystem via the superblock field s_kbytes_written - - -- Theodore Y. Ts'o Sun, 19 Apr 2009 23:05:53 -0400 - -e2fsprogs (1.41.4-1) unstable; urgency=low - - * New upstream release - * Fix bug which could sometimes cause blkid to return an exit value of - zero for a non-existent device (Closes: #502541) - * Fix spelling mistake in Debian changelog (Closes: #502323) - * Fix blkid to deal with an ext3 filesystem with the test_fs flag - * Fix debugfs's ncheck output to suppress extra characters at the end - of the file name - * Tune2fs now updates the block group checksums after changing the - filesystem's UUID - * Speed up tune2fs's inode resizing code so it is no longer vastly - inefficient for moderate to large filesystems - * Fix dumpe2fs so it doesn't attempt to print the inline journal - information on filesystems with an external journal - * Update the Catalan translation - * Filter out linux-vdso.so lines when determining the library - dependencies while building the initial ramdisk (Closes: #503057) - * Fix e2fsck so an errant INODE_UNINIT flag set in a block group - doesn't cause e2fsck to abort. - * E2fsck now distinguishes between fragmented directories and - fragmented files in verbose mode statistics and in the fragcheck - report. - * Avoid double-counting non-contiguous extent-based inodes in the - verbose mode statistics. - * E2fsck now leaves slack space when repacking directories so that a - few new directory entries won't cause leaf nodes to become split - right away. - * E2fsck was previously not handling the case of a corrupted interior - node in the extent tree, and would crash in that case. It now will - handle this and related failures robustly. - * E2fsck problem descriptions involving the journal are no longer - referred to as "ext3" problems, since ext4 filesystems also have - journals. - * Fix a long-standing bug in e2fsck which would cause it to crash when - replying journals for filesystems with block sizes greater than 8k. - * Fix a regression in debugfs's logdump command so it works for - filesystems with 32-bit block numbers. This was accidentally broken - when the header files were changed to support the 64-bit block numbers. - * Fix resize2fs for ext4 filesystems. Some blocks that that need moving - when shrinking filesystems with uninit_bg feature would not be - moved. In addition, blocks and inode table blocks were not being - correctly freed when shrinking filesystems with the flex_bg feable, - which caused resize2fs -M to fail. Finally, when blocks are moved, - make sure the uninitialized flag in extents is preserved. - * Add mkfs.ext4 symlink to the e2fsprogs-udeb package (Closes: #511207) - * Resize2fs now reserves some extra block when calculating the minimum - size to shrink the filesystem in case some extent allocation trees - * Add a "set -e" to uuid-runtime's prerm script to make Lintian happy - * The blkid library will now recognize btrfs filesystems and swap - devices currently used by user-level software suspend. - * tune2fs will not allow changing the inode size for filesystems that - have the flex_bg feature enabled, since the code currently assumes - the each block group's portion inode table is located in its own - block group. - * Fix tune2fs -I so it won't corrupt ext3/ext4 filesystem configured - for RAID storage devices. - * Mke2fs now understands a -U option which allows the UUID to be - specified for the new filesystem. - * Mke2fs will now treat devices with exactly 16TB as if they have 16TB - minus one block, since many users expect ext4 to support 16TB - devices, and the true maximum size is 16TB-1. - * E2fsck will now flag filesystems that have an insane s_first_ino - field in their superblock. - - -- Theodore Y. Ts'o Tue, 27 Jan 2009 11:50:49 -0500 - -e2fsprogs (1.41.3-1) unstable; urgency=low - - * New upstream release - * Fix e2fsck so it prints the correct inode number for uinit_bg - related problems. - * E2fsck will offer to clear the test_fs flag if the ext4 filesystem - is available. - * Fix a file descriptor leak in libblkid - * Avoid a potential infinite loop in e2fsck when there are disk I/O - errors while trying to close a filesystem. - * Fix a potential infinite loop in resize2fs when a bogus new size of - 0 blocks is specified on the command line. - * Add an early check to see if a device is read-only to avoid lots of - confusing error messages. - * Fix debugfs's ncheck command so it prints all of the names of - hardlinks in the same directories. - * Fix a bug in libblkid so it correctly detects whether the ext4 and - ext4dev filesystems are available, so that the ext4dev->ext4 - fallback code works correctly. - - -- Theodore Y. Ts'o Sun, 12 Oct 2008 22:45:34 -0400 - -e2fsprogs (1.41.2-1) unstable; urgency=low - - * New upstream release - * Fix e2fsck's automatic blocksize detection. This fixes a regression - added in e2fsprogs 1.40.7 where e2fsck's -b option would not - work if a blocksize wasn't also specified via the -B option. - * Fix a potential file descriptor leak in libcom_err if the - application exec's another program. - * Fixed badblocks output for "badblocks -sw" - * debugfs: Fix ncheck to print all pathnames for all of the specified inodes - * Use dietlibc when possible for building e2fsck.static, to reduce the - size of the static binary. - * debugfs: Add the ability to specify the hash seed and to specify the - hash algorithm by name to the "hash" command. - * Add documentation for the file I/O functions to libext2fs.texinfo. - (Closes: #484877) - * Fix a bug in e2fsck where if a translation file is being used and - e2fsck needs to print problem report with a custom question (such as - "Run journal anyway?"), the PO file's header would get spewed onto - the terminal. - * Update Swedish, Vietnamese, Dutch, Indonesian, German, Czech translations - * Fixed spelling mistakes in man pages (Closes: #498100, #498101, - #498102, #498103) - - -- Theodore Y. Ts'o Thu, 02 Oct 2008 08:54:16 -0400 - -e2fsprogs (1.41.1-3) unstable; urgency=low - - * badblocks -v will now display the time and percentage complete - (Closes: #429739) - * Reordered debian/rules when building udebs to avoid a Lintian warning - * Fixed dependencies fields in the udeb packages (Closes: #497619) - * Avoid linking various programs with unneeded libraries - * Fixed a typo'ed bold font specifier in mke2fs's man page - * Fixed the pkg-config files so the include directory needed by the - various libraries is included, and to use Requires.private to - avoid unnecessary linking of dynamic libraries. - * Add more historical information to the debian/*.symbol files - - -- Theodore Y. Ts'o Fri, 05 Sep 2008 11:11:03 -0400 - -e2fsprogs (1.41.1-2) unstable; urgency=low - - * Make sure ext4_swab64() is defined on all platforms (Closes: #497515) - * Badlocks: Use O_LARGEFILE so it will run on files greater than 2GB - - -- Theodore Y. Ts'o Tue, 02 Sep 2008 09:53:46 -0400 - -e2fsprogs (1.41.1-1) unstable; urgency=low - - * New upstream release - * mke2fs and tune2fs now use half-md4 as the default hash algorithm - In addition the default hash algorithm can be via mke2fs.conf for - mke2fs, and via a command-line option for tune2fs. - * Add support for on-line resizing of ext4 filesystems with the - flex_bg filesystem feature. - * e2fsck now creates the journal in the middle of the filesystem, - which can speed up fsync-heavy workloads. - * Make the blkid library more efficient for devicemapper devices, - mostly by no longer using the libdevmapper library. - * Fix various namespace leakages by the libblkid, libe2p and libext2fs - libraries. - * Fix support for empty directories in 64k blocksize filesystems. - * Add supported_features command to debugfs - * Improve libblkid detection of JFS and HPFS filesystems - * The test I/O manager is now compiled in by default, but to avoid its - overhead, it is only enabled when the TEST_IO_FLAGS or TEST_IO_BLOCK - environment variables are set. - * Fix filefrag's ideal extent calculation (Closes: #458306) - * Fix postinstall scripts when the user/group is in LDAP (Closes: #497010) - * Add Indonesian and update French, Polish, Dutch, German, Swedish, - Czech, and Vietnamese Translations. (Closes: #313697, #401092) - * Update/clarified man pages - * Add dpkg-gensymbols support to track ABI changes to the libraries - * Add lintian overrides for uuid-runtime and libuuid1 - * Remove (no longer needed) lintian overrides for e2fsck-static - * Add debian/watch file - - -- Theodore Y. Ts'o Mon, 01 Sep 2008 11:30:21 -0400 - -e2fsprogs (1.41.0-4) unstable; urgency=low - - * mke2fs will issue a warning if mke2fs.conf hasn't been updated and - the user tries to create an ext3, ext4, or ext4dev filesystem, - since it depends on the mke2fs.conf file in order to create the - filesystem properly with the appropriate features. - * Fix the maximum journal size message in mke2fs and tune2fs to be - consistent/correct. (Closes: #491620) - * Add detection for hfsx filesystem and add label and uuid detection - for hfs, hfsplus, and hfsx filesystems in libblkid. - * Fix cosmetic issue in resize2fs when a progress bar doesn't finish - with a newline for pass 4 (when the inode references are updated). - * Teach resize2fs to move blocks when extents are present (when - shrinking a filesystem and/or if resize_inode is not present). - * Teach resize2fs to work correctly with the uninit_bg when blocks - need to be moved or allocated. - * Fix and optimize extent manipulation in libext2fs for resize2fs. - * Fix "dumpe2fs -i" and "debugfs -i". (Closes: #495830) - * Fix resize2fs incorrectly managing directory in-use counts when - shrinking filesystems and directory inodes need to be moved. - * Fix spurious e2fsck complaints with i_size with extents and large - files and preallocated blocks. - * Make sure the creation timestamp is set by mke2fs and by new inodes - created by the libext2fs in general. - * Fix ind/dind/tind statistics when extents are present, and add - extent tree depth statistics. - * Add a fragmentation report extended option to e2fsck. - * Fix blkid cache validation and some possible blkid crashes - (Closes: #493216) - * Teach debugfs's htree command to work with extent-based directories. - * Improve the error message for "tune2fs -I". - * Fix miscellaneous strings and usage messages pointed out by the - translators. (Thanks, translators!) - * Enforce that mke2fs won't allow features for revision 0 filesystems. - * Optimize inode table allocation in mke2fs for flex_bg filesystems. - * Update/clarified man pages - * Fix minor typo in uuid-runtime's debian package description - * Wrap debian/copyright files to avoid "line too long" lintian warnings - - -- Theodore Y. Ts'o Sat, 23 Aug 2008 08:56:47 -0400 - -e2fsprogs (1.41.0-3) unstable; urgency=medium - - * Fix mips-specific FTBFS problem in debian/rules file - * Synchronize section and priority levels in control file with the - FTP masters' override file. - - -- Theodore Y. Ts'o Tue, 15 Jul 2008 11:38:59 -0400 - -e2fsprogs (1.41.0-2) unstable; urgency=medium - - * Don't try to check the group descriptor checksum if the GDT_CSUM - feature is not present. (Closes: #490637) - * Add a new blkid -L option which pretty-prints the currently - available block devices. (Closes: #490527) - - -- Theodore Y. Ts'o Sun, 13 Jul 2008 19:18:08 -0400 - -e2fsprogs (1.41.0-1) unstable; urgency=medium - - * New upstream version - * Make e2fsck detect corrupted block group descriptors that would - cause it to relocate inode tables, causing more damage to the - filesystem, and make it try the backup superblock/block group - descriptors first. - * Fix resize2fs to clean up the resize_inode if all of the reserved - gdt blocks are consumed during an off-line resize. - * Enable huge_file, dir_nlink, extra_isize features for mke2fs and tune2fs. - * Enable huge_file, dir_nlink, extra_isize, and uninit_bg by default - in mke2fs.conf. - * Fix badblocks terminology in man page and program output. - (Closes: #440983, #440981) - * Clarify stripe-width and stride-size in mke2fs man page. (Closes: #487849) - * mke2fs: Dumb down filesystems for GNU Hurd (Closes: #471977) - * Add bash-static to the list of shells recommended for e2fsck-static - (Closes: #490003) - * mke2fs: Fix flex_bg metadata default layout to avoid a hole between - the bitmaps and inode tables. - - -- Theodore Y. Ts'o Thu, 10 Jul 2008 17:25:32 -0400 - -e2fsprogs (1.41~WIP-2008-07-07-1) experimental; urgency=low - - * New upstream version (pre-release for e2sprogs 1.41) - * Update to indicate compliance with debian policy version 3.8.0.0. - * Fix e2fsck to not truncate valid extent files that are larger than - what is supported by indirect files. - * Add -dbg packages which contain the debugging information. - * mke2fs: Print a better error message when a device is too big. - (Closes: #488663) - * Create external journal devices with a default blocksize of 4k - * Fix bug in badblocks which caused crash when lots of -t patterns are - given. (Closes: #487298) - * Fix blkid handling of stale entries. (Closes: #487758, #487783) - * Update Vietnamese, Polish, French, Spanish, German, Catalan, - Dutch, Czech translations from the translation project. - * Fix FTBFS problem on MIPS (Closes: #487675) - * Fix bug in libuuid1.postinst which would cause it to blow up if - there were spaces around the equals sign in /etc/adduser.conf. - (Closes: #487443) - * Update/clarified man pages. (Closes: #393313) - - -- Theodore Y. Ts'o Mon, 07 Jul 2008 16:30:43 -0400 - -e2fsprogs (1.41~WIP-2008-06-17-1) experimental; urgency=low - - * New upstream version (pre-release for e2fsprogs 1.41) - * New options to badblocks allow it to limit how quickly it reads - from disk (for background scrubbing) and abort after a finding - giving a number of errors. - * Add support for ext4 filesystem features. (Closes: #388452, #425477) - * Tune2fs can migrate a filesystem from using 128 byte inodes to - larger inode sizes so the user can take full advantage of ext4) - * E2fsck and mke2fs can optionally record an undo log which can be - replayed by the e2undo program. - * E2fsck will display a less cryptic message when the last check field - in the superblock is in the future. (Closes: #446005) - * Improve blkid probes for LVM volumes and swap partitions - * Mke2fs has a much more sophisticated system for controlling the - parameters of newly created filesystems. The -t option now is used - to specify the filesystem type. See the mke2fs and mke2fs.conf man - pages for more details. - * Resize2fs will now print the minimum needed filesystem size if given - the -P option, and will resize the filesystem to the smallest possible - size if given the -M option. - * E2fsck now performs more extensive and careful checks of extended - attributes stored in the inode. - * Mke2fs will always make sure that lost+found always has at least 2 - blocks, even for filesystems with very large blocksizes (i.e., 64kb). - * The debugfs "ls" command now supports the -p option, which causes - filenames to be printed surrounded by double quotes. - * Fix a potential off-by-one buffer overflow in e2image - * The chattr program will now return a non-zero exit code in case of - failures. - * This version of e2fsprogs removes support for legacy big-endian - filesystems and for MASIX filesystems. - * Add I/O statistics reporting to e2fsck. - - -- Theodore Y. Ts'o Tue, 17 Jun 2008 23:57:08 -0400 - -e2fsprogs (1.40.11-1) unstable; urgency=low - - * Change mke2fs, tune2fs and resize2fs to use floating point precision - when calculating the number of reserved blocks. (Closes: #452639) - * Update Spanish and Catalan translations. - * Fix ext2fs_swap{16,32,64} for external applications. (Closes: #484879) - * Improve uuid-runtime package description. (Closes: #483962) - * Improve e2fsprogs package description. (Closes: #483023) - * Add support for detecting ZFS volumes to libblkid. - * Clarify debugfs man page. (Closes: #486463) - - -- Theodore Y. Ts'o Tue, 17 Jun 2008 21:59:21 -0400 - -e2fsprogs (1.40.10-1) unstable; urgency=low - - * Fix a very rare potential data corruption bug in e2fsck's journal - replay. - * Updated German, Dutch, Swedish, and Vietnamese translations. - * Force blkid to revalidate a device if its mtime is newer than the - last validation time in the cache. - - -- Theodore Y. Ts'o Wed, 21 May 2008 13:35:12 -0400 - -e2fsprogs (1.40.9-1) unstable; urgency=low - - * Fix fsck so that if multiple filesystems are being checked in - parallel, the progress bar for subsequent filesystems will be - correctly displayed. (Closes: #432865) - * Fix fsck -Cn for n!=0 for better Ubuntu boot-time support - * debugfs: Don't bother using a pager of stdout is not a tty - * Fix tune2fs and debugfs to correctly parse time strings during - daylight savings time. (Closes: #471882) - * Teach fsck to treat ext4 and ext4 filesystems as ext* filesystems - * Logsave will now propagate SIGINT and SIGTERM signals to its child - process. - * Mke2fs will not allow the illogical combination of the resize_inode - and meta_bg filesystem features. - * Use UID/GID ranges from adduser.conf if present, even though we - don't use adduser to add users/groups. (Closes: #473179) - * Updated German, Czech, Dutch, French, Polish, Swedish, and - Vietnamese translations. - * Update/clarified the mke2fs man page - - -- Theodore Y. Ts'o Sun, 27 Apr 2008 00:35:20 -0400 - -e2fsprogs (1.40.8-2) unstable; urgency=low - - * One more big-endian swap fix needed for resize2fs to work correctly - with in-inode extended attributes. - * Fix minor security issues identified in uuidd. - * Remove e2fsprogs preinstall script which contained stuff not needed - in well over two stable releases. - - -- Theodore Y. Ts'o Fri, 14 Mar 2008 14:25:54 -0400 - -e2fsprogs (1.40.8-1) unstable; urgency=low - - * Fix e2image -I so it works on image files which are larger than 2GB. - * Fix e2fsck's handling of directory inodes with a corrupt size field. - * Fully fix a resize2fs bug where extended attributes in large inodes - could get dropped on big-endian systems. - * Update Czech, Dutch, Polish, Swedish, and Vietnamese translations. - * Significantly updated German translation! Thanks to Philipp Thomas - from Novell for stepping up to be our new German translation - maintainer! (Closes: #302512, #370247, #401092, #412882) - * Fixed mke2fs man page to document new default inode size. - - -- Theodore Y. Ts'o Thu, 13 Mar 2008 20:00:09 -0400 - -e2fsprogs (1.40.7-1) unstable; urgency=low - - * New upstream release - * tune2fs no longer will remove the sparse_super feature, as it is dangerous - * Update/clarified various man pages - * Fix bug where large nodes were not getting fully copied when - shrinking a filesystem using resize2fs. - * Allow mke2fs and tune2fs to manipulate the large_file feature flag - * Suppress fsck's warning message about an old-style fstab if the - fstab file is empty. (Closes: #468176) - * E2fsck will no longer clear the large_files feature flag - automatically when there are no more large files in the system. - * Fix blkid code to avoid segfaulting when a device mapper volume - disappears out from under it. - * Enhance e2fsck's reporting of unsupported filesystem features - * Fix dumpe2fs command syntax for explicit superblock/blocksize parameters - * Teach tune2fs to clear the resize_inode feature flag - * Fix libuuid1 postinstall script to explicitly pass 100 to UID_MIN - and GID_MIN, to make it clear we are not trying to allocate an - uid/gid in the globally reserved range. (Closes: #466929) - * Fix memory leak in ext2fs_alloc_block() - * Teach blkid to recognize LVM2 physical volumes - * Add support to dumpe2fs, mke2fs, and tune2fs for specifying and - printing the RAID stride and stripe width. - * Add support for new superblock fields to debugfs's set_super_value command - * Teach debugfs to print "mostly-printable" xattr strings, such as is - used by SELinux. - * Add support in fsck to ignore mounted filesystems when given the -M option - * Fix uuidd so it creates the pid file with the correct pid number - * Update Czech, Dutch, Polish, Swedish, and Vietnamese translations - from the Translation Project. - - -- Theodore Y. Ts'o Thu, 28 Feb 2008 22:27:39 -0500 - -e2fsprogs (1.40.6-1) unstable; urgency=low - - * New upstream release - * Add support for returning labels for UDF filesystems in the blkid - library. - * Fix bug in the blkid library where cached filesystems was not being - flushed when opening USB devices returned the error ENOMEDIUM. - (Closes: #463787) - * Add logic to the blkid library to automatically choose whether a - filesystem should be mounted as ext4 or ext4dev, as appropriate. - * Allow tune2fs to set and clear the test_fs flag on ext4 filesystems. - * Document the BLKID_FILE environment variable in the libblkid man page - * Update Vietnamese and Czech translations from the translation project - * Fix dependency problem caused by dpkg 1.14.16 (Closes: #436058) - * Use thread local storage to fix a theoretical race condition if two - threads try to format an unknown error code at the same time in - the com_err library. - - -- Theodore Y. Ts'o Sun, 10 Feb 2008 00:06:02 -0500 - -e2fsprogs (1.40.5-2) unstable; urgency=low - - * Fix debian/control and debian/rules so that they work correctly - after a change in dpkg-gencontrol's behavior after version 1.14.16 - of dpkg. This fixes bad version dependencies for comerr-dev, - uuid-dev and ss-dev. Thanks to Don Armstrong for the explanation and - Margarity Manterola for a proposed patch. (Closes: #463058) - - -- Theodore Y. Ts'o Wed, 30 Jan 2008 07:17:27 -0500 - -e2fsprogs (1.40.5-1) unstable; urgency=low - - * New upstream release. - * Mke2fs will now create new filesystems with 256 byte inodes and the - ext_attr feature flag by default. This allows for much better - future compatibility with ext4 and speeds up extended attributes - even on ext3 filesystems. - * Teach mke2fs and tune2fs to set a "test_fs" flag, which indicates - that it is ok to use the filesystem on in-development kernel - code (i.e., ext4dev) - * E2fsck now optimizes non-htree directories by sorting them by inode - number. - * Add support for detecting HFS+ and ext4/ext4dev filesystems in blkid - * Fix blkid's ntfs UUID handling so it is compatible with vol_id - * Avoid a floating point exception when blkid tries to probe a corrupt - reiserfs filesystem. - * Fix potential overflow problem in e2image if the device name is - too long. - * Cause e2image to exit immediately with an error message on a disk - full situation. - * Fix a minor typos in the resize2fs and uuidd manpages. - * E2fsck will no longer backup superblocks when the kernel makes - certain "safe" feature set changes behind the user's back. - * Fix debugfs's lsdel command so it works on large files - * Allow a user to undelete an inode with linking to a destination - directory. - * Update Swedish translation file from the Translation Project - * The libuuid1 and uuid-runtime packages requires passwd package, so - declare it as a dependency. (Closes: #459403) - * Fix a FTBFS problem on x86_64 caused by the fact that dietlibc - doesn't provide llseek on the x86_64. (Closes: #459614) - * Don't use dietlibc on platforms that don't support it (Closes: #459475) - - -- Theodore Y. Ts'o Sun, 27 Jan 2008 16:57:34 -0500 - -e2fsprogs (1.40.4-1) unstable; urgency=low - - * Make sure that programs like tune2fs, when modifying a mounted - filesystem do not write the backup superblocks with the - NEEDS_RECOVERY flag, to avoid e2fsck from needlessly forcing a - full fsck because it thinks the feature flags need to be backed up - from the master to the backup superblocks. (Closes: #454926) - * Improve time-based UUID generation to guarantee uniqueness even when - UUID's are being generated at very high rates on SMP systems. To - do this we use an optional setuid helper daemon (uuidd) which is - started by libuuid when it is needed. The uuidd daemon is - packaged in the (new) uuid-runtime package, which now also includes - the uuidgen program (which had been previously been included as - part of the e2fsprogs package). - * Fix fsck to only treat '#' characters at the beginning of /etc/fstab - lines as starting a comment. This avoids spurious warnings printed - for filesystems such as fuse that often use '#' as part of the - filesystem specifier (i.e., wdfs#https://dav.hoster.com/foo). - * Enhance the blkid program to pretty-print control and meta - characters to avoid garbage filesystem labels from screwing up the - user's terminal - * Fix potential integer overflows passed to malloc() in resize2fs - * Update Dutch, Polish, and Vietnamese translations from the - Translation Project. Remove the Rwandan translation upon advice - of the Translation Project. - * Fix cross-compilation support for non-Linux architectures - (Closes: #451172, #437720) - * Clarified and improved man pages (Closes: #444883, #441872) - * Fix potential divide by zero error when libblkid tried probing an - invalid FAT filesystem. - * Make error_message() in libcom_err DTRT when when a 64-bit sign-extended - error code is passed to it. - * Build the e2fsck-static package so that e2fsck.static will not use - TLS and hence will run correctly on back-level Debian systems - using a 2.4 Linux kernel. (Closes: #458017) - - -- Theodore Y. Ts'o Mon, 31 Dec 2007 22:40:42 -0500 - -e2fsprogs (1.40.3-1) unstable; urgency=medium - - * New upstream release - * libext2fs: Add checks to prevent integer overflows passed to - malloc(). Fixes security issue related to Xen's pygrub: CVE-2007-5497 - * libss: Fix parallel build failure - * e2fsprogs: fix blkid whole-disk scanning heuristics - * libext2fs: Fix a corner case bug in ext2fs_unlink - * fix check_mntent_file() to pass mode for open(O_CREAT) - * Fix errors in test_ss.c so it can be an example application and test case - * e2image in raw-mode appends an extra byte to image-file - * Fix typo in the summary section of the blkid man page - * mke2fs: Change usage message to use -E instead -R, which is deprecated - * libblkid: recognize squashfs filesystems on BE systems. - * libblkid: detect squashfs - * e2fsck: backup superblocks if key constants have changed - * e2fsck: update the backup superblocks if the feature bitmasks are changed - * ext2fs_dblist_dir_iterate: Fix ABORT propagation logic - * libblkid: Add more magic numbers that might mean there is a FAT filesystem - * e2fsck: Don't mark the filesystem invalid because of time errors - * Work around lame Ubuntu init scripts / installer bugs - * fsck: Ignore /etc/fstab entries for bind mounts - * e2fsck: If the superblock is corrupt, automatically retry with the backup sb - * Don't crash if s_inode_size is zero - * Use sscanf instead of atoi when parsing e2fsck options - * Add Catalan translation and update Spanish, French, and Dutch - translations from the Translation Project. (Closes: #411562) - * Fix typo and clarify the uuidgen man page - * Make sure $prefix/etc is created before installing mke2fs.conf - * e2fsck: Allow i_size to be rounded up to the size of a VM page - * Fix a bug in ext2fs_initialize() which causes mke2fs to fail while - allocating inode tables for some relatively rare odd disk sizes. - * Fix big-endian byte-swapping bug in ext2fs_swap_inode_full() - - -- Theodore Y. Ts'o Wed, 05 Dec 2007 20:04:28 -0500 - -e2fsprogs (1.40.2-1) unstable; urgency=low - - * New upstream release - * e2fsck: Fix salvage_directory when the last entry's rec_len is too big - * Update Turkish, Polish, Dutch, and Vietnamese PO files from the - Translation Project - * Fix a bug which would cause e2fsck segfault on very badly damaged - filesystems - * Update tune2fs man page to include more discussion of reserved - blocks (Addresses Ubuntu Launchpad bug #47817) - - -- Theodore Y. Ts'o Thu, 12 Jul 2007 22:18:51 -0400 - -e2fsprogs (1.40.1-1) unstable; urgency=low - - * New upstream release - * Clarify mk_cmds' error reporting - * e2fsck: Detect recursive loops in @-expansions - * Compile the default mke2fs.conf into mke2fs program - * Fix bogus strip permission errors when building under Debian - * Update Vietnamese, French, and Dutch PO files from the Translation Project - * Fix bug which could cause libblkid to loop forever (Closes: #432052) - - -- Theodore Y. Ts'o Sun, 8 Jul 2007 20:25:08 -0400 - -e2fsprogs (1.40-1) unstable; urgency=low - - * New upstream release - * Remove RFC-4122 logic from Debian build rules (Closes: #407107) - * Fix com_err.texinfo so that the install-info command will remove - the com_err info file from the /usr/share/info/dir file when the - comerr-dev package is removed and purged (Closes: #401711) - * Fix divide-by-zero error in blkid's NTFS proving logic - * Add new blkid -g option which causes the blkid cache to be garbage - collected - * libblkid: Fix bug which could cause bid_type to be corrupted - * mke2fs: Add sanity check to make sure inode_size * num_inodes isn't too big - * Fix additional Coverity bugs in mke2fs and e2fsck - * Improve sanity check in e2fsck's algorithm for finding a backup superblock - * Fix e2fsck get_size logic so that it will work with the Linux floppy - driver (Closes: #410569) - * Fix error checking of badblock's last-block and start-block arguments - (Closes: #416477) - * e2fsck: avoid writing overwriting the backup superblocks until the - master superblock is confirmed to be sane - * Make the blkid library more paranoid about concluding a partition - contains a NTFS filesystem. (Addresses Launchpad Bug: #110138) - * Enhance e2fsck so it will recreate the ext3 journal if the original - journal inode was cleared to due being corrupt - * Fix e2fsck so that if the backup journal information is used, that - this is written out to the journal inode - * Make e2fsck check all of the blocks in the journal inode for validity - * blkid: Add support for detecting LUKS encrypted partitions - * e2fsck: added sanity check for xattr validation - * Fix byte-swapping bug for filesystems with large inodes - * Clarify the copyright licenses used by the various libraries in COPYING - * Remove RFC-4122 from upstream (Closes: #407107) - * Fix info-dir line which prevented install-info from removing - com_err entry from from /usr/share/info/dir when the comerr-dev - package is purged (Closes: #401711) - - -- Theodore Y. Ts'o Sun, 29 Jun 2007 22:40:27 -0400 - -e2fsprogs (1.39+1.40-WIP-2007.04.07+dfsg-2) unstable; urgency=low - - * Allow the journal to up to 10,240,000 blocks - * Fix blkid library to recognize MD 0.90 superblock on little endian - systems - * Fix blkid library to report the correct UUID from MD superblocks - * Fix signed vs. unsigned problem in debugfs' setb/testb/freeb commands - * Enhance debugfs's date parser so it accepts integer values - * Fix e2fsck's pass1c accounting so it doesn't terminate too early - if a file with multiply claimed blocks is hard linked. or not at - all if the root directory contains shared blocks - * Enhance debugfs so it can modify the block group descriptors using - the command set_block_group_descriptor - * Improve e2fsck's reporting of I/O errors so it's clearer what it - was trying to do when an error happens - * Fix a bug in how e2fsprogs byte swaps inodes containing fast - symlinks that have extended attributes. - * Fix potential file descriptor leak in ext2fs_get_device_size() - * Fix minor typo in e2fsck.conf.5 man page - * Cleanup udeb dependency (Closes: #419605) - * Rebuilding with libdevmapper 1.02.1 (Closes: #421022 and #421668) - * Add dependency on comerr-dev to ss-dev (Closes: #408352) - * Make mke2fs use sane defaults when /etc/mke2fs.conf doesn't exist - * Fix mke2fs and debugfs to support large (> 16 bit) uid's and gid's - * Fix spelling typo in debian package description for libblkid1 - (Closes: #399155) - * Remove -WIP language from the debian copyright file. (Closes: #415560) - * Remove check in e2fsck which required EA's in inodes to be sorted - (We should get this back-ported to the stable branch since - filesystems with large inodes will have EA's erroneously - removed, which will for example toast an SELinux system.) - - -- Theodore Y. Ts'o Sun, 6 May 2007 19:44:35 -0400 - -e2fsprogs (1.39+1.40-WIP-2007.04.07+dfsg-1) unstable; urgency=low - - * Add libreadline.so.5 support to libss. - * Improve badblocks -n/-w exclusive usage message. - * Add debugging code (via the COMERR_DEBUG env. variable) to the - com_err library - * Fix dump_unused segfault in debugfs when a filesystem is not open - * Add versioned dependency in Debian's shlibs for libblkid. - (Closes: #413208) - * Fix memory leak in blkid library. (Closes: #413661) - * Let the debugfs lcd command work even if a filesystem is not open - * Fix large number of miscellaneous Coverity bugs. (None were - security-security). - * Fix e2fsck to clear i_size for special devices with a bogus i_blocks - field on the first pass. - * Fix e2fsck to set the file type of the '..' entry when connecting - a directory to lost+found. - * Enhance e2fsck to recover directories whose modes field were - corrupted to look like special files. - * Allow debugfs to dump > 2GB files. (Closes: #412614) - * Misc. man page cleanups. (Closes: #379695) - * Fix resize2fs parsing of size parameter (Closes: #408298) - * Fix infinite loop in e2fsck on really big filesystems (Closes: #411838) - * Fix memory leak in ext2fs_write_new_inode() - * Add support for using a scratch files directory to reduce e2fsck's - memory utilization on really big filesystems. - - -- Theodore Y. Ts'o Sat, 7 Apr 2007 10:38:40 -0400 - -e2fsprogs (1.39+1.40-WIP-2006.11.14+dfsg-1) unstable; urgency=low - - * Fix spurious error from e2fsck -c and mke2fs -c caused by the fix - to #386475. - * Add dirhash signed/unsigned hint to superblock. (Closes: #389772) - * Allow unix_io offsets greater than 2 gigabytes - * Make sure mk_cmds and compile_et work even in strange locales - * Fix type-punning bug which caused dumpe2fs to crash on the Arm platform - (Closes: #397044) - * Add explanatory message to badblocks that -n and -w are mutually - exclusive. (Closes: #371869) - * New +dfsg source tarball that has useful documentation REALLY - removed to satisfy the DFSG License Nazi's. (Closes: #390664) - - -- Theodore Y. Ts'o Tue, 14 Nov 2006 23:45:34 -0500 - -e2fsprogs (1.39+1.40-WIP-2006.10.02+dfsg-2) unstable; urgency=low - - * Add failsafes against duplicate UUID generation caused by threads - * Fix potential e2fsck -n crash caused by corrupt htrees - * Reorder the library line for static linking, to fix undefined - references to pthreads on amd64. (Closes: #393680) - * Fix mke2fs's error checking when creating revision 0 filesystems. - (Closes: #392107) - - -- Theodore Y. Ts'o Sun, 22 Oct 2006 00:19:44 -0400 - -e2fsprogs (1.39+1.40-WIP-2006.10.02+dfsg-1) unstable; urgency=low - - * New +dfsg source tarball that has useful documentation removed to - satisfy the DFSG License Nazi's. (Closes: #390664) - * Remove dependency on e2fsprogs from the e2fsck-static package - (Closes: #383521) - * Fix badblocks interpretation of its first optional argument (last-block) - (Closes: #386475) - - -- Theodore Y. Ts'o Tue, 3 Oct 2006 23:36:05 -0400 - -e2fsprogs (1.39+1.40-WIP-2006.10.02-2) unstable; urgency=low - - * Build using the sid version of libc, not experimental! - - -- Theodore Y. Ts'o Mon, 2 Oct 2006 21:43:44 -0400 - -e2fsprogs (1.39+1.40-WIP-2006.10.02-1) unstable; urgency=low - - * Previous NMU acknowledged (Closes: #388718) - * Fix debugfs to print unsigned values for EA's - * Minor man page fixes (Closes: #373004, #369761) - * Allow the default inode size to be specified in mke2fs.conf - * Require mke2fs -F -F for really dangerous operations - * Add Vietnamese translation - * Update French and Dutch translations - * Fix debugfs coredump when lsdel is run without an open filesystem - (Closes: #378335) - * Fix spelling error in e2fsck output - * Fix overflow problems when the number of inodes and blocks is - close to 2**32-1 - * Add GFS/GFS2 support to the blkid library. - * Fix blkid support of empty FAT filesystem labels - * Avoid recursing forever due to symlinks in /dev by the blkid library - * Fix bogus error messages from resize2fs caused by the filesystem - not containing a resize inode. (Closes: #380548) - * Fixed device-mapper probing (it was failing due to an extra '/dev' being - added to the device pathname) - * Make sure the default minimum size journal is big enough to support - on-line resizing. - * Add a versioned build-dep on texi2html (Closes: #389554) - * Remove useful UUID specification thanks to License Nazi's (Closes: #390664) - - -- Theodore Y. Ts'o Mon, 2 Oct 2006 13:04:27 -0400 - -e2fsprogs (1.39-1.1) unstable; urgency=low - - * Non-maintainer upload - * Added -pthreads to devmapper libraries (Closes: #388718) - - -- Ben Hutchings Sat, 30 Sep 2006 12:49:47 +0100 - -e2fsprogs (1.39-1) unstable; urgency=low - - * New upstream version - * Fix debugfs's dump_unused command so it will not core dump on - filesystems with a 64k blocksize - * Clarified and improved man pages, including spelling errors - (Closes: #368392, #368393, #368394, #368179) - * New filesystems are now created with directory indexing and - on-line resizing enabled by default - * Fix previously mangled wording in an older Debian changelog entry - * Fix doc-base pointer to the top-level html file (Closes: #362544, #362970) - - -- Theodore Y. Ts'o Mon, 29 May 2006 11:07:53 -0400 - -e2fsprogs (1.38+1.39-WIP-2006.04.09-2) unstable; urgency=low - - * Resize2fs automatically detects the previously used RAID stride - parameter so that resized filesystems can be more optimally laid - out for RAID filesystems. - * Fix mke2fs -cc and e2fsck -cc (Closes: #366017) - * Fix initrd script to fix failure with 2.4 kernels (Closes: #364516) - * Mke2fs now uses an improved layout for RAID filesystems when the - stride parameter is specified. - * Fix the debugfs commands htree_dump, dx_hash, and list_dir so they - print a usage message when an illegal option character is given. - * Speed up mke2fs and e2fsck by writing inode and block bitmaps in one pass - * Fix filefrag to be 32-bit clean by using unsigned long instead of - a signed integer for block numbers. - * Fix a bug in the e2p library which could cause dumpe2fs to - (rarely) fail to print out the journal or hash seed UUID. - * Fix memory leak in e2fsck's error paths. - * Fix comerr-dev's doc-base pointer to the top-level html file - - -- Theodore Y. Ts'o Sun, 14 May 2006 18:09:20 -0400 - -e2fsprogs (1.38+1.39-WIP-2006.04.09-1) unstable; urgency=low - - * Update config.guess and config.sub to latest version (2006-02-23) from FSF - * Update French, Dutch, Polish, Swedish, and Turkish translations - * Fix asm/types.h type conflicts on AMD64 to fix FTBFS problems. - (Closes: #360661, #360317) - * Fix bug which caused mke2fs -j to fail with an EBUSY error. (Closes - #360652) - - -- Theodore Y. Ts'o Sun, 9 Apr 2006 23:04:15 -0400 - -e2fsprogs (1.38+1.39-WIP-2006.03.29-2) unstable; urgency=low - - * Added missing build dependency on libdevmapper-dev. (Closes: #360046) - - -- Theodore Y. Ts'o Thu, 30 Mar 2006 12:33:30 -0500 - -e2fsprogs (1.38+1.39-WIP-2006.03.29-1) unstable; urgency=low - - * Add udeb: lines to the Debian's shlibs files (Closes: #356293) - * Enhance dumpe2fs to print the size of the journal - * Fix e2sprogs so that it is 32-bit clean on x86 platforms. - * Fix mklost+ound so that it creates a full-sized directory on 4k and - larger block sizes. - * Add mke2fs.conf configuration file to configure mke2fs's defaults - * Add devmapper support to the blkid library. - * E2fsck, resize2fs and mke2fs will now open the filesystem device in - exclusive mode - * Fix documentation and man pages. (Closes: #351268, #357951, #347295, - #316040) - * Cix "mke2fs -O resize_inode" for very large filesystems (Closes: #346580) - * Add on-line resizing support into resize2fs - * Fix blkid's handling of verification timeouts when the system clock is - insane - * Fix library Makefiles so they work with GNU make 3.81 as well as GNU - make 3.80. - * Enhance the blkid library to display the uuid of external journals for - ext3 filesystems - * Enhance e2fsck so it will fix the external journal hint in the - superblock if it is out of date. - * Fix debugfs's icheck to correctly report the owner of an EA block - * Update Swedish translation - * Add a configuration parameter to e2fsck.conf to control whether or not - filesystem checks are done when the system is running on battery power. - * Print an explanation when skipping a check due being on battery - (Closes: #350306) - * Update French translation (Closes: #341911, #300871, #316604, #316782, - #330789) - - -- Theodore Y. Ts'o Wed, 29 Mar 2006 20:37:27 -0500 - -e2fsprogs (1.38+1.39-WIP-2005.12.31-1) unstable; urgency=medium - - * New upstream version - * Update profile library code base - - Allow tag and section names to have quoted strings - - Make the profile library support reading files in a conf.d directory - - Slightly change the parser to support comments at the end of all lines - - Add syntax error reporting - - Simplify profile code - - Add E2FSCK_CONFIG environment variable which overrides where to - find /etc/e2fsck.conf - - Make e2fsck's filesystem problem handing configurable - - Fix FTBFS bug if comerr-dev is not installed. (Closes: #345519) - * Update Dutch, Polish, and Swedish translations. (Closes: #343149) - * Fix a fd leak across an exec in libuuid. (Closes: #345832) - * Address override file disparities - * Make urgency be medium to accelerate a workaround to Debian's buggy - initscripts (See Debian bugs: #343662, #343645) - - -- Theodore Y. Ts'o Fri, 6 Jan 2006 21:41:06 -0500 - -e2fsprogs (1.38+1.39-WIP-2005.12.10-2) unstable; urgency=low - - * Make resize2fs expand or truncate a file containing a filesystem. - (Closes: #271607) - * Add support for lib64ext2fs-nopic.a for the mips architecture - (Closes: #329074) - * Deal with the fact that Debian's boot sequence bogusly doesn't set the - time correctly until very late in the boot process; so if the - superblock's last mount or write time is in the future, don't treat - this as a fatal error. (Closes: #343662, #343645) - * Move the blkid and uuidgen binaries out of libblkid1 and libuuid1 and - into the e2fsprogs package to support soname transitions and - simultaneous installs of multiarch flavors to coexist. (It's not worth - creating two whole new packages for two separate binaries, so we just - fold them into e2fsprogs.) (Closes: #330737, #330736) - * Optionally allow the user to interrupt e2fsck "safely" during a boot - sequence without causing the boot scripts to abort. (Closes: #150295) - * Update and clarify man pages (Closes: #312515) - - -- Theodore Y. Ts'o Sat, 31 Dec 2005 01:05:35 -0500 - -e2fsprogs (1.38+1.39-WIP-2005.12.10-1) unstable; urgency=low - - * Update and clarify man pages (Closes: #329859, #322188, #316811) - * Fix bug creating external journals on big-endian machines. - * Detect if the superblock's last mount time or last write time is in - the future, and offer to fix it if this is the case (Closes: #327580) - * Add new debugfs command, set_current_time which sets the time used to - update the filesystem's time fields. - * Fix display bug in badblocks -sw when printing the "done" message. - (Closes: #322231) - * Improve blkid's FAT/VFAT filesystem detection code so that it can find - labels stored the root directory and to be more correct/paranoid. - * Add support to extract iso9660 label information to the blkid library. - * Add support to detect the reiser4 filesystem to the blkid library. - * Add support for detecting software suspend partitions to the blkid library. - * Fix the blkid library to notice when an ext2 filesystem is upgraded to - ext3. - * Fix debugfs's set_inode_field so that successfully sets the i_size field - * Updated Dutch translation - * E2fsck will stop and print a warning if the user tries running a - read/write badblocks test on a read-only mounted root filesystem. - * Add resize2fs and badblocks to the e2fsprogs udeb - (Closes: #290429, #310950) - * Avoid trying to mount the root device if it is an NFS device. - (Closes: #310428) - - -- Theodore Y. Ts'o Sat, 10 Dec 2005 22:49:47 -0500 - -e2fsprogs (1.38-2) unstable; urgency=low - - * Previous NMU acknowledged (Closes: #317862, #320389) - * Fix debugfs's set_inode_fields command so it doesn't silently fail - when setting certain inode fields. - * Fix e2fsck from segfaulting on disconnected inodes that contain one or - more extended attributes. (Closes: #316736, #318463) - * Allow mke2fs and tune2fs to take fractional percentages to the -m - option in mke2fs and tune2fs. (Closes: #80205) - * Fix a compile_et bug which miscount the number of error messages if - continuations are used in the .et file, and fix compatibility problems - with MIT Kerberos 1.4 - * Add extra sanity checks to protect users from unusual circumstances - where /etc/mtab may not be sane, by checking to see if the device is - reported busy (works on Linux 2.6) kernels. (Closes: #319002) - * Fix use-after-free bug in e2fsck when finishing up the use of the - e2fsck context structure. - - -- Theodore Y. Ts'o Sun, 21 Aug 2005 23:35:29 -0400 - -e2fsprogs (1.38-1.1) unstable; urgency=low - - * NMU for RC bug during bug squishing party - * Fix for changes to texi2html, patch by Matt Kraai - (Closes: #317862, #320389) - * version build-depend on texi2html, won't work with older one anymore - - -- Blars Blarson Fri, 5 Aug 2005 04:46:54 +0000 - -e2fsprogs (1.38-1) unstable; urgency=low - - * New upstream version - * Fix ia64 core dump bug caused by e2fsprogs running afoul of C99 strict - type aliasing rules on newer gcc compilers. (Addresses Red Hat - Bugzilla ##161183.) - * Fix minor typo's in tune2fs man page. - * Mke2fs will refuse to create filesystems greater than 2**31-1 blocks, - unless forced, to avoid kernel bugs that still need to be fixed as - of this release. - * Update French, Dutch, Polish, Swedish, and Turkish translations. - - -- Theodore Y. Ts'o Wed, 30 Jun 2005 20:02:42 -0400 - -e2fsprogs (1.37+1.38-WIP-0620-1) unstable; urgency=low - - * Update and clarify man pages. - * Clarify and clean up e2fsck's problem descriptions - * Add Dutch translation, and update French, Polish, Swedish, and - Turkish translation. - * mke2fs and badblocks will check to see if the device appears to be - busy and abort if so; this feature only works on Linux 2.6 systems. - (Closes: #308594) - * Fix filefrag so that it works on 64-bit platforms where the size of - an integer != the size of a long. (Closes: #309655) - * Change the default journal size to be bigger for larger filesystems, - given modern memory sizes. - * Fix com_err library so it is compatible with MIT krb5 1.4. - - -- Theodore Y. Ts'o Mon, 20 Jun 2005 17:11:29 -0400 - -e2fsprogs (1.37+1.38-WIP-0509-1) unstable; urgency=low - - * Make the blkid library much more efficient when a new device is added - on systems with a huge number of disks. - * Fix handling of the PAGER and SS_READLINE_PATH environment variables - in the ss library, and the TEST_IO_* environment variables for the - test_io io_manager, which was accidentally broken in 1.37-1. - * Fix libblkid's recognition of cramfs filesystems, and add support for - cramfs labels. - * Fix filefrag to give correct results when the first block found is an - indirect block. (Closes: #307607) - * Fix debugfs seg fault when the stat command is given and a filesystem - is not open. - * Improve environment variable paranoia checks. - * Fix e2fsck's handling of multiply claimed blocks involving the resize - inode. - * When determining the libraries needed for the initrd, unset LD_PRELOAD - and LD_LIBRARY_PATH and filter out libraries found in - /etc/ld.so.preload. (Closes: #304003) - * Update Swedish translation, and added translation for Rwanda. - * Minor man page spelling/typo fixes. (Closes: #304591, #304592, - #304594, #304597, #304593) - - -- Theodore Y. Ts'o Mon, 9 May 2005 09:10:20 -0400 - -e2fsprogs (1.37-2) unstable; urgency=low - - * Fix filefrag so that it works non ext2/3 filesystems again. - (Closes: #303509) - * Make sure we include stdlib.h to fix a core dump bug in mke2fs on the - IA64 architecture (or other platforms where sizeof(ptr) > sizeof(int)) - (Closes: #302200) - * Add missing return values so that we don't return garbage in certain - error cases in ext2fs_write_new_inode() and ext2fs_read_int_block(). - * Fix minor spelling typo in the mke2fs man page - * Avoid doing the LOW_DTIME checks if the superblock last mount time - indicates that the system clock may not be set correctly. - * Add further paranoia checks to the blkid, ext2fs, and ss libraries to - make them safe to call from setuid or setgid applications. - - -- Theodore Y. Ts'o Sat, 9 Apr 2005 11:08:04 -0400 - -e2fsprogs (1.37-1) unstable; urgency=low - - * New upstream release. - * Fixed a bug in e2fsck so it would notice if a file with an extended - attribute block was exactly 2**32 blocks, such that i_blocks wrapped - to zero. - * Fixed a bug in filefrag which caused it to falsely report a - discontinuity when there are one or more unallocated blocks at the - beginning of a file. - * Fix the missing translations (caused by a bug in the gen-tarball - script). (Closes: #296769) - * Add support in e2fsck and debugfs for extended attributes in inodes. - * Fix the missing translations (caused by a bug in the gen-tarball script). - (Closes: #296769) - * Force compile_et and mk_cmds to use /usr/bin/awk so that we will work - on any Debian system regardless of which version of awk is installed. - (Closes: #299341) - - -- Theodore Y. Ts'o Thu, 21 Mar 2005 22:31:08 -0500 - -e2fsprogs (1.36release-1) unstable; urgency=low - - * New upstream release. - * Make filefrag print the first and last blocks when in verbose mode. - * Drop sparc assembly bitops; it's less efficient than gcc 3.4's - generated code, and it triggers compiler warnings on sparc 64. - (Closes: #232326) - - -- Theodore Y. Ts'o Fri, 4 Feb 2005 20:58:35 -0500 - -e2fsprogs (1.36rc5-1) unstable; urgency=low - - * Make blkid -t work more consistently even when the cache file is not - available or set to /dev/null. (Closes: #292425) - * Don't ever use a blocksize greater than 4k, since not all 2.6 kernels - will support this. - * Fix bug where mke2fs would not correctly create filesystems greater - than 4TB. - * Fix e2fsck so it won't delete symlinks that contain an extended - attribute after the ext_attr feature flag has been cleared. - * Fix e2fsck's resize inode handling in some additional corner cases. - - -- Theodore Y. Ts'o Thu, 27 Jan 2005 22:44:31 -0500 - -e2fsprogs (1.36rc4-1) unstable; urgency=low - - * Fix a bug in resize2fs where we don't release the blocks belonging to - the old inode table blocks when we move the inode table. - (Closes: #290894) - * Make sure that we don't write garbage when writing a large inode. - * Check NTFS ahead of other filesystems since Windows doesn't always - clearing enough of the partition to avoid false positives with older - filesystems. (Closes: #291990) - * E2fsck now checks the summary filesystem accounting information, and - if any of the information is obviously wrong, it will force a full - filesystem check. (Closes: #291571) - * Clarified and updated tune2fs and blkid man pages - * Fix e2fsck to not complain when the resize_inode feature is enabled, - s_reserved_gdt_blocks is zero, and there is no DIND block allocated in - the resize inode. - * Fix blkid -t to display all devices that match the specified criteria, - not just the first one. (Closes: #290530) - * Add support for the blkid library to recognize Oracle ASM volumes. - * Add set_super_value jnl_blocks[] in debugfs. - * Fix the filefrag program so that it works correctly with sparse files. - * Fix portability problems with FreeBSD, Solaris, and Intel C++ 8.1. - * Add support for FreeBSD and Lites as OS Creator values. - - -- Theodore Y. Ts'o Wed, 26 Jan 2005 10:22:02 -0500 - -e2fsprogs (1.36rc3-2) unstable; urgency=low - - * Remove debugging printf's from e2image's -s code. - - -- Theodore Y. Ts'o Wed, 19 Jan 2005 02:25:53 -0500 - -e2fsprogs (1.36rc3-1) unstable; urgency=low - - * New upstream release - * Update Italian, French, and Turkish translations - * Fixed file descriptor leak in the filefrag program - * Add -s option to e2image which scrambles directory entries when making - raw image files - * Make sure e2fsck doesn't crash if /proc/acpi/ac_adapter does not - exist - * Added Solaris, FreeBSD portability fixes - - -- Theodore Y. Ts'o Wed, 19 Jan 2005 00:33:31 -0500 - -e2fsprogs (1.36rc2-1) unstable; urgency=low - - * New upstream release - * Update Italian translation - * Add support for swap partition labels and uuid's - - -- Theodore Y. Ts'o Tue, 11 Jan 2005 14:12:17 -0500 - -e2fsprogs (1.36rc1-1) unstable; urgency=low - - * Fix a FTBFS bug for amd64/gcc-3.0 (Closes: #289133) - * Minor man page clarifications. (Closes: #273679) - * Add support for online resizing via the resize inode. - * Badblocks will now correctly display block numbers greater than - 999,999,999 in its progress display. - * tune2fs will not allow the user from setting a ridiculous number of - reserved blocks which would cause e2fsck to assume the superblock - was corrupt. E2fsck's standards for what is a ridiculous number - of reserved blocks has also been relaxed to 50% of the blocks in - the filesystem. - * The blkid library will return vfat in preference to msdos, and ext3 in - preference to ext2 (if the journalling flag is set) so that mount - will do the right thing. (Closes: #287455) - * The fsck program will now accept an optional filedescriptor argument - to the -C option. - * Mke2fs will now use the -E option for extended options; the old -R - (raid options) option is still accepted for backwards compatibility. - * Fix a double-free problem in resize2fs. (Red Hat Bugzilla #132707) - * Mke2fs will now accept a size in megabytes or gigabytes (via "32m" or - "4g" on the command line) if the user finds this more convenient - than specifying a block count. - * Fix an obscure, hard-to find bug in "e2fsck -S" caused by an inode - cache coherency problem. - * Debugfs now supports a new command, set_inode_field, which allows a - user to manually set a specific inode field more conveniently, as - well as set entries in the indirect block map. - * Debugfs's set_super_value command has been enhanced so that the user - can set most superblock fields, including the date/time fields and - some of the more newly added superblock fields. - * E2fsprogs programs now accept an offset to be passed to the file - specifiers, via the syntax: "/tmp/test.img?offset=1024" - * E2fsprogs will now accept blocksizes up to 65536; kernel support on - the x86 doesn't exist, but it is useful on other architectures. - * Fix bug in debugfs where kill_file would lead to errors when deleting - devices and symlinks. (Sourceforge Bugs #954741 and #957244) - * Fix bug in the blkid library when detecting the ocfs1 filesystem - * Updated Italian translation file - * E2fsck will now recover from a journal containing illegal blocks. - - -- Theodore Y. Ts'o Fri, 7 Jan 2005 20:22:36 -0500 - -e2fsprogs (1.35-9) unstable; urgency=low - - * Minor man page clarifications. (Closes: #273679) - - -- Theodore Y. Ts'o Tue, 28 Sep 2004 10:29:29 -0400 - -e2fsprogs (1.35-8) unstable; urgency=low - - * Remove double "//" when listing attributes in the root directory or - when there is a trailing '/' in the directory name. (Closes: #272943) - * Make sure the configure files are newer than configure.in the - debian/rules file so that a dpkg-source created patch won't - trigger an attempt rebuild of the configure script. - (Closes: #272558, #273242) - * Make sure /usr/lib/e2initrd_helper is in the e2fsprogs package. - (Closes: #272698, #272728, #273161, #273163) - * Only use blocksizes > 4k on Linux 2.6 and newer systems. (Closes: #271064) - - -- Theodore Y. Ts'o Sat, 25 Sep 2004 07:37:52 -0400 - -e2fsprogs (1.35-7) unstable; urgency=low - - * Make sure "done" gets correctly translated in badblocks(8), and update - French translation (Closes: #252836) - * Always build the fsck wrapper on Debian systems (Closes: #248050) - * Filter out linux-gate.so, which is a pseudo entry for the 32->64bit - translation for amd64 systems, in the initrd creation script. - (Closes: #253595) - * Change the initrd scripts to be use a helper program which avoids - needing to mount the root filesystem and use awk to query the - /etc/fstab file. (Closes: #247775) - * Add support for the ocfs2 filesystem to the blkid library. - * Various portability fixes for Hurd and FreeBsd, as well as - removing XSI:isms. (Closes: #256669, #264630, #269044, #255589) - * Update config.guess and config.sub from the FSF. - * Minor manual page clarifications (Closes: #268148) - * Fix write ordering problems to make e2fsck more robust in the face - of system crashes while replaying the journal, etc. - * Fix debugging printf in resize2fs. (Closes: #271605) - * Add debugfs -d option to use a separate source of data blocks when - reading from an e2image file. - * Add e2image -I option which allows the e2image metadata to be - installed into a filesystem. - * Change e2fsck to accept directories greater than 32MB. - * Add test_io mechanisms to abort after reading or writing to a - particular block. - * Fix blkid file descriptor and memory leak. - - -- Theodore Y. Ts'o Sat, 18 Sep 2004 09:58:46 -0400 - -e2fsprogs (1.35-6) unstable; urgency=low - - * In the mkinitrd script, make sure the directories exist before - trying to copy in the needed shared libraries. (Closes: #244058, #246480) - * In the mkinitrd script, use LD_ASSUME_KERNEL=2.4 if necessary. - (Closes: #245931) - * In the mkinitrd script copy in /usr/bin/awk instead of /usr/bin/mawk. - (Closes: #245670) - * In the initrd script, fail quietly if /mnt/etc/fstab does not exist. - (Closes: #246917) - * Minor updates to German translation (Closes: #244105) - * Since woody's sysvinit package is before the initscripts were broken out - we need an explict Conflict: sysvinit (<< 2.85-4) header. (Closes: #243829) - * Update the UUID library man pages - * Fix a Y8.8888K potential problem with the uuid library - * Minor updates to the German translation - * Clarified/corrected the copyright statements of the UUID and blkid - libraries in the Debian copyright files. - * Added sanity check to the blkid library so that if current time is - less than last time a device is verified, force a reverification since - it means the system time is not trustworthy. - - -- Theodore Y. Ts'o Tue, 4 May 2004 16:23:06 -0400 - -e2fsprogs (1.35-5) unstable; urgency=low - - * Add uuid_unparse_upper() and uuid_unparse_lower() functions to the - uuid library. - * Address GNU/KFreeBSD portability issues (Closes: #239934) - * Use unsigned for 1 bit wide bitfields in header files to avoid - Intel C++ compiler warnings. - * Use C99 stdint.h types in the uuid library - * Fix up and cleanup uuid man pages - * Change the licensing of the uuid man pages to be 3-clause BSD. - * Fix the initrd scripts so that the automatic ext3 journal - conversion actually works correctly; also allow conversion of the root - filesystem from ext3 back to ext2 (Closes: #241183) - * Minor man page fixes (Closes: #241940, 242995) - * Use the DEBUGFS_PAGER environment variable in preference to PAGER - (Closes: #239547) - * Added French translation - * Be flexible about the name of the ACPI device that corresponds to - the AC adapter (Closes: #242136) - - -- Theodore Y. Ts'o Mon, 12 Apr 2004 12:38:34 -0400 - -e2fsprogs (1.35-4) unstable; urgency=low - - * Fix bug in the blkid library (introduced in 1.35-3) which caused - the probe function to completely malfunction. (Closes: #239191) - * Make the debugfs command's link command set the filetype information - correctly. - * Update the Polish, Swedish, and Turkish translations - * Add an -o option to the blkid program which allows the user to - control the output format of blkid. - * Fixed and cleaned up the tune2fs and blkid man pages (Closes: #238741) - * Improve UUID generation algorithm (use all 14 bits in the clock sequence) - * Change the license on the UUID library to be 3-clause BSD. - * Remove the only-partially-implemented -p option to blkid. - - -- Theodore Y. Ts'o Sun, 21 Mar 2004 20:17:03 -0500 - -e2fsprogs (1.35-3) unstable; urgency=low - - * Mention e2image's limitation in writing a normal image file to - stdout (Closes: #236383) - * Only use BLKGETSIZE64 on Linux 2.6 since it is unreliable on Linux 2.4. - (Closes: #236528) - - -- Theodore Y. Ts'o Mon, 8 Mar 2004 14:19:15 -0500 - -e2fsprogs (1.35-2) unstable; urgency=low - - * Use 64-bit ioctl's if present to determine the 64-bit size of a device - * Add tune2fs to the e2fsprogs udeb package (Closes: #235639) - - -- Theodore Y. Ts'o Tue, 2 Mar 2004 10:13:39 -0500 - -e2fsprogs (1.35-1) unstable; urgency=low - - * New upstream version. - * Fix "badblocks -t random". (Closes: #234828) - * Fix "e2fsck -k". (Closes: #234993) - * Change badblock's default number of blocks tested at once from - 16 to 64. (Closes: #232240) - * ss-dev and comerr-dev now use a versioned dependency for libss2 and - libcomerr2, respectively. (Closes: #235280) - - -- Theodore Y. Ts'o Sat, 28 Feb 2004 10:14:19 -0500 - -e2fsprogs (1.34+1.35-WIP-2004.01.31-2) unstable; urgency=low - - * Add a new -k option to e2fsck which keeps the existing badblocks - list when using the -c option. (Closes: #229103) - * Update debugfs to support new large major/minor device numbers - supported by Linux 2.6. (Closes: #865289) - * Fix makefiles so that it will build correctly with --enable-profile. - * Add -mieee when compiling with GCC on an Alpha. - * Fix e2fsck preen mode messages using pass 1B/C/D. - * Fix the debugfs man page. (Closes: #232406) - * Fix the ext2fs.h header file to work correctly with C++. - * e2fsck and debugfs now correctly deals with symlinks that have - extended attribute information, such as those created by SE Linux. - (Closes: #232328) - * Make sure filefrag actually gets compiled under Linux (Closes: #230992) - - -- Theodore Y. Ts'o Tue, 24 Feb 2004 00:16:43 -0500 - -e2fsprogs (1.34+1.35-WIP-2004.01.31-1) unstable; urgency=medium - - * Fix byte swap bugs in e2fsck that caused the journal backup location - in the superblock and symlinks created by SE Linux to be cleared - by e2fsck on big-endian machines. (Closes: #228723) - * Chattr now stops processing options when it sees '--'. (Closes: #225188) - * Add FreeBSD port fixups - * Use the DEBUGFS_PAGER environment variable in preference to PAGER. - Document that less is a really, really, really bad pager to use - for debugfs (unfortunately, Debian policy says we must use - /usr/bin/pager even if it results in very annoying behaviour for - the user since 'less' is used in preference to 'more' unless it is - globally overridden via update-alternatives(8). Oh, well. Debian - users are encouraged to set DEBUGFS_PAGER to be "more" in their - dot files to avoid this brain damage). - * Fix libuuid1-udeb so that it provides libuuid1. (Closes: #229633) - * Fix bug in uuid library when there is no network card and the - library is generating a time-based uuid. The random MAC address - was not correctly generated to be a multicast address. - * Install the filefrag program. - * Don't try to compile filefrag on non-Linux platforms. (Closes: #226456) - * Minor manual page clarifications (Closes: #222606, #214920) - - -- Theodore Y. Ts'o Sat, 31 Jan 2004 20:57:35 -0500 - -e2fsprogs (1.34+1.35-WIP-2003.12.07-2) unstable; urgency=low - - * Fix test for /etc/mkinitrd/scripts/e2fsprogs to make sure it gets - removed. (Closes: #213275) - * Debugfs now searches for the appropriate pager to use, beginning - with /usr/bin/pager, and then falling back to 'less' and 'more'. - (Closes: #221977) - * Fixed mangled encoding in Czech locale file. (Closes: #214633) - * Fix bug where using debugfs to copy a file from /dev/null caused - in correct mode bits. (Closes: #217456) - * Fixed a bug where e2fsck would bomb out if a journal needed to be - replayed when using an alternate superblock. - * Minor manual page fixups/cleanups. - * Debugfs's mkdir command will automatically expand the directory if - necessary. (Closes: #217892) - * Fix a bug in e2fsck which caused it to incorrectly fix a filesystem - when reconnecting a directory requires creating a lost+found - directory. (Closes: #219640) - * Add Spanish translation. - - -- Theodore Y. Ts'o Wed, 24 Dec 2003 14:24:14 -0500 - -e2fsprogs (1.34+1.35-WIP-2003.12.07-1) unstable; urgency=medium - - * Added regression tests for mke2fs and dumpe2fs. - * Support 2.6 kernel header files. (Closes: #221778) - * Fix bug which could a core dump if a non-existent LABEL or UUID - specifier is passed to e2fsck or tune2fs. - * Fix handling of corrupted indirect blocks in the bad block inode. - * If the number of mounts until the next forced filesystem check is less - than 6, mention this to the user. (Closes: #157194) - * E2fsck will try to avoid doing a forced filesystem check if a system - is running on batteries according to APM or ACPI. (Closes: #205177) - * Fix problems in the German translation. (Closes: #2000086) - * Updated Swedish translation and added Polish translation. - * Fix signed vs unsigned bug which could cause the com_right function to - seg fault. (Closes: #213450) - * Add libuuid1-udeb (Closes: #221777) - - -- Theodore Y. Ts'o Sat, 22 Nov 2003 11:51:13 -0500 - -e2fsprogs (1.34+1.35-WIP-2003.08.21-3) unstable; urgency=low - - * Adjust the man page descriptions so that "apropos ext2" or - "apropos ext3" will find all of the e2fsprogs man pages. - (Closes: #206845) - * Protect against a potential core dump in e2fsck when printing a - message about a backup superblock. - * Fix a bug in mke2fs which caused -T largefile or -T largefile4 to - core dump due to a division by zero error. (Closes: #207082) - * Force e2fsprogs to use the matched version of e2fslibs. (Closes: #208103) - - -- Theodore Y. Ts'o Sun, 31 Aug 2003 21:49:52 -0400 - -e2fsprogs (1.34+1.35-WIP-2003.08.21-2) unstable; urgency=low - - * When moving the journal or backing up the journal inode - information, make sure e2fsck updates all the superblocks, and not - just the master superblock. - * Change the priority of libblkid1-udeb to be required instead of - standard, to match the override file. - - -- Theodore Y. Ts'o Thu, 21 Aug 2003 08:50:34 -0400 - -e2fsprogs (1.34+1.35-WIP-2003.08.21-1) unstable; urgency=low - - * Fix compile_et to output the correct prototype for - initialize_xxx_err_table_r() in the header file. (Closes: #204332) - * E2fsck will avoid printing ^A and ^B characters bracketing the - progress bar when stdout is a tty device. (Closes: #204137) - * Add support for storing the journal inode location in the superblock - so that e2fsck can recover from a corrupted inode table after a power - failure. - * Move the initrd script from /etc/mkinitrd/scripts to - /usr/share/initrd-tools/scripts so that mkinitrd will not remove - the file when it is uninstalled. (Closes: #204019) - * Remove unneeded files in debian directory: blkid-dev.substvars and - e2fsprogs-bf.lintian-overrides. (Closes: #203914) - * Support "noopt" in DEB_BUILD_OPTIONS instead of "debug". - (Closes: #203914) - - -- Theodore Y. Ts'o Thu, 21 Aug 2003 01:47:58 -0400 - -e2fsprogs (1.34+1.35-WIP-2003.08.01-1) unstable; urgency=low - - * Fix O_DIRECT test to prevent badblocks from screwing up after - finding a bad block. (Closes: #203713) - * Add Heimdal compile_et extensions from Philipp Thomas (pthomas@suse.de) - * Fix potential pointer aliasing bugs caused by type-punning and gcc 3.x - - -- Theodore Y. Ts'o Fri, 1 Aug 2003 13:44:58 -0400 - -e2fsprogs (1.34-2) unstable; urgency=low - - * Fix erroneous reference to /usr/share/doc/e2fsprogs/html-info in - /usr/share/doc-base/libext2fs (Closes: #203157) - * Explicitly specify the version of libblkid1 needed in - e2fsprogs.shlibs.local in order to avoid picking up the wrong dependency. - (Closes: #203157) - * Changed priority of libblkid1-udeb to be standard, not required. - - -- Theodore Y. Ts'o Wed, 30 Jul 2003 19:47:32 -0400 - -e2fsprogs (1.34-1.1) unstable; urgency=low - - * Non-maintainer upload. - * don't call ldconfig in udebs. - * fix dependencies of e2fsprogs-udeb. - - -- Bastian Blank Tue, 29 Jul 2003 12:11:54 +0200 - -e2fsprogs (1.34-1) unstable; urgency=low - - * New upstream version. - * Fixed bug in fsck which caused it to waste CPU by spinning while - waiting for a child fsck process under some circumstances. - * Fixed bug in blkid library which would cause it to spin forever if - /proc is not mounted and /etc/blkid.tab is not present. - * Improved the blkid library's UDF's probing functions. - * Fixed the blkid library so it will remove delete the LABEL - attribute from its cache when a filesystem that previously had a - label no longer has one. - * Added Swedish translation. - * Remove debugging printf in badblocks program (Closes: #201499) - * Split shared libraries out of the e2fsprogs package into separate - packages: libss2, libcomerr2, libuuid1, and e2fslibs. (Closes: #201155, - #201164) - * Warn the user when creating a filesystem with a journal and a blocksize - greater than 4096, since some kernels don't support ext3 with large - block sizes. (Closes: #193773) - - -- Theodore Y. Ts'o Sat, 26 Jul 2003 01:01:55 -0400 - -e2fsprogs (1.33+1.34-WIP-2003.05.21-2) unstable; urgency=low - - * Set up FreeBSD configuration defaults (Closes: #195274) - * Clarify resize2fs man page (Closes: #195616) - * Fix resize2fs to deal with filesystem with bad blocks - * Fix spelling error in e2fsck - * Add workaround for intl library on Darwin - * Fix gcc -Wall nitpicks - * Round down the default size of the filesystem for mke2fs and - resize2fs to be a multiple of the pagesize to work around a potential - Linux kernel bug - * Fix bug in mke2fs where it could die with a floating exception if - the device does not support the BLKSSZGET ioctl (Closes: #196734) - * Add conflicts against older versions of sysvinit that don't correctly - handle an exit code that has the bit #2 set. (Closes: #183675) - * Badblocks will attempt to use O_DIRECT if it is safe to do so. - (Closes: #198006) - * Use symbolic links for fsck.ext{2,3} and mkfs.ext{2,3} in the udeb - package since busybox tar can't deal with hard links. (Closes: #196508) - - -- Theodore Y. Ts'o Sat, 12 Jul 2003 03:16:08 -0400 - -e2fsprogs (1.33+1.34-WIP-2003.05.21-1) unstable; urgency=low - - * Fix problems with compiling e2fsprogs with NLS support on woody - (Closes: #193372) - * Remove the extraneous de-utf.po file. - * Add get-text to build-depends. - * Use ngettext (abbreviated with P_()) to simplify the statistics reporting. - * Fix badblocks to be able to support arbitrary 4 byte test patterns. - * Fix bug which caused us to accidentally include the EVMS plugin in - the e2fsprogs package (which doesn't work, but causes confusing messages - to show up when the evms client is started). - * If the hardware sector size of a device is larger than the default - blocksize, use the hardware sector size as the blocksize when creating - a filesystem, to solve problems with s/390 DASD's. - * Add a shared library dependency to libuuid to libblkid (Closes: #194094) - * Add initial implementation of a dump_unused command (Closes: #79164) - - -- Theodore Y. Ts'o Sun, 18 May 2003 01:24:16 -0400 - -e2fsprogs (1.33-5) unstable; urgency=low - - * Clarify blocksize units when displaying messages in resize2fs, and - support using suffixes (sectors, kilobytes, megabytes, gigabytes) - to the size parameter to indicate units. (Closes: #189814) - * Fix debugfs core-dumping problem caused by getopt. (Works around: #192834) - * Add package dependency to shlibs for comerr to indicate support - for kth compatibility. (Closes: #193096) - - -- Theodore Y. Ts'o Tue, 13 May 2003 23:45:08 -0400 - -e2fsprogs (1.33-4) unstable; urgency=low - - * Add replaces field to comerr-dev to resolve a file conflict with - /usr/include/com_err.h and the libkrb5-dev package. (Closes: #192277) - * Add -t option to badblocks to control the test pattern used. - * Remove e2fsprogs-bf package, as it is obsolete. (Closes: #183453) - * Remove NLS support from e2fsprogs-udeb. Save 5.5k on the boot - floppies / install media. - - -- Theodore Y. Ts'o Thu, 8 May 2003 10:25:05 -0400 - -e2fsprogs (1.33-3) unstable; urgency=low - - * Add full Heimdall/Kerberos4-kth compatibility to com_err routines. - * Declare comerr-dev as replacing << e2fslibs-dev 1.33-2, to avoid - errors when upgrading to the new versions of comerr-dev and - e2fslibs-dev - - -- Theodore Y. Ts'o Tue, 6 May 2003 00:29:47 -0400 - -e2fsprogs (1.33-2) unstable; urgency=low - - * Fix up NLS support - - Fix message abbreviations support (i.e., @g --> group) - - Update to gettext 0.11.5 - - Add Czech translation - - Install message catalogs - - Other miscellaneous NLS bug fixes - * Add new debugfs command, imap, which prints the location of a - specified inode in the inode table. - * Put /usr/include/com_err.h in comerr-dev instead of e2fslibs-dev. - (Closes: #191899) - * Add support for OV-style continuations in compile_et. (Closes: #191900) - - -- Theodore Y. Ts'o Mon, 5 May 2003 18:13:12 -0400 - -e2fsprogs (1.33-1) unstable; urgency=low - - * New upstream version (Closes: #189687) - - -- Theodore Y. Ts'o Mon, 21 Apr 2003 13:49:52 -0400 - -e2fsprogs (1.32+1.33-WIP-2003.04.14-1) unstable; urgency=low - - * New upstream version - - Add new utility program, logsave, to capture the output of fsck - during the boot sequence - * Add support for the -a and -s options to logsave. - * Change e2fsck to bracket its progress bar output with ctrl-A and ctrl-B - characters, so that logsave -s can omit writing the progress bar output - to the log file. - * Avoid printing the version banner for mke2fs if the -q option is - specified. (Closes: #172716) - - -- Theodore Y. Ts'o Wed, 16 Apr 2003 15:27:20 -0400 - -e2fsprogs (1.32+1.33-WIP-2003.03.30-3) unstable; urgency=low - - * Provide /usr/include/com_err.h, which was previously provided by the - libkrb5-dev package - * Change the section of com_err-dev, ss-dev, uuid-dev, libblkid-dev, - e2fslibs-dev to libdevel - * Add libblkid1-udeb package for the Debian Installer. - * Use the SS_READLINE_PATH environment variable to control the search - for a suitable readline library. - * Fix bug in mke2fs, which was was incorrectly checking the argument - to the -g option if the default block size is used. (Closes: #188319) - * Update man pages. (Closes: #188318) - * Mke2fs can be given a minimum block size by passing in a negative - number to the -b option. - * Update to standards 3.5.9 - - -- Theodore Y. Ts'o Sat, 12 Apr 2003 02:52:17 -0400 - -e2fsprogs (1.32+1.33-WIP-2003.03.30-2) unstable; urgency=low - - * Fix XFS superblock definition. Add support to extract UUID and - labels for JFS and ROMFS. - * Make the random number generator more paranoid about potentially buggy - /dev/random devices. - * The badblocks program now flushes its output as it discovers bad blocks. - * Imported bug fixes to EVMS driver from the EVMS 2.0 tree. Fixed a - few potential hangs, and eliminated a file descriptor leak. - * E2fsck now updates the global free block and inode counters from - the block group specific counters quietly. This is needed for an - experimental kernel patch which improves SMP scalability by not - locking the entire filesystem during block or inode allocation; if - the filesystem is not unmounted cleanly, the global counts may not - be accurate. - * Fix a bug in fsck which can cause it to hang trying to access the - floppy disk if there the floppy drive has filesystem type of - 'auto'. (Closes: #187812) - - -- Theodore Y. Ts'o Sun, 6 Apr 2003 23:13:50 -0400 - -e2fsprogs (1.32+1.33-WIP-2003.03.30-1) unstable; urgency=low - - * Change compile_et to generate header files that use - instead of , so the current version of the header file - is used. Remove legacy K&R, varargs, and pre-POSIX signal support. - * Fix (one more time!) Apple Darwin port in blkid/getsize.c - - -- Theodore Y. Ts'o Sun, 30 Mar 2003 23:34:55 -0500 - -e2fsprogs (1.32+1.33-WIP-2003.03.25-1) unstable; urgency=low - - * New maintainer - * New upstream release (Closes: #176814, #174766, #166048, #179671, - #173612, #175233, #175113, #170497, #185945) - - -- Theodore Y. Ts'o Sun, 16 Mar 2003 18:05:08 -0500 - -e2fsprogs (1.32-2) unstable; urgency=high - - * Applied upstream patch to fix htree problems, and to deactivate it by - default in mke2fs (Closes: #181615, #179043) - * Be sure removal of libe2fsim doesn't fail, as it's not built on hurd - (Closes: #164117). - - -- Yann Dirson Fri, 21 Feb 2003 00:21:44 +0100 - -e2fsprogs (1.32-1) unstable; urgency=low - - * New upstream release (Closes: #167108). - - -- Yann Dirson Tue, 19 Nov 2002 00:18:09 +0100 - -e2fsprogs (1.29+1.30-WIP-0930-2) unstable; urgency=low - - * Made mkinitrd script to skip commented-out lines (Closes: #163251). - - -- Yann Dirson Tue, 15 Oct 2002 00:16:08 +0200 - -e2fsprogs (1.29+1.30-WIP-0930-1) unstable; urgency=low - - * New upstream prerelease. - * Replaced in mkinitrd script "tune2fs -j" with "tune2fs -O - has_journal", as suggested by Theodore Ts'o (Closes: #162949). - * Remove --disable-debugfs from mips-nopic flags (Closes: #162674). - - -- Yann Dirson Thu, 3 Oct 2002 00:05:36 +0200 - -e2fsprogs (1.29-1) unstable; urgency=low - - * New upstream release (Closes: #159423). - * Fixed typo in chattr manpage (Philipp Matthias Hahn, Closes: - #162297). - * Generate udeb package for debian-installer (Martin Sjoegren, Closes: - #162212). - * Fixed installation of mkinitrd script (don't use dh_install). Remove - it from the wrong location where it was, in preinst. Hopefully no one - noticed. - * Also have old scripts/e2fsprogs.mkinitrd removed. - * Bumped Standards-Version to 3.5.6, no change. 3.5.7 will need a bit - of work but not tonight. - - -- Yann Dirson Thu, 26 Sep 2002 01:46:25 +0200 - -e2fsprogs (1.28-5) unstable; urgency=low - - * The "this time it will work ! (famous last words)" release. - * Now that it builds, ensure the dir in which we install this damn mips - non-pic lib exists. - - -- Yann Dirson Tue, 17 Sep 2002 00:04:49 +0200 - -e2fsprogs (1.28-4) unstable; urgency=low - - * Moved setting of CFLAGS to the correct place when building the special - mips non-pic lib (Closes: #159757 again). - - -- Yann Dirson Sun, 15 Sep 2002 21:19:19 +0200 - -e2fsprogs (1.28-3) unstable; urgency=low - - * Don't use special cflags at configure time when building the special - mips non-pic lib, in yet another attempt to fix my adaptation of the - patch from the mips team. Also added --disable-nls which was present - in the original patch. - * Remove debian/BUILD-MIPS on clean. - * Install mkinitrd script as scripts/e2fsprogs, not as - scripts/e2fsprogs.mkinitrd. - - -- Yann Dirson Mon, 9 Sep 2002 23:01:31 +0200 - -e2fsprogs (1.28-2) unstable; urgency=low - - * Fixed my adaption of the mips non-pic build (Closes: #159757). - - -- Yann Dirson Fri, 6 Sep 2002 00:03:45 +0200 - -e2fsprogs (1.28-1) unstable; urgency=low - - * New upstream release. - - -- Yann Dirson Mon, 2 Sep 2002 23:34:55 +0200 - -e2fsprogs (1.27+1.28-WIP-0817-1) unstable; urgency=low - - * New upstream pre-release. Closes: #138003, #144621, #145044, #151990, - #152029, #152891, #155007, #131350, #147256, #153102. - * New binary: findfs. - * Added execute permissions to the mkinitrd script (thanks lintian). - * Don't ship FSIM for EVMS for now. - - -- Yann Dirson Sun, 25 Aug 2002 19:32:12 +0200 - -e2fsprogs (1.27+1.28-WIP-0626-2) experimental; urgency=low - - * Remove bogus shlibs deps on "e2fsprogs (>= )" - - -- Theodore Y. Ts'o Sat, 17 Aug 2002 17:59:17 -0400 - -e2fsprogs (1.27+1.28-WIP-0626-1) experimental; urgency=low - - * New upstream pre-release: - ** Supports v2 ACL format (Closes: #138160). - * Removed explicit --mandir flag, as it now uses FHS man location by - default. - * Added mkinitrd script, "upstream-contributed" ;) by Ted Ts'o (Closes: - #148064). - * Build a no-pic version of libext2fs.a on mips and mipsel, patch by - Florian Lohoff, adapted for style consistency (Closes: #145432). - * Removed presumably-useless and presumably-broken CFLAGS propagation. - If someone misses that, I'll add ${CFLAGS} to --ccopts. - - * Switched to debhelper v4. - * Added ${misc:Depends} to all packages' Depends field. - - * Fixed typos in fsck.8, added an example for clarity (Closes: - #145044). - * Fixed typo in chattr manpage (Closes: #141938). - * Fixed typo in tune2fs manpage (Closes: #148514). - - -- Yann Dirson Tue, 23 Jul 2002 00:12:33 +0200 - -e2fsprogs (1.27-2) unstable; urgency=medium - - * Urgency medium since this fixes a RC bug. - * Generate the shlibs file instead of just copying it in place, and make - it produce deps on "e2fsprogs (>= )" as well, to cope with - new functions introduced in the libs (Closes: #139274). - * Added a note on this in README.Debian. - - -- Yann Dirson Thu, 21 Mar 2002 23:58:48 +0100 - -e2fsprogs (1.27-1) unstable; urgency=low - - * New upstream release (Closes: #136737). - * No more use for dh_link'ing *.ext[23], it's now done by upstream - Makefiles. - * Only include (new) inode_io.o from libext2fs when fileio.o is, or the - BF build fails because of this additional (unused) member (upstream - hint). - - -- Yann Dirson Mon, 11 Mar 2002 00:17:32 +0100 - -e2fsprogs (1.26-3) unstable; urgency=low - - * Simple rebuild after fixing the settings of my computer's clock, so - that katie accepts to install the package. - - -- Yann Dirson Sat, 23 Feb 2002 14:53:15 +0100 - -e2fsprogs (1.26-2) unstable; urgency=low - - * Applied upstream patch dealing with the rlimit filesize variation - among archs and kernel versions (Closes: #133909). - * Create fsck.ext3.8 symlink (Closes: #121526). - - -- Yann Dirson Sat, 23 Feb 2002 06:44:02 +0100 - -e2fsprogs (1.26-1) unstable; urgency=low - - * This uploads fixes 10 bugs, including data-corruption problems, and - adds much to the ease of maintenance and problem tracking. Good - choice for woody. - - * New upstream release (Closes: #106622, #116975, #118443, #119624, - #120171, #120077, #129828, #132764). - ** Fixes for data-corruption bugs not reported to the BTS: e2fsck - trashed external journals needing to be replayed, e2fsck now hides - visible journal files (data corruption problems when not excluded from - a backup and then restored) (Closes: #132654). - ** Other noticeable bugs fixed include: e2fsck null pointer - dereferencing, fsck did not finds LVM volumes by UUID or by label, - largefile support (ie. dealing with filesystems inside 2GB+ files) was - broken in several programs. - * Switch to debhelper v3 to get ldconfig automatically handled - (lintian reported that it was broken). Now call dh_makeshlibs, but - still override its generated shlibs file with ours, to get compiled - packages depend of the correct virtual packages, which include - full sonames. - * Removed call do dh_installman (Closes: #115526). - * Cleaned up maintainer scripts with dead code - most things are now - more properly handled by debhelper. Removed an "exit 0" lurking in - preinst - can't find a reason for it in the changelog, it was probably - here for ages. - * Remove obsolete maint-scripts in binary-arch, as they are provided by - upstream. - * Also remove upstream-shipped config.cache before configuring. That - shouldn't impact us, but well, that makes lintian happy :) - - -- Yann Dirson Fri, 8 Feb 2002 06:12:35 +0100 - -e2fsprogs (1.25-1) unstable; urgency=high - - * New upstream bugfix release (Closes: #112414), targeted to woody. - * com_err.info provided again now that it was fixed upstream. - * Added metainfo to com_err.texinfo so that it gets indexed correctly - (thanks lintian). Moved @setfilename and @settitle to the top so that - things get output as expected. - * Added lintian overrides for -bf and -static packages. - * Put all stamp files in debian/stampdir. - - -- Yann Dirson Sat, 22 Sep 2001 16:22:47 +0200 - -e2fsprogs (1.24a-1) unstable; urgency=high - - * New upstream release (Closes: #109577). - ** The only new code in there is in codepaths that - are only visited when previously unsupported features are used, so - they add virtually no risk. Support for raw image files will be of - great help to debug users' problems. Urgency set to "high" to make - sure this version gets released with woody. - - ** Fsck prints a warning message if now valid filesystems are passed to - it. (Closes: #107458). - ** Fsck -A will not try to interpret device names for filesystems which - have a pass number is 0. (Closes: #106696). - ** If -O none is passed to mke2fs, it will now not set the sparse_super - feature (Closes: #108165). - ** Tune2fs has been fixed to make sure that only error messages go to - stderr, and normal message go to stdout (Closes: #108555). - ** Minor man pages updates (Closes: #30833, #108174). - ** Doc fixes (Closes: #110621). - - -- Yann Dirson Tue, 4 Sep 2001 23:44:56 +0200 - -e2fsprogs (1.22-2) unstable; urgency=medium - - * This is only a trivial patch to stop some user confusion, and would be - great to have in woody, hence the urgency. - * Applied upstream patch to e2fsck to warn user when some errors were - not corrected due to user answering "no" (Closes: #104502). - - -- Yann Dirson Sat, 28 Jul 2001 23:01:49 +0200 - -e2fsprogs (1.22-1) unstable; urgency=low - - * Final 1.22 release: - ** Fixes build problems on big-endian (Closes: #101686, #101798). - - -- Yann Dirson Sat, 23 Jun 2001 14:03:17 +0200 - -e2fsprogs (1.21+1.22-WIP-0620-1) unstable; urgency=low - - * New upstream pre-release, critical for big-endian platforms - (Closes: #101752). - * Re-applied hurd fix again. - * Build e2fsprogs-bf with -Os to gain more space. - - -- Yann Dirson Fri, 22 Jun 2001 00:18:40 +0200 - -e2fsprogs (1.21-1) unstable; urgency=low - - * Final 1.21 release. - * Re-applied hurd fix that did not came quickly enough to make it in - 1.21. - * Fixed name of copyright file in e2fsprogs-bf. - - -- Yann Dirson Wed, 20 Jun 2001 22:32:08 +0200 - -e2fsprogs (1.20+1.21-WIP-0614-2) unstable; urgency=low - - * Don't build PIC libs, build a reduced version of the libs instead, in - package e2fsprogs-bf. Made this new package conflict with e2fsprogs. - * Compilation fix for the Hurd (Closes: #101361). - - -- Yann Dirson Tue, 19 Jun 2001 23:33:25 +0200 - -e2fsprogs (1.20+1.21-WIP-0614-1) unstable; urgency=low - - * New upstream pre-release (Closes: #100559, #100304). - * Fixed lib/ext2fs/Makefile.in for installation of new generated .h - file. - - -- Yann Dirson Thu, 14 Jun 2001 16:14:11 +0200 - -e2fsprogs (1.20+1.21-WIP-0608-1) unstable; urgency=low - - * New upstream pre-release (critical ext3 bugfix mostly). - * Correctly use dh_installinfo. - * Adjusted various things accordingly. - - -- Yann Dirson Sat, 9 Jun 2001 00:25:51 +0200 - -e2fsprogs (1.20-4) unstable; urgency=low - - * Cleanup generated substvars files now that debhelper uses other - names (may cause problems on other archs). Build-dep on debhelper - 3.0.30 or newer to be sure it won't cause broken uploads. Allows to - get rid of hairy dep, but cannot build straightforwardly on potato any - more... - - -- Yann Dirson Wed, 6 Jun 2001 02:33:32 +0200 - -e2fsprogs (1.20-3) unstable; urgency=low - - * Create all symlinks to uuid-generate.3 (Closes: #99573). - * Somewhat modernized debian/rules (debhelper v2, etc.). - * Fixed libss2 copyright file. - * Fixed e2fslibs-pic short description. - - -- Yann Dirson Wed, 6 Jun 2001 01:19:19 +0200 - -e2fsprogs (1.20-2) unstable; urgency=low - - * Added support for building pic libs to Makefile.elf-lib. - * New package e2fslibs-pic for boot-floppies team (Closes: #99285). - * Use -N on dh_gencontrol instead of lots of -p. - - -- Yann Dirson Thu, 31 May 2001 23:59:51 +0200 - -e2fsprogs (1.20-1) unstable; urgency=low - - * Final 1.20 release. - * Added new zsh-static to the list of possible static shells recommended - by e2fsck-static. - - -- Yann Dirson Mon, 28 May 2001 21:39:06 +0200 - -e2fsprogs (1.19+1.20-WIP-0520-1) unstable; urgency=low - - * New upstream pre-release snapshot: - ** Extended "fsck -t" syntax (Closes: #89483). - ** Fix handling of devices for which fsck can't determine a physical - spindal, causing lockup when checking LVM volumes (Closes: #98103). - ** Fixed typo in e2fsck-static description - thanks Ted :). - * Fixed small compilation bug in fsck.c - - -- Yann Dirson Mon, 21 May 2001 20:47:10 +0200 - -e2fsprogs (1.19+1.20-WIP-0514-2) unstable; urgency=low - - * Tighten dependency on debhelper. - - -- Yann Dirson Tue, 15 May 2001 21:38:47 +0200 - -e2fsprogs (1.19+1.20-WIP-0514-1) unstable; urgency=low - - * New upstream pre-release snapshot: - ** new program: e2image. - ** e2fsck validates file descriptor specified in -C (Closes: #55220) - ** Fix multiple progress bar fsck bug (Closes: #65267) - ** Add devfs support to fsck (Closes: #94159) - ** Fix debugfs dump cmd looping on disk errors (Closes: #79163) - ** Miscellaneous manual page clarifications (Closes: #63442, #67446, - #87216) - ** Compilation fixes for Hurd (Closes: #52045). - ** New config.{guess,sub} for parisc support (Closes: #94690). - ** Improved ext3 support - ** tune2fs can now safely modify mounted filesystems - * Added missing @dircategory entry to libext2fs.info (lintian) - * Moved debugfs back from /usr/sbin/ to /sbin/ (Closes: #97035). - * Moved e2label back to /sbin/ as well, as it is now a hard link to - tune2fs. - * New binary package with statically linked e2fsck, recommending a - statically linked shell (Closes: #62611). - * All deps against e2fsprogs itself now versioned (lintian). - * Updated copyright file (upstream location, packaging copyright notice - for previous maintainers and for Alcove). - * Remove call to dh_testversion, use versioned build-dep instead - (lintian). - * Support for DEB_BUILD_OPTIONS debug/nostrip for policy 3.2 - compliance. - * Use dh_shlibdeps -l instead of setting LD_LIBRARY_PATH explicitly - - necessary for new versions of fakeroot, and requires debhelper 3.0.23 - for a fix. Well finally 3.0.23 is buggy, leave this for later. - * Avoid to call ldconfig at "make install" time, too costly. - * Get rid in control files of references to never-released standalone - lib files (split attempted in 1997/98). - * Bumped Standards-Version to 3.5.4. - - -- Yann Dirson Tue, 15 May 2001 14:28:39 +0200 - -e2fsprogs (1.19-4) unstable; urgency=medium - - * Added texinfo to build-deps (Closes: #87685). - - -- Yann Dirson Tue, 3 Apr 2001 09:03:13 +0200 - -e2fsprogs (1.19-3) unstable; urgency=low - - * Drop findsuper binary, and suggest gpart (Closes: #74034). - * Drop flushb and extend at upstream request (Closes: #39506). - * Applied upstream fix for chattr on large files (Closes: #72690). - * Applied clarification patch to tune2fs.8 (Closes: #67446). - * Applied typo patch to compile_et.1 (Closes: #63786). - * Include in e2fsck/journal.c (Closes: #71775). - * Suggest parted. - - -- Yann Dirson Mon, 4 Dec 2000 22:08:06 +0100 - -e2fsprogs (1.19-2) unstable; urgency=low - - * Clarified libuuid copyright to LGPL-2, excluding LGPL-2.1. - * Added build-dependency on debhelper (Closes: #67532). - * Don't parallelize fsck runs on same drive for hd[efgh] (Closes: - #59103). - * Upload pristine source, -1 was erroneously uploaded as a - debian-specific package. - - -- Yann Dirson Thu, 3 Aug 2000 00:30:49 +0200 - -e2fsprogs (1.19-1) unstable; urgency=low - - * New upstream release: - ** new program: resize2fs. - ** ext3 support. - ** NLS support (non-default, activated). - ** Compression support (non-default, activated). - ** Progress bar nice to serial console (Closes: #66079) - ** Ensure filetype feature is turned off for Hurd filesystems (Closes: - #61863) - * Updated main copyright file for a number of things. - * Fixed NLS support for flushb and extend. - * Started to add build-depends. - * Include new e2p header. - - -- Yann Dirson Wed, 19 Jul 2000 01:55:27 +0200 - -e2fsprogs (1.18-3) frozen unstable; urgency=medium - - * Fix Y2K display-only bug in debugfs - "ls -l" displayed raw tm_year, - causing 2000 to be displayed as "100" (Closes: #57135). Potato should - be y2k-clean. - * Remove empty dirs /usr/share/et/ and /usr/share/ss/ from package - e2fsprogs (Closes: #52900). - - -- Yann Dirson Mon, 21 Feb 2000 23:06:47 +0100 - -e2fsprogs (1.18-2) unstable; urgency=low - - * Test for "__sparc__" instead of "sparc" as a cpp macro in mke2fs.c - (tests in other places are correct) (Closes: #50012). - - -- Yann Dirson Fri, 12 Nov 1999 21:40:27 +0100 - -e2fsprogs (1.18-1) unstable; urgency=low - - * New upstream (bugfix) release. - - -- Yann Dirson Fri, 12 Nov 1999 17:27:20 +0100 - -e2fsprogs (1.17-2) unstable; urgency=low - - * Applied upstream patch to fix segfault (Closes: #49535). - - -- Yann Dirson Tue, 9 Nov 1999 22:14:53 +0100 - -e2fsprogs (1.17-1) unstable; urgency=low - - * New upstream (bugfix) release. - - -- Yann Dirson Wed, 27 Oct 1999 23:46:39 +0200 - -e2fsprogs (1.16-2) unstable; urgency=low - - * Fixed build of a link list in fsck.c (Closes: #48312). - - -- Yann Dirson Tue, 26 Oct 1999 01:17:36 +0200 - -e2fsprogs (1.16-1) unstable; urgency=low - - * New upstream release. - * Re-applied Hurd patches that did not seem to have been received - upstream. - - -- Yann Dirson Sun, 24 Oct 1999 16:11:59 +0200 - -e2fsprogs (1.15-3) unstable; urgency=low - - * Fixed minor typo for the Hurd. - * Fixed various Hurd defines to __GNU__ (Closes: #44407). - * Switched doc/ and info/ to FHS. - * Cleaned up debian/rules to use new debhelper features. - * Bounced Standards-Version to 3.0.1. - * Do not install buggy com_err.info, shipped as HTML. - * Removed partinfo from the package, following the wish of upstream - author, because of duplicate functionality with "fdisk -l" (Closes: - #42139). - - -- Yann Dirson Mon, 20 Sep 1999 23:04:06 +0200 - -e2fsprogs (1.15-2) unstable; urgency=medium - - * Changed build directory do debian/BUILD/ - related cleanups in - debian/rules. - * Fixed partinfo.c to have it compiled, and fixed display of partition - device in error messages. - * Added /usr/sbin/partinfo to the package (Closes: #42139). - * Added note about uuidgen(1) in README.Debian. - * Documented in manpage that default mke2fs behaviour is now -r1 -s1 - (Closes: #44478). - * Documented in mke2fs.8 that -r1 forces -s1, thus ignoring -s0. - * Added warning message when -s0 is ignored because of -r1. - * Documented -n option of mke2fs. - * Fixed display buglet causing trailing commas in list of superblock - backups when sparse flag is on and last group has no superblock - backup. - * Closes: #42434, #43134. - - -- Yann Dirson Wed, 8 Sep 1999 00:46:38 +0200 - -e2fsprogs (1.15-1) unstable; urgency=low - - * New upstream release (Closes: Bug#41763). - * All changes to upstream files in 1.14-3 were integrated upstream. - * Separated libuuid-dev from e2fslibs-dev because it now has manpages. - * Fixed debian/rules for POSIX "rmdir -p" - * Corrected the location of the GPL in copyright file. - * Moved the manpages to /usr/share/. - * Bumped Standards-Version to 3.0.0. - - -- Yann Dirson Fri, 23 Jul 1999 01:37:51 +0200 - -e2fsprogs (1.14-3) unstable; urgency=low - - * Fail with error message when /dev/null cannot be opened (Fixes: - Bug#35595). - * Fixed typo in e2fsck/unix.c (Fixes: Bug#36960). - * Added "emergency help" options summary to e2fsck (Fixes: Bug#11372). - * Prepared debian/rules for usr/share/man/. - - -- Yann Dirson Tue, 1 Jun 1999 23:37:12 +0200 - -e2fsprogs (1.14-2) unstable; urgency=low - - * Fixed fsck(1) not to coredump when it does not find its argument in - /etc/fstab (Fixes: Bug#33533, Bug#34320, part of Bug#34131). - * Fixed spelling of upstream author's name. - * Cleaned debian/*.files up. - * Undid the changes. - * Changed "rmdir -p" invocations in debian/rules into "-rmdir -p" to - turn around changed behaviour in fileutils_4.0. - - -- Yann Dirson Fri, 12 Mar 1999 23:50:47 +0100 - -e2fsprogs (1.14-1) unstable; urgency=low - - * New upstream release (Fixes: Bug#33113). - * All patches we used for 1.12 are obsoleted by 1.14. - * Still have to install com_err.info from debian/rules though. - * Incorporated patches from Gordon Matzigkeit for hurd cross-compilation: - * - configure.in: Change cross-compile default for sizeof (long - long) to 8, so that __s64 and __u64 get defined in ext2fs.h. - (BUILD_CC): Discover a native compiler if we are cross-compiling - (used for util/subst). - - Include linux/types.h instead of asm/types.h, so that - non-Linux platforms use the stubbed version provided with this - package. - - misc/Makefile.in (findsuper): Add a rule so that findsuper gets built - with the right compiler flags. - - etc. - - -- Yann Dirson Wed, 10 Feb 1999 23:23:03 +0100 - -e2fsprogs (1.12-4) frozen unstable; urgency=low - - * Ship flushb(8) and extend(8) were missing in all 1.12 packages - (Fixes: Bug#28771). - * Add extend.8 link to undocumented.7. - * Replaced my (ad-hoc) fix for Bug#25684 with (really better) one - from upstream. - - -- Yann Dirson Mon, 2 Nov 1998 20:53:28 +0100 - -e2fsprogs (1.12-3) frozen unstable; urgency=low - - * Fixed to use angle brackets instead of double - quotes when including files from /usr/include/. - * Made e2fslibs-dev depend on comerr-dev (Fixes: Bug#26282, - Bug#27497). - * Fixed mke2fs' display with inode numbers > 9999 (Fixes: Bug#25684). - * Use -D__NO_STRING_INLINES on powerpc to allow building the boot - blocks in QUIK, the powermac boot loader - reported by Matt - McLean. - * Removed unsupported info and texi entries from docbase files. - - -- Yann Dirson Mon, 19 Oct 1998 23:32:41 +0200 - -e2fsprogs (1.12-2.1) unstable; urgency=low - - * Non-maintainer upload - config.guess and config.sub files modified, to recognize a Arm - architecture. - - -- Turbo Fredriksson Thu, 13 Aug 1998 19:15:56 -0400 - -e2fsprogs (1.12-2) unstable; urgency=low - - * Really install e2label.8 manpage. - * Removed path from ldconfig invocation, obeying packaging manual. - * Improved the subst.c patch (thanks to Peter Moulder). - - -- Yann Dirson Thu, 14 Jul 1998 14:10:06 +0200 - -e2fsprogs (1.12-1) unstable; urgency=low - - * New upstream release - at last out of alpha status ! - * Removed some obsolete files from debian/attic. - * Patched util/subst.c to expand env variables, and MCONFIG.in to - have ${prefix} exported to the `subst' process, so that we get - correct paths in mk_cmds and compile_et. Forwarded upstream. - * Debian-specific /usr/share/comerr/ renamed to /usr/share/et/, now - installed upstream. - * Removed -isp from dh_gencontrol invocation - now the default. - * Passed lintian 0.5.0. - - -- Yann Dirson Fri, 10 Jul 1998 22:49:18 +0200 - -e2fsprogs (1.10-17) frozen unstable; urgency=low - - * Commented out obsolete code in fsck.c that assumed fstab entries - declared `noauto' should not be checked - successfully forwarded - upstream (Fixes: Bug#17244). - - -- Yann Dirson Fri, 15 May 1998 01:14:54 +0200 - -e2fsprogs (1.10-16) frozen unstable; urgency=low - - * Changed to in lib/uuid/uuidP.h to - allow compilation with glibc 2.0.7pre1 (Fixes: Bug#22039). - * Use "build-stamp" as a stamp file instead of "build". - * Restored "Provides: e2fslibsg" in order to allow upgrade from - unstable hamm. Documented in README.Debian so that it does not - get removed again (Fixes: Bug#22019). - - -- Yann Dirson Mon, 4 May 1998 21:11:38 +0200 - -e2fsprogs (1.10-15) frozen unstable; urgency=low - - * Added call to ldconfig in e2fsprogs.postinst. - * Fixes checks for install-docs in postinst/prerm (Fixes: Bug#20303, - Bug#20304, Bug#20590). - * Removed e2fslibsg from what e2fsprogs provides (was just forgotten). - * Passed lintian 0.4.2. - - -- Yann Dirson Sun, 26 Apr 1998 22:27:11 +0200 - -e2fsprogs (1.10-14) frozen unstable; urgency=low - - * Fixed checks for install-docs to use -x. - * Applied patch for sparc from Juan to fsck.c to compile with glibc - 2.1 (Fixes: Bug#20841). - - -- Yann Dirson Tue, 14 Apr 1998 17:12:19 +0200 - -e2fsprogs (1.10-13) frozen unstable; urgency=low - - * test for /usr/sbin/install-docs before trying to run it in - postinst and prerm (Fixes: Bug#19461, Bug#19469, Bug#19949, - Bug#20006). - * comerrg-dev now suggests doc-base. - * moved binary packages ss2g, comerr2g and e2fslibsg back into - binary package e2fsprogs. - * use new virtual packages libcomerr2, libss2, libext2fs2, libe2p2, - libuuid1 in shlibs and dependencies. - * Changed e2fsprogs dependency on libs to a Pre-Depends (Fixes: - Bug#18221). - * Not conflicting with old ss2g and comerr2g - these will have to be - removed by hand. - * Turned around dpkg's bug #17624 in e2fsprogs.preinst. - * Updated README.Debian to explain the new package architecture. - * Passed lintian 0.3.4. - - -- Yann Dirson Fri, 20 Mar 1998 13:03:11 +0100 - -e2fsprogs (1.10-12) unstable; urgency=low - - * Corrected doc menu entries to point to the real documents' places. - * Fixed mk_cmds to really find its support scripts (Fixes: Bug#18779). - * Made mk_cmds and compile_et use "sh -e". - * Have missing file /usr/include/ss/ss_err.h installed (Fixes: Bug#18778). - * Corrected typo in Description (Fixes: Bug#18890). - * Fixed descriptions for ss* packages, thanks to Greg Stark (Fixes: - Bug#18373, Bug#18447). - * Added description of e2p and uuid libs in e2fslibsg-dev description. - * Included texinfo sources. - * Added doc-base support - suppressed direct menu/dwww support. - * Complies with standards version 2.4.0.0. - * Passed lintian 0.3.0: - * removed .du control file. - * updated FSF address. - * fixed in *.files nasty ldconfig-symlink-before-shlib-in-deb's. - * turned relative links from /usr/lib into /lib into absolute ones. - - -- Yann Dirson Sun, 8 Mar 1998 19:42:58 +0100 - -e2fsprogs (1.10-11) unstable; urgency=low - - * Switched to debhelper (Fixes:Bug#16307). - * Updated standards to 2.3.0.1 - * Changed maintainer's mail address. - * Added conflicts with old versions of dump and quota. - * Added html-converted texi docs for libs, with menu(dwww) support. - * Added findsuper.8 link to undocumented. - * Changed version number of lib packages to reflect the lib versions. - * Moved libss into its own packages; added mk_cmds script and - support files for libss development (Fixes:Bug#17233). - * Added README.Debian file documenting all those dependency stuff. - * Included example error tables from libext2fs and libss in - comerr-dev. - * Included example command tables from debugfs in ss-dev. - * Added section/priority files in packages (-isp). - * Changed names/relations for doc dirs to comply with policy. - * Removed call to ldconfig from e2fsprogs.postinst. - - -- Yann Dirson Thu, 29 Jan 1998 18:10:03 +0100 - -e2fsprogs (1.10-10) unstable; urgency=low - - * Added patch from Michael Alan Dorman for compilation on alpha-Linux - (Closes:Bug#15596). - * Added '-fsigned-char' to COPTS to allow compilation on ppc-Linux - (Closes:Bug#15976). - * Suppressed Essential flag on libs, as well as useless Replaces - (Closes: Bug#16480). - * Suppressed reference to obsolete package `e2fsprogsg' in control - info, but Conflicts for security (Closes:Bug#16791). - - -- Yann Dirson Wed, 7 Jan 1998 22:35:08 +0100 - -e2fsprogs (1.10-9) unstable; urgency=low - - * Fixed comerr2g.shlibs to reflect package-name change. - * Fixed problem with ss include files being removed from /usr on make - install (indeed fixed in 1.10-8). - * Added changelog file to comerr2g package (indeed fixed in 1.10-8). - * Corrected link from flushb.8 to undocumented (Closes:Bug#15335,Bug#15660,Bug#15675). - * Added /sbin/findsuper (Closes:Bug#15224). - * Fixed /usr/bin/compile_et script (Closes:Bug#15487). - * Included awk scripts in /usr/share/comerr, for use by compile_et. - * Changed back the name from "e2fsprogsg" to "e2fsprogs" to get better - dependencies. - * Strip libraries (Closes:Bug#15667). - - -- Yann Dirson Tue, 9 Dec 1997 22:52:42 +0100 - -e2fsprogs (1.10-8) unstable; urgency=low - - * Added latest patch from Ted for autodetection of llseek() proto. - * Switched to libc6, without libc5 compatibility (yet ?). - * Turned Pre-Depends into Depends to allow installation. Dirty - though. But what were Pre-Depends for anyway ? - - -- Yann Dirson Sun, 23 Nov 1997 23:03:02 +0100 - -e2fsprogs (1.10-7) unstable; urgency=HIGH - - * Turned "#if (__GLIBC__ == 2)" into "#if 1" to turn around missing llseek() - prototype in libc_5.4.33-5 as well as libc6. - - -- Yann Dirson Tue, 21 Oct 1997 12:53:27 +0200 - -e2fsprogs (1.10-6) unstable; urgency=low - - * Official libc6 patches from Ted. - * Converted to debstd - let it do the stripping stuff. - * Separated libcomerr into a standalone lib - includes full doc and tools. - * Separated development files into e2fslibs-dev, which Provides the 4 other - -dev packages. - * Now Provides the 4 other lib packages, to make it possible not to depend - upon e2fsprogs itself. These libs WILL be taken out of "progs" in the - next release. - - -- Yann Dirson Wed, 24 Sep 1997 10:46:00 +0200 - -e2fsprogs (1.10-5.1) experimental; urgency=low - - * Applied patch from Ted for libc6 compatibility, for test purpose. - - -- Yann Dirson Thu, 11 Sep 1997 09:09:42 +0200 - -e2fsprogs (1.10-5) unstable; urgency=medium - - * Switched back to libc5 because of possible bug in libc6-2.0.4-provided - llseek() causing problem with partitions > 2Gb. - * Switched back to libc-provided llseek(). - - -- Yann Dirson Tue, 5 Aug 1997 16:54:40 +0200 - -e2fsprogs (1.10-4.1) unstable; urgency=low - - * Make use of shipped llseek instead of glibc's which seems buggy - [unreleased - could not compile due to possible gcc bug]. - * Corrected compiler-options handling in debian/rules (use CCOPTS instead - of CFLAGS which is messed with in configure.in). - - -- Yann Dirson Mon, 28 Jul 1997 19:47:02 +0200 - -e2fsprogs (1.10-4) unstable; urgency=low - - * Switched to libc6. - * Added calls to update-info in postins/prerm. - * Misc changes to debian/rules; some cleanup in Makefiles. - - -- Yann Dirson Thu, 10 Jul 1997 19:42:54 +0200 - -e2fsprogs (1.10-3) stable unstable; urgency=low - - * New maintainer (closed many obsolete bug-reports). - * updated "copyright" to show new location on tsx-11. - * started debian/rules cleanup, towards new policy conformance. - * Added flushb.8 link to undocumented.7 (bug #8644). - * Added {fsck,mkfs}.ext2.8 links to existing manpages (bugs #5598, - #6286). - - -- Yann Dirson Wed, 25 Jun 1997 14:59:58 +0200 - -e2fsprogs (1.10-2) frozen unstable; urgency=low - - * Add 'ldconfig' to postinst (should fix #9020). - * Define HAVE_NETINET_IN_H on alpha/glibc. - - -- Klee Dienes Tue, 29 Apr 1997 17:24:12 -0400 - -e2fsprogs (1.10-1) frozen unstable; urgency=medium - - * Upstream bug-fix release. - - -- Klee Dienes Thu, 24 Apr 1997 14:54:12 -0400 - -e2fsprogs (1.09-1) frozen; urgency=medium - - * Upstream bug-fix release. - - -- Klee Dienes Thu, 24 Apr 1997 14:54:12 -0400 - -e2fsprogs (1.06-4) unstable; urgency=low - - * Added empty entries to shlibs.local, to neatly solve the pre-depends - problem, as suggested by Ian Jackson. - - -- Michael Nonweiler Wed, 13 Nov 1996 08:13:28 +0000 - -e2fsprogs (1.06-3) unstable; urgency=low - - * Hard coded Pre-Depends line, as a temporary fix for the pre-depends - contains e2fsprogs problem. - - -- Michael Nonweiler Sat, 9 Nov 1996 12:57:44 +0000 - -e2fsprogs (1.06-2) unstable; urgency=low - - * New packaging format - * Fixes packaging bugs - - Files in /lib are now stripped of all unneeded symbols (Bug#5121) - Calls to ldconfig in maintainer scripts have been removed (Bug#4247) - - -- Michael Nonweiler Tue, 5 Nov 1996 21:14:54 +0000 - -e2fsprogs (1.01-1) unstable; urgency=low - - * upgraded to latest upstream version, to 1.06 from 1.05 - * upgraded to latest upstream version, to 1.05 from 1.04 - * gzip manpages - * minor changes to debian.rules - - -- Michael Meskes Fri, 18 Oct 1996 00:00:00 +0000 - -e2fsprogs (1.04-1) unstable; urgency=low - - * upgraded to latest upstream version, to 1.04 from 1.02 - * another tidy-up of debian.rules - * section and priority added to debian.control, since this is an - essential base package. - - -- Michael Nonweiler Sun, 23 Jun 1996 00:00:00 +0000 - -e2fsprogs (1.02-1) unstable; urgency=low - - * upgraded to latest upstream version, to 1.02 from 1.01 - * copied "configure" usr_prefix change (see below), into configure.in - * updated debian.control file, added Pre-Depends field - created preinst script to check dpkg --assert-predepends - tidied and fixed debian.rules - * set e2fsck to link shared, as suggested by Bruce Perens in Bug#2332 - * corrected problem in e2fsck error message, Bug#2534 - * added Architecture field - * very minor correction to expected output of a build time test - - -- Michael Nonweiler Tue, 5 Mar 1996 00:00:00 +0000 - -e2fsprogs (1.01-1) unstable; urgency=low - - * removed debugging symbols from libs and enabled more optimization - as suggested by Rolf Rossius - * also removed the /var/catman pages - * changed to elf compilation - - -- Andrew D. Fernandes Mon, 20 Nov 1995 00:00:00 +0000 - -e2fsprogs (0.5b-2) unstable; urgency=low - - * Upgraded to latest version, to 1.01 from 0.5b. - * changed the installation groups from bin to root in MCONFIG.in - * changed configure to set usr_prefix="\${prefix}/usr" - * moved the cat pages to /var/catman in MCONFIG.in - - -- Andrew D. Fernandes Sat, 7 Oct 1995 00:00:00 +0000 - -e2fsprogs (0.5b-1) unstable; urgency=low - - * Made "fsck -t " work correctly. Formerly - the -t argument was overridden by the filesystem type listed for the - device in /etc/fstab. - * added Debian GNU/Linux package maintenance system files - - -- Bruce Perens Thu, 3 Aug 1995 00:00:00 +0000 diff --git a/src/_nfdos/e2fsprogs/debian/comerr-dev.doc-base b/src/_nfdos/e2fsprogs/debian/comerr-dev.doc-base deleted file mode 100644 index 463eb76..0000000 --- a/src/_nfdos/e2fsprogs/debian/comerr-dev.doc-base +++ /dev/null @@ -1,12 +0,0 @@ -Document: comerr-manual -Title: The com_err library -Author: Ken Raeburn and Bill Sommerfeld -Abstract: A library, and associated utilities, - which allow a more uniform way for libraries - to return errors to their callers, and for programs - to describe errors and exceptional conditions to their users. -Section: Programming - -Format: HTML -Index: /usr/share/doc/comerr-dev/html-info/com_err.html -Files: /usr/share/doc/comerr-dev/html-info/*.html diff --git a/src/_nfdos/e2fsprogs/debian/comerr-dev.examples b/src/_nfdos/e2fsprogs/debian/comerr-dev.examples deleted file mode 100644 index aff20cc..0000000 --- a/src/_nfdos/e2fsprogs/debian/comerr-dev.examples +++ /dev/null @@ -1,2 +0,0 @@ -lib/ss/ss_err.et -debian/BUILD-STD/lib/ext2fs/ext2_err.et diff --git a/src/_nfdos/e2fsprogs/debian/comerr-dev.install b/src/_nfdos/e2fsprogs/debian/comerr-dev.install deleted file mode 100644 index a3b8b0e..0000000 --- a/src/_nfdos/e2fsprogs/debian/comerr-dev.install +++ /dev/null @@ -1,9 +0,0 @@ -usr/lib/*/libcom_err.a -usr/lib/*/libcom_err.so -usr/include/et/* -usr/include/com_err.h -usr/share/man/man1/compile_et* -usr/share/man/man3/com_err.3* -usr/bin/compile_et -usr/share/et/* -usr/lib/*/pkgconfig/com_err.pc diff --git a/src/_nfdos/e2fsprogs/debian/comerr-dev.postinst b/src/_nfdos/e2fsprogs/debian/comerr-dev.postinst deleted file mode 100644 index aae743a..0000000 --- a/src/_nfdos/e2fsprogs/debian/comerr-dev.postinst +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -symlink_match() -{ - local SYMLINK="$1" - local SYMLINK_TARGET="$2" - - [ "$(readlink "$SYMLINK")" = "$SYMLINK_TARGET" ] || \ - [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] -} - -SYMLINK=/usr/share/doc/comerr-dev -SYMLINK_TARGET=libcomerr2 -SYMLINK_TARGET2=libcom-err2 - -if [ "$1" = "configure" ] && [ -h "${SYMLINK}.dpkg-backup" ] -then - if symlink_match "${SYMLINK}.dpkg-backup" "$SYMLINK_TARGET" || - symlink_match "${SYMLINK}.dpkg-backup" "$SYMLINK_TARGET2" - then - rm -f "${SYMLINK}.dpkg-backup" - fi -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/comerr-dev.postrm b/src/_nfdos/e2fsprogs/debian/comerr-dev.postrm deleted file mode 100644 index 8f9e679..0000000 --- a/src/_nfdos/e2fsprogs/debian/comerr-dev.postrm +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -symlink_match() -{ - local SYMLINK="$1" - local SYMLINK_TARGET="$2" - - [ "$(readlink "$SYMLINK")" = "$SYMLINK_TARGET" ] || \ - [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] -} - -SYMLINK=/usr/share/doc/comerr-dev -SYMLINK_TARGET=libcomerr2 -SYMLINK_TARGET2=libcom-err2 - -if [ "$1" = "purge" ] && [ -h "${SYMLINK}.dpkg-backup" ] -then - rm -f "${SYMLINK}.dpkg-backup" -fi -if [ "$1" = "abort-install" -o "$1" = "abort-upgrade" ] && - [ -n "$2" ] && [ ! -e "$SYMLINK" ] && [ -h "${SYMLINK}.dpkg-backup" ] -then - if symlink_match "${SYMLINK}.dpkg-backup" "$SYMLINK_TARGET" || - symlink_match "${SYMLINK}.dpkg-backup" "$SYMLINK_TARGET2" - then - echo "Restoring backup of $SYMLINK ..." - mv "${SYMLINK}.dpkg-backup" "$SYMLINK" - fi -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/comerr-dev.preinst b/src/_nfdos/e2fsprogs/debian/comerr-dev.preinst deleted file mode 100644 index 5d8090a..0000000 --- a/src/_nfdos/e2fsprogs/debian/comerr-dev.preinst +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -symlink_match() -{ - local SYMLINK="$1" - local SYMLINK_TARGET="$2" - - [ "$(readlink "$SYMLINK")" = "$SYMLINK_TARGET" ] || \ - [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] -} - -SYMLINK=/usr/share/doc/comerr-dev -SYMLINK_TARGET=libcomerr2 -SYMLINK_TARGET2=libcom-err2 - -if [ "$1" = "install" -o "$1" = "upgrade" ] && - [ -n "$2" ] && [ -h "$SYMLINK" ] -then - if symlink_match "$SYMLINK" "$SYMLINK_TARGET" || - symlink_match "$SYMLINK" "$SYMLINK_TARGET2" - then - mv -f "$SYMLINK" "${SYMLINK}.dpkg-backup" - fi -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/control b/src/_nfdos/e2fsprogs/debian/control deleted file mode 100644 index 7701987..0000000 --- a/src/_nfdos/e2fsprogs/debian/control +++ /dev/null @@ -1,193 +0,0 @@ -Source: e2fsprogs -Section: admin -Priority: required -Maintainer: Theodore Y. Ts'o -Build-Depends: gettext, texinfo, pkg-config, libfuse-dev [linux-any kfreebsd-any] , debhelper-compat (= 12), dh-exec, libblkid-dev, uuid-dev, m4, udev [linux-any], systemd [linux-any], cron [linux-any] -Rules-Requires-Root: no -Standards-Version: 4.6.2 -Homepage: http://e2fsprogs.sourceforge.net -Vcs-Browser: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git -Vcs-Git: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git -b debian/master - -Package: fuse2fs -Build-Profiles: -Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends} -Architecture: linux-any kfreebsd-any -Description: ext2 / ext3 / ext4 file system driver for FUSE - fuse2fs is a FUSE file system client that supports reading and - writing from devices or image files containing ext2, ext3, and ext4 - file systems. - -Package: logsave -Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: e2fsprogs (<< 1.45.3-1) -Breaks: e2fsprogs (<< 1.45.3-1) -Architecture: any -Multi-Arch: foreign -Description: save the output of a command in a log file - The logsave program will execute cmd_prog with the specified - argument(s), and save a copy of its output to logfile. If the - containing directory for logfile does not exist, logsave will - accumulate the output in memory until it can be written out. A copy - of the output will also be written to standard output. - -Package: e2fsck-static -Build-Profiles: -Priority: optional -Depends: ${misc:Depends} -Recommends: sash | bash-static | zsh-static | busybox-static -Architecture: any -Description: statically-linked version of the ext2/ext3/ext4 filesystem checker - This may be of some help to you if your filesystem gets corrupted enough - to break the shared libraries used by the dynamically linked checker. - . - This binary takes much more space than its dynamic counterpart located - in e2fsprogs, though. - . - You may want to install a statically-linked shell as well, to be able - to run this program if something like your C library gets corrupted. - -Package: e2fsprogs-l10n -Section: localization -Priority: optional -Depends: e2fsprogs (>= ${binary:Version}), e2fsprogs (<< ${binary:Version}+c~), ${misc:Depends} -Replaces: e2fsprogs (<< 1.43.5-1) -Architecture: all -Multi-Arch: foreign -Description: ext2/ext3/ext4 file system utilities - translations - The ext2, ext3 and ext4 file systems are successors of the original ext - ("extended") file system. They are the main file system types used for - hard disks on Debian and other Linux systems. - . - This package provides translations for messages for programs found in - the 'e2fsprogs' package. - -Package: libcom-err2 -Section: libs -Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: libcomerr2 (<< 1.43.9-1~) -Breaks: libcomerr2 (<< 1.43.9-1~) -Provides: libcomerr2 (= ${binary:Version}) -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Description: common error description library - libcomerr is an attempt to present a common error-handling mechanism to - manipulate the most common form of error code in a fashion that does not - have the problems identified with mechanisms commonly in use. - -Package: comerr-dev -Section: libdevel -Priority: optional -Depends: libc6-dev | libc-dev, libcom-err2 (= ${mainBinary}), ${misc:Depends} -Suggests: doc-base -Replaces: e2fslibs-dev (<< 1.33-2), libkrb5-dev (<< 1.3) -Architecture: any -Multi-Arch: same -Description: common error description library - headers and static libraries - libcom_err is an attempt to present a common error-handling mechanism to - manipulate the most common form of error code in a fashion that does not - have the problems identified with mechanisms commonly in use. - . - This package contains the development environment for the com_err library. - -Package: libss2 -Section: libs -Priority: optional -Depends: libcom-err2, ${shlibs:Depends}, ${misc:Depends} -Replaces: e2fsprogs (<< 1.34-1) -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Description: command-line interface parsing library - libss provides a simple command-line interface parser which will - accept input from the user, parse the command into an argv argument - vector, and then dispatch it to a handler function. - . - It was originally inspired by the Multics SubSystem library. - -Package: ss-dev -Section: libdevel -Priority: optional -Depends: libc6-dev | libc-dev, libss2 (= ${mainBinary}), comerr-dev, ${misc:Depends} -Architecture: any -Multi-Arch: same -Description: command-line interface parsing library - headers and static libraries - This package includes a tool that parses a command table to generate - a simple command-line interface parser, the include files needed to - compile and use it, and the static libs. - . - It was originally inspired by the Multics SubSystem library. - . - This package contains the development environment for the ss library. - -Package: e2fsprogs-udeb -Build-Profiles: -Package-Type: udeb -Section: debian-installer -Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends} -Architecture: any -Description: stripped-down versions of e2fsprogs, for debian-installer - This package is an e2fsprogs package built for a reduced size, so that - it can help to save space in debian-installer. - . - Don't attempt to install this package, it has no support for a couple of - features you surely want. Anyway it should refuse to install. - -Package: libext2fs2 -Section: libs -Priority: optional -Depends: ${shlibs:Depends}, ${misc:Depends} -Replaces: e2fslibs (<< 1.43.9-1~) -Breaks: e2fslibs (<< 1.43.9-1~) -Provides: e2fslibs (= ${binary:Version}) -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Description: ext2/ext3/ext4 file system libraries - The ext2, ext3 and ext4 file systems are successors of the original ext - ("extended") file system. They are the main file system types used for - hard disks on Debian and other Linux systems. - . - This package provides the ext2fs and e2p libraries, for userspace software - that directly accesses extended file systems. Programs that use libext2fs - include e2fsck, mke2fs, and tune2fs. Programs that use libe2p include - dumpe2fs, chattr, and lsattr. - -Package: libext2fs-dev -Section: libdevel -Priority: optional -Depends: libc6-dev | libc-dev, comerr-dev, libext2fs2 (= ${binary:Version}), ${misc:Depends} -Replaces: e2fslibs-dev (<< 1.43.9-1~) -Breaks: e2fslibs-dev (<< 1.43.9-1~) -Provides: e2fslibs-dev (= ${binary:Version}) -Suggests: doc-base -Architecture: any -Description: ext2/ext3/ext4 file system libraries - headers and static libraries - The ext2, ext3 and ext4 file systems are successors of the original ext - ("extended") file system. They are the main file system types used for - hard disks on Debian and other Linux systems. - . - This package contains the development environment for the ext2fs and e2p - libraries. - -Package: e2fsprogs -XB-Important: yes -Pre-Depends: ${shlibs:Depends}, ${misc:Depends}, libblkid1, libuuid1 -Depends: logsave -Multi-Arch: foreign -Suggests: gpart, parted, fuse2fs, e2fsck-static -Recommends: e2fsprogs-l10n -Architecture: any -Description: ext2/ext3/ext4 file system utilities - The ext2, ext3 and ext4 file systems are successors of the original ext - ("extended") file system. They are the main file system types used for - hard disks on Debian and other Linux systems. - . - This package contains programs for creating, checking, and maintaining - ext2/3/4-based file systems. It also includes the "badblocks" program, - which can be used to scan for bad blocks on a disk or other storage device. diff --git a/src/_nfdos/e2fsprogs/debian/copyright b/src/_nfdos/e2fsprogs/debian/copyright deleted file mode 100644 index f18058e..0000000 --- a/src/_nfdos/e2fsprogs/debian/copyright +++ /dev/null @@ -1,403 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: e2fsprogs -Upstream-Contact: Theodore Ts'o -Source: http://sourceforge.net/projects/e2fsprogs -Comment: - This is the Debian GNU/Linux prepackaged version of the EXT2 file - system utilities (e2fsck, mke2fs, etc.). The EXT2 utilities were - written by Theodore Ts'o and Remy Card . - -Files: * -Copyright: 1993-2018 Theodore Ts'o -License: GPL-2 -Comment: Some files are GPL-2+ licensed or do not carry any license version. - They are distributable as GPL-2 and listed as such for simplification. - -Files: debian/* -Copyright: 2003-2007 Theodore Ts'o - 1997-2003 Yann Dirson - 2001 Alcove - 1997 Klee Dienes - 1995-1996 Michael Nonweiler -License: GPL-2 - -Files: lib/ext2fs/* - lib/e2p/* - lib/support/print_fs_flags.c - misc/e2fuzz.c -Copyright: 1995-1999, 2002, 2004-2006 Theodore Ts'o - 1992-1994 Remy Card - Laboratoire MASI, Institut Blaise Pascal - Universite Pierre et Marie Curie (Paris VI) - 2001 Andreas Gruenbacher, - 2007 IBM Corporation - 2010 Red Hat, Inc., Lukas Czerner - 2014 Oracle - 2012 Zheng Liu - 2012 Intel Corporation - 2001 Daniel Phillips - 2002 Theodore Ts'o. - 2002 Andreas Dilger - 2006 Cluster File Systems, Inc. - 2006, 2007 by Andreas Dilger - 2003,2004 Cluster File Systems, Inc - 1995 Theodore Ts'o. - 2003 VMware, Inc. - 2015 Jan Kara - 2018 Collabora Ltd. - 1997 Theodore Ts'o - 1997 Mark Habersack - 2011 Whamcloud, Inc. - 2004 Sam Hocevar - 2014 Google Inc. - 1993, 1994, 1995 Theodore Ts'o. - 1998 Andrey Shedel -License: LGPL-2 -Comment: Some files in lib/ext2fs claim - "This file may be redistributed under the terms of the GNU Public License." - and NOTICE clarifies them to be licensed under LGPL-2. - -Files: lib/ext2fs/tdb* -Copyright: 1999-2005 Andrew Tridgell - 2000-2006 Jeremy Allison - 2000 Paul `Rusty' Russell -License: LGPL-2 - -Files: lib/ext2fs/tdbtool.c -Copyright: 1999-2000 Andrew Tridgell - 2000 Paul `Rusty' Russell - 2000 Jeremy Allison - 2001 Andrew Esh -License: GPL-2 - -Files: lib/ext2fs/kernel-jbd.h -Copyright: 1998-2000 Red Hat, Inc -License: GPL-2 - -Files: lib/ext2fs/nls_utf8.c - lib/ext2fs/utf8n.h - util/mkutf8data.c -Copyright: 2014 SGI - 2018 Collabora Ltd. -License: GPL-2 - -Files: lib/ext2fs/crc16.* -Copyright: 2005 Ben Gardner -License: GPL-2 - -Files: lib/ext2fs/crc32c* -Copyright: - August 26, 2011 Darrick J. Wong - Reuse Bob Pearson's slice-by-8 implementation for e2fsprogs. - . - July 20, 2011 Bob Pearson - ... - Oct 15, 2000 Matt Domsch - ... - Oct 12, 2000 Matt Domsch -License: GPL-2 - -Files: lib/uuid/* -Copyright: 1996-1999, 2007 Theodore Ts'o. -License: BSD-3-Clause - -Files: lib/uuid/*.3.in -Copyright: 1999 Andreas Dilger -License: BSD-3-Clause - -Files: contrib/fallocate.c -Copyright: 2008 Red Hat, Inc. All rights reserved. - 2003-2005 Silicon Graphics, Inc. -License: GPL-2 - -Files: contrib/dconf -Copyright: 1994 Ulrich Windl -License: GPL-2 - -Files: CleanSpec.mk - contrib/android/ext2simg.c -Copyright: 2007, 2016 The Android Open Source Project -License: Apache-2 - -Files: e2fsck/* - debugfs/do_journal.c - debugfs/journal.* - debugfs/logdump.c - debugfs/xattrs.c - lib/support/plausible.c - misc/fuse2fs.c - misc/fsmap.h -Copyright: 1993-2011 Theodore Ts'o - 1999-2000 Red Hat Software - 2000 Red Hat corp - 2001 Red Hat, Inc. - 2000 Stephen C. Tweedie - 2000 Andreas Dilger - 2014 Oracle - 2019 Google LLC -License: GPL-2 - -Files: e2fsck/mtrace.* - include/nonunix/getopt.h -Copyright: 1985-2015 Free Software Foundation, Inc. -License: LGPL-2 - -Files: ext2ed/* -Copyright: 1995 Gadi Oxman -License: GPL-2 - -Files: include/mingw/unistd.h -Copyright: 2004-2006 Kern Sibbald - 2014 Adam Kropelin -License: GPL-2 - -Files: lib/support/devname.* -Copyright: 2010 Red Hat, Inc., Lukas Czerner -License: GPL-2 - -Files: lib/blkid/* - misc/blkid.c -Copyright: 1999, 2001 by Andries Brouwer - 1994-1997, 1999-2004 Theodore Ts'o - 2001 Andreas Dilger -License: LGPL-2 - -Files: misc/blkid.8.in - misc/uuidgen.1.in -Copyright: 1999, 2000 Andreas Dilger -License: GPL-2 - -Files: misc/create_inode.c -Copyright: 2014 Robert Yang -License: LGPL-2 - -Files: misc/e2freefrag.c -Copyright: 2009 Sun Microsystems, Inc. -License: GPL-2 - -Files: misc/e2undo.c -Copyright: 2007 IBM Corporation -License: GPL-2 - -Files: misc/e4defrag.c -Copyright: Akira Fujita - Takashi Sato -License: GPL-2 - -Files: misc/uuidgen.c -Copyright: 1999 Andreas Dilger and Theodore Ts'o -License: GPL-2 - -Files: misc/e2fuzz.sh -Copyright: 2014 Oracle -License: GPL-2 - -Files: misc/e4crypt.c -Copyright: 2014 Google, Inc. -License: GPL-2 - -Files: ext2ed/ext2.descriptors - misc/badblocks.c - misc/chattr.c - misc/dumpe2fs.c - misc/lsattr.c - misc/mklost+found.c - misc/tune2fs.c -Copyright: 1995-1999 by Theodore Ts'o - 1992-1994 Remy Card - Laboratoire MASI, Institut Blaise Pascal - Universite Pierre et Marie Curie (Paris VI) - 1999 by David Beattie - Linus Torvalds -License: GPL-2 - -Files: resize/* -Copyright: 1997-2000 by Theodore Ts'o and PowerQuest, Inc. -License: GPL-2 - -Files: scrub/* -Copyright: 2018 Oracle -License: GPL-2 - -Files: tests/fuzz/*.cc -Copyright: 2020 Google LLC -License: Apache-2 - -Files: lib/support/argv_parse.* -Copyright: 1999 Theodore Ts'o. -License: ISC - Permission to use, copy, modify, and distribute this software for - any purpose with or without fee is hereby granted, provided that - the above copyright notice and this permission notice appear in all - copies. THE SOFTWARE IS PROVIDED "AS IS" AND THEODORE TS'O (THE - AUTHOR) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER - RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR - IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Files: lib/support/profile.* -Copyright: 2005, 2006 by Theodore Ts'o. - 1985-2005 by the Massachusetts Institute of Technology. - All rights reserved. -License: GPL or MIT-US-export - This file may be redistributed under the terms of the GNU Public - License. - . - Export of this software from the United States of America may require - a specific license from the United States Government. It is the - responsibility of any person or organization contemplating export to - obtain such a license before exporting. - . - WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - distribute this software and its documentation for any purpose and - without fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright notice and - this permission notice appear in supporting documentation, and that - the name of M.I.T. not be used in advertising or publicity pertaining - to distribution of the software without specific, written prior - permission. Furthermore if you modify this software you must label - your software as modified software and not distribute it in such a - fashion that it might be confused with the original MIT software. - M.I.T. makes no representations about the suitability of this software - for any purpose. It is provided "as is" without express or implied - warranty. - . - THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. -Comment: - On Debian systems, the complete text of the GNU General - Public License can be found in "/usr/share/common-licenses/GPL". - -Files: lib/support/dict.* -Copyright: 1997 Kaz Kylheku -License: Kazlib - All rights are reserved by the author, with the following exceptions: - Permission is granted to freely reproduce and distribute this software, - possibly in exchange for a fee, provided that this copyright notice appears - intact. Permission is also granted to adapt this software to produce - derivative works, as long as the modified versions carry this copyright - notice and additional notices stating that the work has been modified. - This source code may be translated into executable form and incorporated - into proprietary software; there is no requirement for such software to - contain a copyright notice related to this source. -Comment: The work has been modified. - -Files: doc/libext2fs.texinfo -Copyright: 1997-2014 Theodore Ts'o -License: Latex2e - Permission is granted to process this file through TeX and print the - results, provided the printed document carries copying permission - notice identical to this one except for the removal of this paragraph - (this paragraph not being relevant to the printed manual). - . - Permission is granted to copy and distribute modified versions of this - manual under the conditions for verbatim copying, provided that the entire - resulting derived work is distributed under the terms of a permission - notice identical to this one. - . - Permission is granted to copy and distribute translations of this manual - into another language, under the above conditions for modified versions, - except that this permission notice may be stated in a translation approved - by the author. - -Files: doc/texinfo.tex - lib/et/texinfo.tex -Copyright: 1985-2006 Free Software Foundation, Inc. -License: GPL-2+ with Texinfo exception - This texinfo.tex file is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2, or (at - your option) any later version. - . - This texinfo.tex file is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied warranty - of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this texinfo.tex file; see the file COPYING. If not, write - to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - . - As a special exception, when this file is read by TeX when processing - a Texinfo source document, you may use the result without - restriction. (This has been our intent since Texinfo was invented.) - -License: Apache-2 - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - . - http://www.apache.org/licenses/LICENSE-2.0 - . - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -Comment: - On Debian systems, the complete text of the Apache License, Version 2.0 - can be found in "/usr/share/common-licenses/Apache-2.0". - -License: BSD-3-Clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, and the entire permission notice in its entirety, - including the disclaimer of warranties. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote - products derived from this software without specific prior - written permission. - . - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF - WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - -License: GPL-2 - This program is free software; you can redistribute it and/or modify - it under the terms version 2 of the GNU General Public License - as published by the Free Software Foundation. - . - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this program. If not, see . -Comment: - On Debian systems, the complete text of the GNU General - Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". - -License: LGPL-2 - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; version 2 of the License. - . - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - . - You should have received a copy of the GNU Library General Public License - along with this library. If not, see . -Comment: - On Debian systems, the complete text of the GNU Library General - Public License version 2 can be found in "/usr/share/common-licenses/LGPL-2". diff --git a/src/_nfdos/e2fsprogs/debian/e2fsck-static.install b/src/_nfdos/e2fsprogs/debian/e2fsck-static.install deleted file mode 100644 index 15a7716..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsck-static.install +++ /dev/null @@ -1,2 +0,0 @@ -/sbin/e2fsck.static -/usr/share/man/man8/e2fsck.static* diff --git a/src/_nfdos/e2fsprogs/debian/e2fsck-static.preinst b/src/_nfdos/e2fsprogs/debian/e2fsck-static.preinst deleted file mode 100644 index e756ade..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsck-static.preinst +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -PKG=e2fsck-static -DOCLNK=/usr/share/doc/$PKG -if test "$1" = upgrade \ - -a -L $DOCLNK -then - rm $DOCLNK -fi - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs-l10n.install b/src/_nfdos/e2fsprogs/debian/e2fsprogs-l10n.install deleted file mode 100644 index 3635480..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs-l10n.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/locale diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.install b/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.install deleted file mode 100644 index a6d6867..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.install +++ /dev/null @@ -1,11 +0,0 @@ -etc/mke2fs.conf -lib/*/lib*.so.* -sbin/badblocks -sbin/e2fsck -sbin/mke2fs -sbin/resize2fs -sbin/tune2fs -sbin/e2label -sbin/e2mmpstatus -sbin/fsck.ext? -sbin/mkfs.ext? diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.lintian-overrides b/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.lintian-overrides deleted file mode 100644 index 683a11f..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.lintian-overrides +++ /dev/null @@ -1,2 +0,0 @@ -e2fsprogs-udeb udeb: package-name-doesnt-match-sonames libcom-err2 libe2p2 libext2fs2 libss2 - diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.shlibs.local b/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.shlibs.local deleted file mode 100644 index b41b583..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs-udeb.shlibs.local +++ /dev/null @@ -1,6 +0,0 @@ -libblkid 1 libblkid1-udeb -# force the dependency to libblkid1-udeb, even if it don't include the lib -libcom_err 2 libblkid1-udeb -libuuid 1 libuuid1-udeb -libext2fs 2 libblkid1-udeb -libe2p 2 libblkid1-udeb diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.docs b/src/_nfdos/e2fsprogs/debian/e2fsprogs.docs deleted file mode 100644 index e845566..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.docs +++ /dev/null @@ -1 +0,0 @@ -README diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.install b/src/_nfdos/e2fsprogs/debian/e2fsprogs.install deleted file mode 100755 index 8cf07a6..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.install +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/dh-exec -sbin/badblocks -sbin/debugfs -sbin/dumpe2fs -sbin/e2fsck -sbin/e2image -sbin/e2label -sbin/e2mmpstatus -[linux-any] sbin/e2scrub -[linux-any] sbin/e2scrub_all -sbin/e2undo -sbin/fsck.ext? -sbin/mke2fs -sbin/mkfs.ext? -sbin/resize2fs -sbin/tune2fs -usr/bin/chattr -usr/bin/lsattr -[linux-any] usr/lib/*/e2fsprogs/e2scrub_all_cron -[linux-any] usr/lib/*/e2fsprogs/e2scrub_fail -usr/sbin/e2freefrag -[linux-any] usr/sbin/e4crypt -[linux-any] usr/sbin/e4defrag -usr/sbin/filefrag -usr/sbin/mklost+found -usr/share/man/man1/chattr.1 -usr/share/man/man1/lsattr.1 -usr/share/man/man5/e2fsck.conf.5 -usr/share/man/man5/ext?.5 -usr/share/man/man5/mke2fs.conf.5 -usr/share/man/man8/badblocks.8 -usr/share/man/man8/debugfs.8 -usr/share/man/man8/dumpe2fs.8 -usr/share/man/man8/e2freefrag.8 -usr/share/man/man8/e2fsck.8 -usr/share/man/man8/e2image.8 -usr/share/man/man8/e2label.8 -usr/share/man/man8/e2mmpstatus.8 -[linux-any] usr/share/man/man8/e2scrub.8 -[linux-any] usr/share/man/man8/e2scrub_all.8 -usr/share/man/man8/e2undo.8 -[linux-any] usr/share/man/man8/e4crypt.8 -[linux-any] usr/share/man/man8/e4defrag.8 -usr/share/man/man8/filefrag.8 -usr/share/man/man8/fsck.ext?.8 -usr/share/man/man8/mke2fs.8 -usr/share/man/man8/mkfs.ext?.8 -usr/share/man/man8/mklost+found.8 -usr/share/man/man8/resize2fs.8 -usr/share/man/man8/tune2fs.8 -etc -[linux-any] lib/udev/rules.d -[linux-any] lib/systemd/system diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.lintian-overrides b/src/_nfdos/e2fsprogs/debian/e2fsprogs.lintian-overrides deleted file mode 100644 index b40d113..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -e2fsprogs: package-supports-alternative-init-but-no-init.d-script diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst b/src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst deleted file mode 100644 index 00ac363..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -if [ -x /usr/sbin/update-initramfs -a \ - -e /etc/initramfs-tools/initramfs.conf ]; then - update-initramfs -u -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst.dh9 b/src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst.dh9 deleted file mode 100644 index e7acb0e..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.postinst.dh9 +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -if [ -x /usr/sbin/update-initramfs -a \ - -e /etc/initramfs-tools/initramfs.conf ]; then - update-initramfs -u -fi - -#DEBHELPER# - -# debhelper doesn't know what timers are... -update_svc() { - deb-systemd-helper unmask "$1" >/dev/null || true - - if deb-systemd-helper --quiet was-enabled "$1"; then - deb-systemd-helper enable "$1" >/dev/null || true - else - deb-systemd-helper update-state "$1" >/dev/null || true - fi -} -update_svc e2scrub_all.timer -update_svc e2scrub_reap.service - -# Start our new services -if [ -d /run/systemd/system ]; then - systemctl --system daemon-reload >/dev/null || true - deb-systemd-invoke start e2scrub_all.timer >/dev/null || true -fi - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.postrm.dh9 b/src/_nfdos/e2fsprogs/debian/e2fsprogs.postrm.dh9 deleted file mode 100644 index 32cb642..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.postrm.dh9 +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -update_svc() { - deb-systemd-helper mask "$1" >/dev/null || true - - if deb-systemd-helper --quiet was-enabled "$1"; then - # Enables the unit on first installation, creates new - # symlinks on upgrades if the unit file has changed. - deb-systemd-helper disable "$1" >/dev/null || true - fi -} - -if [ "$1" != "upgrade" ]; then - # Abort on error. - set -e - - if [ -x /usr/sbin/update-initramfs -a \ - -e /etc/initramfs-tools/initramfs.conf ]; then - update-initramfs -u - fi - - #DEBHELPER# - - # debhelper doesn't know what timers are... - update_svc e2scrub_all.timer - update_svc e2scrub_reap.service - - # Start our new services - if [ -d /run/systemd/system ]; then - deb-systemd-invoke stop e2scrub_all.timer >/dev/null || true - fi -fi - -exit 0 - diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.preinst b/src/_nfdos/e2fsprogs/debian/e2fsprogs.preinst deleted file mode 100644 index bfa9f6b..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.preinst +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -PKG=e2fsprogs -DOCLNK=/usr/share/doc/$PKG -if test "$1" = upgrade \ - -a -L $DOCLNK -then - rm $DOCLNK -fi - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/e2fsprogs.shlibs.local b/src/_nfdos/e2fsprogs/debian/e2fsprogs.shlibs.local deleted file mode 100644 index a99d2a0..0000000 --- a/src/_nfdos/e2fsprogs/debian/e2fsprogs.shlibs.local +++ /dev/null @@ -1,2 +0,0 @@ -libext2fs 2 libext2fs2 (= ${binary:Version}) -libe2p 2 libext2fs2 (= ${binary:Version}) diff --git a/src/_nfdos/e2fsprogs/debian/fuse2fs.install b/src/_nfdos/e2fsprogs/debian/fuse2fs.install deleted file mode 100644 index 2ed4c3c..0000000 --- a/src/_nfdos/e2fsprogs/debian/fuse2fs.install +++ /dev/null @@ -1,2 +0,0 @@ -/usr/bin/fuse2fs -/usr/share/man/man1/fuse2fs.1 diff --git a/src/_nfdos/e2fsprogs/debian/gbp.conf b/src/_nfdos/e2fsprogs/debian/gbp.conf deleted file mode 100644 index c974add..0000000 --- a/src/_nfdos/e2fsprogs/debian/gbp.conf +++ /dev/null @@ -1,4 +0,0 @@ -[DEFAULT] -pristine-tar = True -upstream-tag='v%(version)s' -debian-branch=debian/master diff --git a/src/_nfdos/e2fsprogs/debian/libblkid-dev.install b/src/_nfdos/e2fsprogs/debian/libblkid-dev.install deleted file mode 100644 index 7b3da36..0000000 --- a/src/_nfdos/e2fsprogs/debian/libblkid-dev.install +++ /dev/null @@ -1,4 +0,0 @@ -usr/lib/*/libblkid*.so.* -usr/include/blkid -usr/share/man/man3/libblkid.3 -usr/lib/*/pkgconfig/blkid.pc diff --git a/src/_nfdos/e2fsprogs/debian/libblkid1.install b/src/_nfdos/e2fsprogs/debian/libblkid1.install deleted file mode 100644 index 54ef86d..0000000 --- a/src/_nfdos/e2fsprogs/debian/libblkid1.install +++ /dev/null @@ -1 +0,0 @@ -lib/*/libblkid*.so.* diff --git a/src/_nfdos/e2fsprogs/debian/libblkid1.symbols b/src/_nfdos/e2fsprogs/debian/libblkid1.symbols deleted file mode 100644 index 5ab91f5..0000000 --- a/src/_nfdos/e2fsprogs/debian/libblkid1.symbols +++ /dev/null @@ -1,41 +0,0 @@ -libblkid.so.1 libblkid1 #MINVER# - blkid__scan_dir@Base 1.41.1 - blkid_debug_mask@Base 1.33 - blkid_dev_devname@Base 1.33 - blkid_dev_has_tag@Base 1.38 - blkid_dev_iterate_begin@Base 1.33 - blkid_dev_iterate_end@Base 1.33 - blkid_dev_next@Base 1.33 - blkid_dev_set_search@Base 1.38 -#MISSING: 1.41.1# blkid_devdirs@Base 1.34 - blkid_devno_to_devname@Base 1.33 - blkid_find_dev_with_tag@Base 1.33 - blkid_find_tag_dev@Base 1.33 - blkid_flush_cache@Base 1.33 - blkid_free_dev@Base 1.33 - blkid_free_tag@Base 1.33 - blkid_gc_cache@Base 1.40 - blkid_get_cache@Base 1.33 - blkid_get_dev@Base 1.33 - blkid_get_dev_size@Base 1.33 - blkid_get_devname@Base 1.33 - blkid_get_library_version@Base 1.37 - blkid_get_tag_value@Base 1.33 - blkid_known_fstype@Base 1.34 - blkid_llseek@Base 1.33 - blkid_new_dev@Base 1.33 - blkid_parse_tag_string@Base 1.33 - blkid_parse_version_string@Base 1.37 - blkid_probe_all@Base 1.33 - blkid_probe_all_new@Base 1.38 - blkid_put_cache@Base 1.33 - blkid_read_cache@Base 1.33 - blkid_set_tag@Base 1.33 - blkid_strdup@Base 1.33 - blkid_strndup@Base 1.33 - blkid_tag_iterate_begin@Base 1.33 - blkid_tag_iterate_end@Base 1.33 - blkid_tag_next@Base 1.33 - blkid_verify@Base 1.37 -#MISSING: 1.40.7# check_for_modules@Base 1.40.6 -#MISSING: 1.40.7# fs_proc_check@Base 1.40.6 diff --git a/src/_nfdos/e2fsprogs/debian/libcom-err2.install b/src/_nfdos/e2fsprogs/debian/libcom-err2.install deleted file mode 100644 index 16b039e..0000000 --- a/src/_nfdos/e2fsprogs/debian/libcom-err2.install +++ /dev/null @@ -1 +0,0 @@ -lib/*/libcom_err*.so.* diff --git a/src/_nfdos/e2fsprogs/debian/libcom-err2.symbols b/src/_nfdos/e2fsprogs/debian/libcom-err2.symbols deleted file mode 100644 index 1c96fa5..0000000 --- a/src/_nfdos/e2fsprogs/debian/libcom-err2.symbols +++ /dev/null @@ -1,22 +0,0 @@ -libcom_err.so.2 libcom-err2 #MINVER# -* Build-Depends-Package: comerr-dev - _et_dynamic_list@Base 1.43.9 - _et_list@Base 1.43.9 - add_error_table@Base 1.43.9 - add_to_error_table@Base 1.43.9 - com_err@Base 1.43.9 - com_err_hook@Base 1.43.9 - com_err_va@Base 1.43.9 - com_right@Base 1.43.9 - com_right_r@Base 1.43.9 - error_message@Base 1.43.9 - error_table_name@Base 1.43.9 - et_list_lock@Base 1.43.9 - et_list_unlock@Base 1.43.9 - free_error_table@Base 1.43.9 - init_error_table@Base 1.43.9 - initialize_error_table_r@Base 1.43.9 - remove_error_table@Base 1.43.9 - reset_com_err_hook@Base 1.43.9 - set_com_err_gettext@Base 1.43.9 - set_com_err_hook@Base 1.43.9 diff --git a/src/_nfdos/e2fsprogs/debian/libext2fs-dev.doc-base b/src/_nfdos/e2fsprogs/debian/libext2fs-dev.doc-base deleted file mode 100644 index b115117..0000000 --- a/src/_nfdos/e2fsprogs/debian/libext2fs-dev.doc-base +++ /dev/null @@ -1,10 +0,0 @@ -Document: libext2fs -Title: The EXT2FS library -Author: Theodore Ts'o -Abstract: The EXT2FS library is designed to allow - user-level programs to manipulate an ext2 filesystem. -Section: Programming - -Format: HTML -Index: /usr/share/doc/libext2fs2/html-info/libext2fs.html -Files: /usr/share/doc/libext2fs2/html-info/*.html diff --git a/src/_nfdos/e2fsprogs/debian/libext2fs-dev.install b/src/_nfdos/e2fsprogs/debian/libext2fs-dev.install deleted file mode 100644 index b2cd6c9..0000000 --- a/src/_nfdos/e2fsprogs/debian/libext2fs-dev.install +++ /dev/null @@ -1,9 +0,0 @@ -usr/lib/*/libext2fs*.so -usr/lib/*/libext2fs*.a -usr/lib/*/libe2p*.so -usr/lib/*/libe2p*.a -usr/include/ext2fs -usr/include/e2p -usr/share/info/libext2fs.info* -usr/lib/*/pkgconfig/e2p.pc -usr/lib/*/pkgconfig/ext2fs.pc diff --git a/src/_nfdos/e2fsprogs/debian/libext2fs2.install b/src/_nfdos/e2fsprogs/debian/libext2fs2.install deleted file mode 100644 index 11198f7..0000000 --- a/src/_nfdos/e2fsprogs/debian/libext2fs2.install +++ /dev/null @@ -1,2 +0,0 @@ -lib/*/libext2fs*.so.* -lib/*/libe2p*.so.* diff --git a/src/_nfdos/e2fsprogs/debian/libext2fs2.symbols b/src/_nfdos/e2fsprogs/debian/libext2fs2.symbols deleted file mode 100644 index 6a97cf1..0000000 --- a/src/_nfdos/e2fsprogs/debian/libext2fs2.symbols +++ /dev/null @@ -1,707 +0,0 @@ -libe2p.so.2 libext2fs2 #MINVER# -* Build-Depends-Package: libext2fs-dev - e2p_edit_feature2@Base 1.40.7 - e2p_edit_feature@Base 1.37 - e2p_edit_mntopts@Base 1.37 - e2p_encmode2string@Base 1.43 - e2p_encoding2str@Base 1.45.1 - e2p_errcode2str@Base 1.46.0 - e2p_feature2string@Base 1.37 - e2p_feature_to_string@Base 1.45.6 - e2p_get_encoding_flags@Base 1.45 - e2p_hash2string@Base 1.37 - e2p_is_null_uuid@Base 1.37 - e2p_jrnl_feature2string@Base 1.41.1 - e2p_jrnl_string2feature@Base 1.41.1 - e2p_list_journal_super@Base 1.43.5 - e2p_mntopt2string@Base 1.37 - e2p_os2string@Base 1.37 - e2p_percent@Base 1.40 - e2p_str2encoding@Base 1.45 - e2p_str2encoding_flags@Base 1.45 - e2p_string2encmode@Base 1.43 - e2p_string2feature@Base 1.37 - e2p_string2hash@Base 1.37 - e2p_string2mntopt@Base 1.37 - e2p_string2os@Base 1.37 - e2p_uuid2str@Base 1.37 - e2p_uuid_to_str@Base 1.37 - fgetflags@Base 1.37 - fgetproject@Base 1.43 - fgetversion@Base 1.37 - fsetflags@Base 1.37 - fsetproject@Base 1.43 - fsetversion@Base 1.37 - getflags@Base 1.37 - getversion@Base 1.37 - iterate_on_dir@Base 1.37 - list_super2@Base 1.37 - list_super@Base 1.37 - parse_num_blocks2@Base 1.42 - parse_num_blocks@Base 1.37 - print_flags@Base 1.37 - print_fs_errors@Base 1.37 - print_fs_state@Base 1.37 - setflags@Base 1.37 - setversion@Base 1.37 -libext2fs.so.2 libext2fs2 #MINVER# -* Build-Depends-Package: libext2fs-dev - badblocks_list_add@Base 1.37 - badblocks_list_create@Base 1.37 - badblocks_list_free@Base 1.37 - badblocks_list_iterate@Base 1.37 - badblocks_list_iterate_begin@Base 1.37 - badblocks_list_iterate_end@Base 1.37 - badblocks_list_test@Base 1.37 - et_ext2_error_table@Base 1.37 - ext2fs_add_dir_block2@Base 1.42 - ext2fs_add_dir_block@Base 1.37 - ext2fs_add_exit_fn@Base 1.43 - ext2fs_add_journal_device@Base 1.37 - ext2fs_add_journal_inode2@Base 1.42.9-3~ - ext2fs_add_journal_inode3@Base 1.46.0 - ext2fs_add_journal_inode@Base 1.37 - ext2fs_adjust_ea_refcount2@Base 1.42 - ext2fs_adjust_ea_refcount3@Base 1.43 - ext2fs_adjust_ea_refcount@Base 1.37 - ext2fs_alloc_block2@Base 1.42 - ext2fs_alloc_block3@Base 1.44.0~rc1 - ext2fs_alloc_block@Base 1.37 - ext2fs_alloc_generic_bmap@Base 1.42 - ext2fs_alloc_range@Base 1.43 - ext2fs_allocate_block_bitmap@Base 1.37 - ext2fs_allocate_generic_bitmap@Base 1.37 - ext2fs_allocate_group_table@Base 1.37 - ext2fs_allocate_inode_bitmap@Base 1.37 - ext2fs_allocate_subcluster_bitmap@Base 1.42 - ext2fs_allocate_tables@Base 1.37 - ext2fs_badblocks_copy@Base 1.37 - ext2fs_badblocks_equal@Base 1.37 - ext2fs_badblocks_list_add@Base 1.37 - ext2fs_badblocks_list_create@Base 1.37 - ext2fs_badblocks_list_del@Base 1.37 - ext2fs_badblocks_list_free@Base 1.37 - ext2fs_badblocks_list_iterate@Base 1.37 - ext2fs_badblocks_list_iterate_begin@Base 1.37 - ext2fs_badblocks_list_iterate_end@Base 1.37 - ext2fs_badblocks_list_test@Base 1.37 - ext2fs_bg_checksum@Base 1.42 - ext2fs_bg_checksum_set@Base 1.42 - ext2fs_bg_flags@Base 1.42 - ext2fs_bg_flags_clear@Base 1.42 - ext2fs_bg_flags_set@Base 1.42 - ext2fs_bg_flags_test@Base 1.42 - ext2fs_bg_flags_zap@Base 1.42 - ext2fs_bg_free_blocks_count@Base 1.42 - ext2fs_bg_free_blocks_count_set@Base 1.42 - ext2fs_bg_free_inodes_count@Base 1.42 - ext2fs_bg_free_inodes_count_set@Base 1.42 - ext2fs_bg_has_super@Base 1.37 - ext2fs_bg_itable_unused@Base 1.42 - ext2fs_bg_itable_unused_set@Base 1.42 - ext2fs_bg_used_dirs_count@Base 1.42 - ext2fs_bg_used_dirs_count_set@Base 1.42 - ext2fs_bitcount@Base 1.42.7 - ext2fs_blkmap64_bitarray@Base 1.42 - ext2fs_blkmap64_rbtree@Base 1.42.1 - ext2fs_block_alloc_stats2@Base 1.42 - ext2fs_block_alloc_stats@Base 1.37 - ext2fs_block_alloc_stats_range@Base 1.42.9-3~ - ext2fs_block_bitmap_checksum@Base 1.43 - ext2fs_block_bitmap_csum_set@Base 1.43 - ext2fs_block_bitmap_csum_verify@Base 1.43 - ext2fs_block_bitmap_loc@Base 1.42 - ext2fs_block_bitmap_loc_set@Base 1.42 - ext2fs_block_iterate2@Base 1.37 - ext2fs_block_iterate3@Base 1.42 - ext2fs_block_iterate@Base 1.37 - ext2fs_blocks_count@Base 1.42 - ext2fs_blocks_count_add@Base 1.42 - ext2fs_blocks_count_set@Base 1.42 - ext2fs_bmap2@Base 1.41.0 - ext2fs_bmap@Base 1.37 - ext2fs_calculate_summary_stats@Base 1.46.0 - ext2fs_casefold_cmp@Base 1.46.0 - ext2fs_check_desc@Base 1.37 - ext2fs_check_directory@Base 1.37 - ext2fs_check_encoded_name@Base 1.46.0 - ext2fs_check_if_mounted@Base 1.37 - ext2fs_check_mount_point@Base 1.37 - ext2fs_clear_bit64@Base 1.42 - ext2fs_clear_bit@Base 1.37 - ext2fs_clear_block_bitmap@Base 1.37 - ext2fs_clear_block_uninit@Base 1.43 - ext2fs_clear_generic_bitmap@Base 1.41.0 - ext2fs_clear_generic_bmap@Base 1.42 - ext2fs_clear_inode_bitmap@Base 1.37 - ext2fs_close2@Base 1.42 - ext2fs_close@Base 1.37 - ext2fs_close_free@Base 1.42.11 - ext2fs_close_inode_scan@Base 1.37 - ext2fs_compare_block_bitmap@Base 1.37 - ext2fs_compare_generic_bitmap@Base 1.41.0 - ext2fs_compare_generic_bmap@Base 1.42 - ext2fs_compare_inode_bitmap@Base 1.37 - ext2fs_const_inode@Base 1.43 - ext2fs_convert_subcluster_bitmap@Base 1.42 - ext2fs_copy_bitmap@Base 1.37 - ext2fs_copy_dblist@Base 1.37 - ext2fs_copy_generic_bitmap@Base 1.41.0 - ext2fs_copy_generic_bmap@Base 1.42 - ext2fs_count_blocks@Base 1.46.0 - ext2fs_count_used_clusters@Base 1.46.0 - ext2fs_crc16@Base 1.41.1 - ext2fs_crc32_be@Base 1.43 - ext2fs_crc32c_le@Base 1.42 - ext2fs_create_icount2@Base 1.37 - ext2fs_create_icount@Base 1.37 - ext2fs_create_icount_tdb@Base 1.40 - ext2fs_create_inode_cache@Base 1.43 - ext2fs_create_journal_superblock2@Base 1.46.0 - ext2fs_create_journal_superblock@Base 1.37 - ext2fs_create_orphan_file@Base 1.47.0 - ext2fs_create_resize_inode@Base 1.37 - ext2fs_dblist_count2@Base 1.42 - ext2fs_dblist_count@Base 1.37 - ext2fs_dblist_dir_iterate@Base 1.37 - ext2fs_dblist_drop_last@Base 1.40.8 - ext2fs_dblist_get_last2@Base 1.42 - ext2fs_dblist_get_last@Base 1.40.8 - ext2fs_dblist_iterate2@Base 1.42 - ext2fs_dblist_iterate3@Base 1.43 - ext2fs_dblist_iterate@Base 1.37 - ext2fs_dblist_sort2@Base 1.42 - ext2fs_dblist_sort@Base 1.37 - ext2fs_decode_extent@Base 1.46.0 - ext2fs_default_journal_size@Base 1.40 - ext2fs_default_orphan_file_blocks@Base 1.47.0 - ext2fs_descriptor_block_loc2@Base 1.42 - ext2fs_descriptor_block_loc@Base 1.37 - ext2fs_dir_block_csum_set@Base 1.43 - ext2fs_dir_block_csum_verify@Base 1.43 - ext2fs_dir_iterate2@Base 1.37 - ext2fs_dir_iterate@Base 1.37 - ext2fs_dirent_csum_verify@Base 1.43 - ext2fs_dirent_file_type@Base 1.43 - ext2fs_dirent_has_tail@Base 1.43 - ext2fs_dirent_name_len@Base 1.43 - ext2fs_dirent_set_file_type@Base 1.43 - ext2fs_dirent_set_name_len@Base 1.43 - ext2fs_dirent_swab_in2@Base 1.43 - ext2fs_dirent_swab_in@Base 1.43 - ext2fs_dirent_swab_out2@Base 1.43 - ext2fs_dirent_swab_out@Base 1.43 - ext2fs_dirhash2@Base 1.45 - ext2fs_dirhash@Base 1.37 - ext2fs_div64_ceil@Base 1.42 - ext2fs_div_ceil@Base 1.40 - ext2fs_djb2_hash@Base 1.44.3~rc1 - ext2fs_do_orphan_file_block_csum@Base 1.47.0 - ext2fs_dup_handle@Base 1.37 - ext2fs_dx_csum@Base 1.46~WIP.2019.10.09 - ext2fs_expand_dir@Base 1.37 - ext2fs_ext_attr_block_csum_set@Base 1.43 - ext2fs_ext_attr_block_csum_verify@Base 1.43 - ext2fs_ext_attr_block_rehash@Base 1.44.0~rc1 - ext2fs_ext_attr_hash_entry2@Base 1.44.0~rc1 - ext2fs_ext_attr_hash_entry3@Base 1.46.6 - ext2fs_ext_attr_hash_entry@Base 1.41.0 - ext2fs_ext_attr_hash_entry_signed@Base 1.46.6 - ext2fs_extent_block_csum_set@Base 1.43 - ext2fs_extent_block_csum_verify@Base 1.43 - ext2fs_extent_delete@Base 1.41.0 - ext2fs_extent_fix_parents@Base 1.42.7 - ext2fs_extent_free@Base 1.41.0 - ext2fs_extent_get@Base 1.41.0 - ext2fs_extent_get_info@Base 1.41.0 - ext2fs_extent_goto2@Base 1.42.7 - ext2fs_extent_goto@Base 1.41.0 - ext2fs_extent_header_verify@Base 1.41.0 - ext2fs_extent_insert@Base 1.41.0 - ext2fs_extent_node_split@Base 1.42.7 - ext2fs_extent_open2@Base 1.41.6 - ext2fs_extent_open@Base 1.41.0 - ext2fs_extent_replace@Base 1.41.0 - ext2fs_extent_set_bmap@Base 1.41.0 - ext2fs_fallocate@Base 1.43 - ext2fs_fast_clear_bit64@Base 1.42 - ext2fs_fast_clear_bit@Base 1.39 - ext2fs_fast_mark_block_bitmap2@Base 1.42 - ext2fs_fast_mark_block_bitmap@Base 1.37 - ext2fs_fast_mark_block_bitmap_range2@Base 1.42 - ext2fs_fast_mark_block_bitmap_range@Base 1.37 - ext2fs_fast_mark_inode_bitmap2@Base 1.42 - ext2fs_fast_mark_inode_bitmap@Base 1.37 - ext2fs_fast_set_bit64@Base 1.42 - ext2fs_fast_set_bit@Base 1.39 - ext2fs_fast_test_block_bitmap2@Base 1.42 - ext2fs_fast_test_block_bitmap@Base 1.37 - ext2fs_fast_test_block_bitmap_range2@Base 1.42 - ext2fs_fast_test_block_bitmap_range@Base 1.37 - ext2fs_fast_test_inode_bitmap2@Base 1.42 - ext2fs_fast_test_inode_bitmap@Base 1.37 - ext2fs_fast_unmark_block_bitmap2@Base 1.42 - ext2fs_fast_unmark_block_bitmap@Base 1.37 - ext2fs_fast_unmark_block_bitmap_range2@Base 1.42 - ext2fs_fast_unmark_block_bitmap_range@Base 1.37 - ext2fs_fast_unmark_inode_bitmap2@Base 1.42 - ext2fs_fast_unmark_inode_bitmap@Base 1.37 - ext2fs_file_acl_block@Base 1.42 - ext2fs_file_acl_block_set@Base 1.42 - ext2fs_file_block_offset_too_big@Base 1.42.9 - ext2fs_file_close@Base 1.37 - ext2fs_file_flush@Base 1.37 - ext2fs_file_get_fs@Base 1.37 - ext2fs_file_get_inode@Base 1.42 - ext2fs_file_get_inode_num@Base 1.42.1 - ext2fs_file_get_lsize@Base 1.37 - ext2fs_file_get_size@Base 1.37 - ext2fs_file_llseek@Base 1.37 - ext2fs_load_nls_table@Base 1.45.1 - ext2fs_file_lseek@Base 1.37 - ext2fs_file_open2@Base 1.37 - ext2fs_file_open@Base 1.37 - ext2fs_file_read@Base 1.37 - ext2fs_file_set_size2@Base 1.42 - ext2fs_file_set_size@Base 1.37 - ext2fs_file_write@Base 1.37 - ext2fs_find_block_device@Base 1.37 - ext2fs_find_first_set_block_bitmap2@Base 1.42.9-3~ - ext2fs_find_first_set_generic_bitmap@Base 1.42.9-3~ - ext2fs_find_first_set_generic_bmap@Base 1.42.9-3~ - ext2fs_find_first_set_inode_bitmap2@Base 1.42.9-3~ - ext2fs_find_first_zero_block_bitmap2@Base 1.42.2 - ext2fs_find_first_zero_generic_bitmap@Base 1.42.3 - ext2fs_find_first_zero_generic_bmap@Base 1.42.2 - ext2fs_find_first_zero_inode_bitmap2@Base 1.42.2 - ext2fs_find_inode_goal@Base 1.43 - ext2fs_fix_extents_checksums@Base 1.45 - ext2fs_flush2@Base 1.42 - ext2fs_flush@Base 1.37 - ext2fs_flush_icache@Base 1.37 - ext2fs_follow_link@Base 1.37 - ext2fs_free@Base 1.37 - ext2fs_free_block_bitmap@Base 1.37 - ext2fs_free_blocks_count@Base 1.42 - ext2fs_free_blocks_count_add@Base 1.42 - ext2fs_free_blocks_count_set@Base 1.42 - ext2fs_free_dblist@Base 1.37 - ext2fs_free_ext_attr@Base 1.43 - ext2fs_free_generic_bitmap@Base 1.37 - ext2fs_free_generic_bmap@Base 1.42 - ext2fs_free_icount@Base 1.37 - ext2fs_free_inode_bitmap@Base 1.37 - ext2fs_free_inode_cache@Base 1.43 - ext2fs_free_mem@Base 1.37 - ext2fs_fstat@Base 1.42 - ext2fs_fudge_block_bitmap_end2@Base 1.42 - ext2fs_fudge_block_bitmap_end@Base 1.37 - ext2fs_fudge_generic_bitmap_end@Base 1.41.0 - ext2fs_fudge_generic_bmap_end@Base 1.42 - ext2fs_fudge_inode_bitmap_end@Base 1.37 - ext2fs_get_array@Base 1.40.3 - ext2fs_get_arrayzero@Base 1.42 - ext2fs_get_bitmap_granularity@Base 1.42 - ext2fs_get_block_bitmap_end2@Base 1.42 - ext2fs_get_block_bitmap_end@Base 1.37 - ext2fs_get_block_bitmap_range2@Base 1.42 - ext2fs_get_block_bitmap_range@Base 1.41.0 - ext2fs_get_block_bitmap_start2@Base 1.42 - ext2fs_get_block_bitmap_start@Base 1.37 - ext2fs_get_blocks@Base 1.37 - ext2fs_get_data_io@Base 1.37 - ext2fs_get_device_phys_sectsize@Base 1.41.12 - ext2fs_get_device_sectsize@Base 1.37 - ext2fs_get_device_size2@Base 1.41.4 - ext2fs_get_device_size@Base 1.37 - ext2fs_get_dio_alignment@Base 1.42.3 - ext2fs_get_dx_countlimit@Base 1.43 - ext2fs_get_ea_inode_hash@Base 1.44.0~rc1 - ext2fs_get_ea_inode_ref@Base 1.44.0~rc1 - ext2fs_get_free_blocks2@Base 1.42 - ext2fs_get_free_blocks@Base 1.37 - ext2fs_get_generic_bitmap_end@Base 1.41.0 - ext2fs_get_generic_bitmap_range@Base 1.41.0 - ext2fs_get_generic_bitmap_start@Base 1.41.0 - ext2fs_get_generic_bmap_end@Base 1.42 - ext2fs_get_generic_bmap_range@Base 1.42 - ext2fs_get_generic_bmap_start@Base 1.42 - ext2fs_get_icount_size@Base 1.37 - ext2fs_get_inode_bitmap_end2@Base 1.42 - ext2fs_get_inode_bitmap_end@Base 1.37 - ext2fs_get_inode_bitmap_range2@Base 1.42 - ext2fs_get_inode_bitmap_range@Base 1.41.0 - ext2fs_get_inode_bitmap_start2@Base 1.42 - ext2fs_get_inode_bitmap_start@Base 1.37 - ext2fs_get_journal_params@Base 1.46.0 - ext2fs_get_library_version@Base 1.37 - ext2fs_get_mem@Base 1.37 - ext2fs_get_memalign@Base 1.41.13 - ext2fs_get_memzero@Base 1.42 - ext2fs_get_next_inode@Base 1.37 - ext2fs_get_next_inode_full@Base 1.37 - ext2fs_get_num_dirs@Base 1.37 - ext2fs_get_pathname@Base 1.37 - ext2fs_get_rec_len@Base 1.41.7 - ext2fs_get_stat_i_blocks@Base 1.45.5 - ext2fs_group_blocks_count@Base 1.42 - ext2fs_group_desc@Base 1.42 - ext2fs_group_desc_csum@Base 1.42.2 - ext2fs_group_desc_csum_set@Base 1.41.0 - ext2fs_group_desc_csum_verify@Base 1.41.0 - ext2fs_group_first_block2@Base 1.42 - ext2fs_group_first_block@Base 1.40 - ext2fs_group_last_block2@Base 1.42 - ext2fs_group_last_block@Base 1.40 - ext2fs_group_of_blk2@Base 1.42 - ext2fs_group_of_blk@Base 1.37 - ext2fs_group_of_ino@Base 1.37 - ext2fs_hashmap_add@Base 1.44.3~rc1 - ext2fs_hashmap_create@Base 1.44.3~rc1 - ext2fs_hashmap_free@Base 1.44.3~rc1 - ext2fs_hashmap_iter_in_order@Base 1.44.3~rc1 - ext2fs_hashmap_lookup@Base 1.44.3~rc1 - ext2fs_htree_intnode_maxrecs@Base 1.44.0~rc1 - ext2fs_iblk_add_blocks@Base 1.41.0 - ext2fs_iblk_set@Base 1.41.0 - ext2fs_iblk_sub_blocks@Base 1.41.0 - ext2fs_icount_decrement@Base 1.37 - ext2fs_icount_fetch@Base 1.37 - ext2fs_icount_increment@Base 1.37 - ext2fs_icount_store@Base 1.37 - ext2fs_icount_validate@Base 1.37 - ext2fs_image_bitmap_read@Base 1.37 - ext2fs_image_bitmap_write@Base 1.37 - ext2fs_image_inode_read@Base 1.37 - ext2fs_image_inode_write@Base 1.37 - ext2fs_image_super_read@Base 1.37 - ext2fs_image_super_write@Base 1.37 - ext2fs_init_csum_seed@Base 1.43 - ext2fs_init_dblist@Base 1.37 - ext2fs_initialize@Base 1.37 - ext2fs_initialize_dirent_tail@Base 1.43 - ext2fs_inline_data_dir_iterate@Base 1.43 - ext2fs_inline_data_ea_remove@Base 1.43 - ext2fs_inline_data_expand@Base 1.43 - ext2fs_inline_data_get@Base 1.43 - ext2fs_inline_data_init@Base 1.43 - ext2fs_inline_data_set@Base 1.43 - ext2fs_inline_data_size@Base 1.43 - ext2fs_inode@Base 1.43 - ext2fs_inode_alloc_stats2@Base 1.37 - ext2fs_inode_alloc_stats@Base 1.37 - ext2fs_inode_bitmap_checksum@Base 1.43 - ext2fs_inode_bitmap_csum_set@Base 1.43 - ext2fs_inode_bitmap_csum_verify@Base 1.43 - ext2fs_inode_bitmap_loc@Base 1.42 - ext2fs_inode_bitmap_loc_set@Base 1.42 - ext2fs_inode_csum_set@Base 1.43 - ext2fs_inode_csum_verify@Base 1.43 - ext2fs_inode_data_blocks2@Base 1.42 - ext2fs_inode_data_blocks@Base 1.37 - ext2fs_inode_has_valid_blocks2@Base 1.42 - ext2fs_inode_has_valid_blocks@Base 1.37 - ext2fs_inode_i_blocks@Base 1.42 - ext2fs_inode_io_intern2@Base 1.37 - ext2fs_inode_io_intern@Base 1.37 - ext2fs_inode_scan_flags@Base 1.37 - ext2fs_inode_scan_goto_blockgroup@Base 1.37 - ext2fs_inode_size_set@Base 1.42.12 - ext2fs_inode_table_loc@Base 1.42 - ext2fs_inode_table_loc_set@Base 1.42 - ext2fs_inodes_per_orphan_block@Base 1.47.0 - ext2fs_is_fast_symlink@Base 1.44.0~rc1 - ext2fs_journal_sb_start@Base 1.42.12 - ext2fs_link@Base 1.37 - ext2fs_llseek@Base 1.37 - ext2fs_lookup@Base 1.37 - ext2fs_make_generic_bitmap@Base 1.41.0 - ext2fs_map_cluster_block@Base 1.42.9 - ext2fs_mark_bb_dirty@Base 1.37 - ext2fs_mark_block_bitmap2@Base 1.42 - ext2fs_mark_block_bitmap@Base 1.37 - ext2fs_mark_block_bitmap_range2@Base 1.42 - ext2fs_mark_block_bitmap_range@Base 1.37 - ext2fs_mark_changed@Base 1.37 - ext2fs_mark_generic_bitmap@Base 1.37 - ext2fs_mark_generic_bmap@Base 1.42 - ext2fs_mark_ib_dirty@Base 1.37 - ext2fs_mark_inode_bitmap2@Base 1.42 - ext2fs_mark_inode_bitmap@Base 1.37 - ext2fs_mark_super_dirty@Base 1.37 - ext2fs_mark_valid@Base 1.37 - ext2fs_max_extent_depth@Base 1.43 - ext2fs_mem_is_zero@Base 1.42 - ext2fs_mkdir@Base 1.37 - ext2fs_mmp_clear@Base 1.42 - ext2fs_mmp_csum_set@Base 1.43 - ext2fs_mmp_csum_verify@Base 1.43 - ext2fs_mmp_init@Base 1.42 - ext2fs_mmp_new_seq@Base 1.42 - ext2fs_mmp_read@Base 1.42 - ext2fs_mmp_start@Base 1.42 - ext2fs_mmp_stop@Base 1.42 - ext2fs_mmp_update2@Base 1.43 - ext2fs_mmp_update@Base 1.42 - ext2fs_mmp_write@Base 1.42 - ext2fs_namei@Base 1.37 - ext2fs_namei_follow@Base 1.37 - ext2fs_native_flag@Base 1.37 - ext2fs_new_block2@Base 1.42 - ext2fs_new_block3@Base 1.44.0~rc1 - ext2fs_new_block@Base 1.37 - ext2fs_new_dir_block@Base 1.37 - ext2fs_new_dir_inline_data@Base 1.43 - ext2fs_new_inode@Base 1.37 - ext2fs_new_range@Base 1.43 - ext2fs_numeric_progress_close@Base 1.42 - ext2fs_numeric_progress_init@Base 1.42 - ext2fs_numeric_progress_ops@Base 1.43 - ext2fs_numeric_progress_update@Base 1.42 - ext2fs_open2@Base 1.37 - ext2fs_open@Base 1.37 - ext2fs_open_file@Base 1.42 - ext2fs_open_inode_scan@Base 1.37 - ext2fs_orphan_block_tail@Base 1.47.0 - ext2fs_orphan_file_block_csum_set@Base 1.47.0 - ext2fs_orphan_file_block_csum_verify@Base 1.47.0 - ext2fs_parse_version_string@Base 1.37 - ext2fs_process_dir_block@Base 1.37 - ext2fs_punch@Base 1.42 - ext2fs_r_blocks_count@Base 1.42 - ext2fs_r_blocks_count_add@Base 1.42 - ext2fs_r_blocks_count_set@Base 1.42 - ext2fs_rb_erase@Base 1.42.1 - ext2fs_rb_first@Base 1.42.1 - ext2fs_rb_insert_color@Base 1.42.1 - ext2fs_rb_last@Base 1.42.1 - ext2fs_rb_next@Base 1.42.1 - ext2fs_rb_prev@Base 1.42.1 - ext2fs_rb_replace_node@Base 1.42.1 - ext2fs_read_bb_FILE2@Base 1.37 - ext2fs_read_bb_FILE@Base 1.37 - ext2fs_read_bb_inode@Base 1.37 - ext2fs_read_bitmaps@Base 1.37 - ext2fs_read_block_bitmap@Base 1.37 - ext2fs_read_dir_block2@Base 1.37 - ext2fs_read_dir_block3@Base 1.42 - ext2fs_read_dir_block4@Base 1.43 - ext2fs_read_dir_block@Base 1.37 - ext2fs_read_ext_attr2@Base 1.42 - ext2fs_read_ext_attr3@Base 1.43 - ext2fs_read_ext_attr@Base 1.37 - ext2fs_read_ind_block@Base 1.37 - ext2fs_read_inode2@Base 1.45 - ext2fs_read_inode@Base 1.37 - ext2fs_read_inode_bitmap@Base 1.37 - ext2fs_read_inode_full@Base 1.37 - ext2fs_remove_exit_fn@Base 1.43 - ext2fs_reserve_super_and_bgd@Base 1.37 - ext2fs_resize_array@Base 1.45.6 - ext2fs_resize_block_bitmap2@Base 1.42 - ext2fs_resize_block_bitmap@Base 1.37 - ext2fs_resize_generic_bitmap@Base 1.37 - ext2fs_resize_generic_bmap@Base 1.42 - ext2fs_resize_inode_bitmap2@Base 1.42 - ext2fs_resize_inode_bitmap@Base 1.37 - ext2fs_resize_mem@Base 1.37 - ext2fs_rewrite_to_io@Base 1.37 - ext2fs_rw_bitmaps@Base 1.46.0 - ext2fs_set_alloc_block_callback@Base 1.41.0 - ext2fs_set_bit64@Base 1.42 - ext2fs_set_bit@Base 1.37 - ext2fs_set_bitmap_padding@Base 1.37 - ext2fs_set_block_alloc_stats_callback@Base 1.41.0 - ext2fs_set_block_alloc_stats_range_callback@Base 1.43 - ext2fs_set_block_bitmap_range2@Base 1.42 - ext2fs_set_block_bitmap_range@Base 1.41.0 - ext2fs_set_data_io@Base 1.37 - ext2fs_set_dir_block2@Base 1.42 - ext2fs_set_dir_block@Base 1.37 - ext2fs_set_ea_inode_hash@Base 1.44.0~rc1 - ext2fs_set_ea_inode_ref@Base 1.44.0~rc1 - ext2fs_set_gdt_csum@Base 1.41.0 - ext2fs_set_generic_bitmap_padding@Base 1.41.0 - ext2fs_set_generic_bitmap_range@Base 1.41.0 - ext2fs_set_generic_bmap_padding@Base 1.42 - ext2fs_set_generic_bmap_range@Base 1.42 - ext2fs_set_inode_bitmap_range2@Base 1.42 - ext2fs_set_inode_bitmap_range@Base 1.41.0 - ext2fs_set_inode_callback@Base 1.37 - ext2fs_set_new_range_callback@Base 1.43 - ext2fs_set_rec_len@Base 1.41.7 - ext2fs_sha512@Base 1.43 - ext2fs_stat@Base 1.42 - ext2fs_super_and_bgd_loc2@Base 1.42 - ext2fs_super_and_bgd_loc@Base 1.37 - ext2fs_superblock_csum_set@Base 1.43 - ext2fs_superblock_csum_verify@Base 1.43 - ext2fs_swab16@Base 1.37 - ext2fs_swab32@Base 1.37 - ext2fs_swab64@Base 1.40 - ext2fs_swap_ext_attr@Base 1.40 - ext2fs_swap_ext_attr_entry@Base 1.41 - ext2fs_swap_ext_attr_header@Base 1.41 - ext2fs_swap_group_desc2@Base 1.42 - ext2fs_swap_group_desc@Base 1.37 - ext2fs_swap_inode@Base 1.37 - ext2fs_swap_inode_full@Base 1.40 - ext2fs_swap_mmp@Base 1.42 - ext2fs_swap_super@Base 1.37 - ext2fs_symlink@Base 1.42.7 - ext2fs_sync_device@Base 1.37 - ext2fs_tdb_append@Base 1.40 - ext2fs_tdb_chainlock@Base 1.40 - ext2fs_tdb_chainlock_mark@Base 1.40.7 - ext2fs_tdb_chainlock_nonblock@Base 1.40.7 - ext2fs_tdb_chainlock_read@Base 1.40 - ext2fs_tdb_chainlock_unmark@Base 1.40.7 - ext2fs_tdb_chainunlock@Base 1.40 - ext2fs_tdb_chainunlock_read@Base 1.40 - ext2fs_tdb_close@Base 1.40 - ext2fs_tdb_delete@Base 1.40 - ext2fs_tdb_dump_all@Base 1.40 - ext2fs_tdb_enable_seqnum@Base 1.40.7 - ext2fs_tdb_error@Base 1.40 - ext2fs_tdb_errorstr@Base 1.40 - ext2fs_tdb_exists@Base 1.40 - ext2fs_tdb_fd@Base 1.40 - ext2fs_tdb_fetch@Base 1.40 - ext2fs_tdb_firstkey@Base 1.40 - ext2fs_tdb_flush@Base 1.43 - ext2fs_tdb_get_flags@Base 1.40 - ext2fs_tdb_get_logging_private@Base 1.40 - ext2fs_tdb_get_seqnum@Base 1.40 - ext2fs_tdb_hash_size@Base 1.40 - ext2fs_tdb_increment_seqnum_nonblock@Base 1.40.7 - ext2fs_tdb_lock_nonblock@Base 1.40.7 - ext2fs_tdb_lockall@Base 1.40 - ext2fs_tdb_lockall_mark@Base 1.40.7 - ext2fs_tdb_lockall_nonblock@Base 1.40.7 - ext2fs_tdb_lockall_read@Base 1.40 - ext2fs_tdb_lockall_read_nonblock@Base 1.40.7 - ext2fs_tdb_lockall_unmark@Base 1.40.7 - ext2fs_tdb_log_fn@Base 1.40 - ext2fs_tdb_map_size@Base 1.40 - ext2fs_tdb_name@Base 1.40 - ext2fs_tdb_nextkey@Base 1.40 - ext2fs_tdb_open@Base 1.40 - ext2fs_tdb_open_ex@Base 1.40 - ext2fs_tdb_parse_record@Base 1.40 - ext2fs_tdb_printfreelist@Base 1.40 - ext2fs_tdb_reopen@Base 1.40 - ext2fs_tdb_reopen_all@Base 1.40 - ext2fs_tdb_set_logging_function@Base 1.40 - ext2fs_tdb_set_max_dead@Base 1.40 - ext2fs_tdb_store@Base 1.40 - ext2fs_tdb_transaction_cancel@Base 1.40 - ext2fs_tdb_transaction_commit@Base 1.40 - ext2fs_tdb_transaction_recover@Base 1.40 - ext2fs_tdb_transaction_start@Base 1.40 - ext2fs_tdb_traverse@Base 1.40 - ext2fs_tdb_traverse_read@Base 1.40 - ext2fs_tdb_unlockall@Base 1.40 - ext2fs_tdb_unlockall_read@Base 1.40 - ext2fs_tdb_validate_freelist@Base 1.40 - ext2fs_test_bb_dirty@Base 1.37 - ext2fs_test_bit64@Base 1.42 - ext2fs_test_bit@Base 1.37 - ext2fs_test_block_bitmap2@Base 1.42 - ext2fs_test_block_bitmap@Base 1.37 - ext2fs_test_block_bitmap_range2@Base 1.42 - ext2fs_test_block_bitmap_range@Base 1.37 - ext2fs_test_changed@Base 1.37 - ext2fs_test_generic_bitmap@Base 1.37 - ext2fs_test_generic_bmap@Base 1.42 - ext2fs_test_ib_dirty@Base 1.37 - ext2fs_test_inode_bitmap2@Base 1.42 - ext2fs_test_inode_bitmap@Base 1.37 - ext2fs_test_inode_bitmap_range@Base 1.41.8 - ext2fs_test_valid@Base 1.37 - ext2fs_truncate_orphan_file@Base 1.47.0 - ext2fs_u32_copy@Base 1.37 - ext2fs_u32_list_add@Base 1.37 - ext2fs_u32_list_count@Base 1.37 - ext2fs_u32_list_create@Base 1.37 - ext2fs_u32_list_del@Base 1.37 - ext2fs_u32_list_equal@Base 1.37 - ext2fs_u32_list_find@Base 1.37 - ext2fs_u32_list_free@Base 1.37 - ext2fs_u32_list_iterate@Base 1.37 - ext2fs_u32_list_iterate_begin@Base 1.37 - ext2fs_u32_list_iterate_end@Base 1.37 - ext2fs_u32_list_test@Base 1.37 - ext2fs_unlink@Base 1.37 - ext2fs_unmark_block_bitmap2@Base 1.42 - ext2fs_unmark_block_bitmap@Base 1.37 - ext2fs_unmark_block_bitmap_range2@Base 1.42 - ext2fs_unmark_block_bitmap_range@Base 1.37 - ext2fs_unmark_generic_bitmap@Base 1.37 - ext2fs_unmark_generic_bmap@Base 1.42 - ext2fs_unmark_inode_bitmap2@Base 1.42 - ext2fs_unmark_inode_bitmap@Base 1.37 - ext2fs_unmark_valid@Base 1.37 - ext2fs_update_bb_inode@Base 1.37 - ext2fs_update_dynamic_rev@Base 1.37 - ext2fs_verify_csum_type@Base 1.43 - ext2fs_warn_bitmap2@Base 1.37 - ext2fs_warn_bitmap32@Base 1.42 - ext2fs_warn_bitmap@Base 1.37 - ext2fs_write_bb_FILE@Base 1.37 - ext2fs_write_bitmaps@Base 1.37 - ext2fs_write_block_bitmap@Base 1.37 - ext2fs_write_dir_block2@Base 1.37 - ext2fs_write_dir_block3@Base 1.42 - ext2fs_write_dir_block4@Base 1.43 - ext2fs_write_dir_block@Base 1.37 - ext2fs_write_ext_attr2@Base 1.42 - ext2fs_write_ext_attr3@Base 1.43 - ext2fs_write_ext_attr@Base 1.37 - ext2fs_write_ind_block@Base 1.37 - ext2fs_write_inode2@Base 1.45 - ext2fs_write_inode@Base 1.37 - ext2fs_write_inode_bitmap@Base 1.37 - ext2fs_write_inode_full@Base 1.37 - ext2fs_write_new_inode@Base 1.37 - ext2fs_xattr_get@Base 1.43 - ext2fs_xattr_inode_max_size@Base 1.43 - ext2fs_xattr_remove@Base 1.43 - ext2fs_xattr_set@Base 1.43 - ext2fs_xattrs_close@Base 1.43 - ext2fs_xattrs_count@Base 1.43 - ext2fs_xattrs_flags@Base 1.43.4~WIP.2017.01.30 - ext2fs_xattrs_iterate@Base 1.43 - ext2fs_xattrs_open@Base 1.43 - ext2fs_xattrs_read@Base 1.43 - ext2fs_xattrs_read_inode@Base 1.47.0 - ext2fs_xattrs_write@Base 1.43 - ext2fs_zero_blocks2@Base 1.42 - ext2fs_zero_blocks@Base 1.41.0 - initialize_ext2_error_table@Base 1.37 - initialize_ext2_error_table_r@Base 1.37 - inode_io_manager@Base 1.37 - io_channel_alloc_buf@Base 1.42.3 - io_channel_cache_readahead@Base 1.43 - io_channel_discard@Base 1.42 - io_channel_read_blk64@Base 1.41.1 - io_channel_set_options@Base 1.37 - io_channel_write_blk64@Base 1.41.1 - io_channel_write_byte@Base 1.37 - io_channel_zeroout@Base 1.43 - qcow2_read_header@Base 1.42 - qcow2_write_raw_image@Base 1.42 - set_undo_io_backing_manager@Base 1.41.0 - set_undo_io_backup_file@Base 1.41.0 - sparse_io_manager@Base 1.44.0~rc1 - sparsefd_io_manager@Base 1.44.0~rc1 - test_io_backing_manager@Base 1.37 - test_io_cb_read_blk64@Base 1.41.0 - test_io_cb_read_blk@Base 1.37 - test_io_cb_set_blksize@Base 1.37 - test_io_cb_write_blk64@Base 1.41.0 - test_io_cb_write_blk@Base 1.37 - test_io_cb_write_byte@Base 1.37 - test_io_manager@Base 1.37 - undo_io_manager@Base 1.41.0 - unix_io_manager@Base 1.37 - unixfd_io_manager@Base 1.43.2 diff --git a/src/_nfdos/e2fsprogs/debian/libss2.install b/src/_nfdos/e2fsprogs/debian/libss2.install deleted file mode 100644 index 386e185..0000000 --- a/src/_nfdos/e2fsprogs/debian/libss2.install +++ /dev/null @@ -1 +0,0 @@ -lib/*/libss*.so.* diff --git a/src/_nfdos/e2fsprogs/debian/libss2.symbols b/src/_nfdos/e2fsprogs/debian/libss2.symbols deleted file mode 100644 index 74358eb..0000000 --- a/src/_nfdos/e2fsprogs/debian/libss2.symbols +++ /dev/null @@ -1,36 +0,0 @@ -libss.so.2 libss2 #MINVER# -* Build-Depends-Package: ss-dev - _ss_pager_name@Base 1.01 - _ss_table@Base 1.01 - et_ss_error_table@Base 1.35 - initialize_ss_error_table@Base 1.01 - initialize_ss_error_table_r@Base 1.34 - ss_abort_subsystem@Base 1.01 - ss_add_info_dir@Base 1.01 - ss_add_request_table@Base 1.01 - ss_create_invocation@Base 1.01 - ss_delete_info_dir@Base 1.01 - ss_delete_invocation@Base 1.01 - ss_delete_request_table@Base 1.01 - ss_error@Base 1.01 - ss_execute_command@Base 1.01 - ss_execute_line@Base 1.01 - ss_get_prompt@Base 1.01 - ss_get_readline@Base 1.34 - ss_help@Base 1.01 - ss_list_requests@Base 1.01 - ss_listen@Base 1.01 - ss_name@Base 1.01 - ss_page_stdin@Base 1.01 - ss_pager_create@Base 1.01 - ss_parse@Base 1.01 - ss_perror@Base 1.01 - ss_quit@Base 1.01 - ss_rl_completion@Base 1.34 - ss_safe_getenv@Base 1.38 - ss_self_identify@Base 1.01 - ss_set_prompt@Base 1.01 - ss_std_requests@Base 1.01 - ss_subsystem_name@Base 1.01 - ss_subsystem_version@Base 1.01 - ss_unimplemented@Base 1.01 diff --git a/src/_nfdos/e2fsprogs/debian/libuuid1.install b/src/_nfdos/e2fsprogs/debian/libuuid1.install deleted file mode 100644 index 0761f3b..0000000 --- a/src/_nfdos/e2fsprogs/debian/libuuid1.install +++ /dev/null @@ -1 +0,0 @@ -lib/*/libuuid*.so.* diff --git a/src/_nfdos/e2fsprogs/debian/libuuid1.postinst b/src/_nfdos/e2fsprogs/debian/libuuid1.postinst deleted file mode 100644 index 5336fcf..0000000 --- a/src/_nfdos/e2fsprogs/debian/libuuid1.postinst +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -set -e - -ADDUSERCONF='/etc/adduser.conf' - -if test -f $ADDUSERCONF; then - FIRST_SYSTEM_UID=$(sed -n "s/^[[:space:]]*FIRST_SYSTEM_UID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) - LAST_SYSTEM_UID=$(sed -n "s/^[[:space:]]*LAST_SYSTEM_UID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) - FIRST_SYSTEM_GID=$(sed -n "s/^[[:space:]]*FIRST_SYSTEM_GID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) - LAST_SYSTEM_GID=$(sed -n "s/^[[:space:]]*LAST_SYSTEM_GID[[:space:]]*=[[:space:]]*[\"']\?\([^\"']*\)[\"']\?/\1/p" $ADDUSERCONF) -fi - -if test -z "$FIRST_SYSTEM_UID"; then - FIRST_SYSTEM_UID=100 -fi -if test -z "$LAST_SYSTEM_UID"; then - LAST_SYSTEM_UID=999 -fi -if test -z "$FIRST_SYSTEM_GID"; then - FIRST_SYSTEM_GID=100 -fi -if test -z "$LAST_SYSTEM_GID"; then - LAST_SYSTEM_GID=999 -fi - -if ! getent group | grep -q libuuid; then - groupadd -f -K GID_MIN=$FIRST_SYSTEM_GID -K GID_MAX=$LAST_SYSTEM_GID libuuid -fi -if ! getent passwd | grep -q libuuid; then - useradd -d /var/lib/libuuid -K UID_MIN=$FIRST_SYSTEM_UID -K UID_MAX=$LAST_SYSTEM_UID -g libuuid libuuid -fi - -mkdir -p /var/lib/libuuid -chown libuuid:libuuid /var/lib/libuuid -chmod 2775 /var/lib/libuuid - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/libuuid1.postrm b/src/_nfdos/e2fsprogs/debian/libuuid1.postrm deleted file mode 100644 index 8c286ee..0000000 --- a/src/_nfdos/e2fsprogs/debian/libuuid1.postrm +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -set -e -if [ "$1" = purge ] -then - rm -rf /var/lib/libuuid -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/libuuid1.symbols b/src/_nfdos/e2fsprogs/debian/libuuid1.symbols deleted file mode 100644 index 5a00431..0000000 --- a/src/_nfdos/e2fsprogs/debian/libuuid1.symbols +++ /dev/null @@ -1,19 +0,0 @@ -libuuid.so.1 libuuid1 #MINVER# - uuid__generate_random@Base 1.40.4 - uuid__generate_time@Base 1.40.4 - uuid_clear@Base 1.05 - uuid_compare@Base 1.05 - uuid_copy@Base 1.05 - uuid_generate@Base 1.05 - uuid_generate_random@Base 1.15 - uuid_generate_time@Base 1.15 - uuid_is_null@Base 1.05 - uuid_pack@Base 1.05 - uuid_parse@Base 1.05 - uuid_time@Base 1.15 - uuid_type@Base 1.15 - uuid_unpack@Base 1.05 - uuid_unparse@Base 1.05 - uuid_unparse_lower@Base 1.36 - uuid_unparse_upper@Base 1.36 - uuid_variant@Base 1.15 diff --git a/src/_nfdos/e2fsprogs/debian/logsave.install b/src/_nfdos/e2fsprogs/debian/logsave.install deleted file mode 100644 index dd5b065..0000000 --- a/src/_nfdos/e2fsprogs/debian/logsave.install +++ /dev/null @@ -1,2 +0,0 @@ -sbin/logsave -usr/share/man/man8/logsave.8 diff --git a/src/_nfdos/e2fsprogs/debian/rules b/src/_nfdos/e2fsprogs/debian/rules deleted file mode 100755 index b85976f..0000000 --- a/src/_nfdos/e2fsprogs/debian/rules +++ /dev/null @@ -1,186 +0,0 @@ -#! /usr/bin/make -f - -# export DH_VERBOSE=1 - -export DEB_BUILD_MAINT_OPTIONS ?= hardening=+all - -DPKG_EXPORT_BUILDFLAGS = 1 -include /usr/share/dpkg/default.mk - -# be paranoid -export LC_ALL ?= C - -ifeq ($(DEB_HOST_ARCH_OS), hurd) -SKIP_FUSE2FS=yes -endif - -ifneq ($(filter pkg.e2fsprogs.no-fuse2fs,$(DEB_BUILD_PROFILES)),) -SKIP_FUSE2FS=yes -endif - -COMERR_VERSION ?= $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) -SS_VERSION ?= $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) - -topdir ?= $(shell pwd) -tmpdir ?= ${topdir}/debian/tmp -udebdir ?= ${topdir}/debian/e2fsprogs-udeb -stdbuilddir ?= ${topdir}/debian/BUILD-STD - -INSTALL ?= install -INSTALL_PROGRAM ?= $(INSTALL) -p -m 0755 - -ifneq (,$(findstring update-symbols,$(DEB_BUILD_OPTIONS))) -SYMBOL_LIBS := libext2fs libcomerr2 libss2 -endif - -CFLAGS_SHLIB = $(CFLAGS) -CFLAGS_STLIB = $(CFLAGS) -LDFLAGS_SHLIB = $(LDFLAGS) -LDFLAGS_STATIC = $(filter-out -fPIE -fpie -pie,$(LDFLAGS)) - -BACKTRACE_CONF_FLAGS ?= $(shell if debian/scripts/test-backtrace ; then echo --disable-backtrace ; fi) - -COMMON_CONF_FLAGS = --enable-elf-shlibs --disable-ubsan \ - --disable-addrsan --disable-threadsan --disable-e2initrd-helper \ - --disable-fsck --disable-libblkid --disable-libuuid --disable-uuidd \ - --infodir=/usr/share/info --enable-symlink-install \ - --with-multiarch=$(DEB_HOST_MULTIARCH) \ - $(BACKTRACE_CONF_FLAGS) ${EXTRA_CONF_FLAGS} - -ifneq ($(SKIP_FUSE2FS),) -COMMON_CONF_FLAGS += --disable-fuse2fs -endif - -ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) -CC ?= $(DEB_HOST_GNU_TYPE)-gcc -COMMON_CONF_FLAGS += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) -endif - -%: - dh $@ -B${stdbuilddir} - -override_dh_autoreconf: - -override_dh_auto_configure: - mkdir -p ${stdbuilddir} - cd ${stdbuilddir} && AWK=/usr/bin/awk \ - ../../configure ${COMMON_CONF_FLAGS} - -override_dh_auto_build: - $(MAKE) -C ${stdbuilddir} V=1 all -ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES))) - $(MAKE) -C ${stdbuilddir}/e2fsck V=1 e2fsck.static -endif - if ! test -d debian/orig-gmo ; then \ - mkdir debian/orig-gmo ; \ - mv po/*.gmo po/*.po debian/orig-gmo ; \ - cp debian/orig-gmo/*.po po ; \ - fi - $(MAKE) -C ${stdbuilddir}/po V=1 update-gmo - - $(MAKE) -C ${stdbuilddir}/doc V=1 libext2fs.html - $(MAKE) -C ${stdbuilddir}/lib/et V=1 com_err.info com_err.html - cat $(shell /bin/ls -1 ./doc/RelNotes/*.txt | tac) | \ - gzip -9n > ${stdbuilddir}/NEWS.gz - -override_dh_auto_clean: - if test -d debian/orig-gmo ; then \ - rm -f po/*.gmo po/*.po ; \ - mv debian/orig-gmo/* po ; \ - rmdir debian/orig-gmo ; \ - fi - rm -rf ${stdbuilddir} - -override_dh_auto_install: - mkdir -p ${tmpdir}/sbin - $(MAKE) -C ${stdbuilddir} V=1 install DESTDIR=${tmpdir} \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - # static libs and .h files - $(MAKE) -C ${stdbuilddir} V=1 install-libs DESTDIR=${tmpdir} LDCONFIG=true - -ifeq (,$(filter pkg.e2fsprogs.no-static,$(DEB_BUILD_PROFILES))) - # statically-linked fsck - ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static ${tmpdir}/sbin - (cd debian/tmp/usr/share/man/man8 ; cp e2fsck.8 e2fsck.static.8) -endif - -ifeq ($(DEB_HOST_ARCH_OS), hurd) - ${INSTALL} -m 0644 misc/mke2fs-hurd.conf ${tmpdir}/etc/mke2fs.conf -endif - -override_dh_install: - dh_install -p e2fsprogs --sourcedir=${stdbuilddir} NEWS.gz \ - usr/share/doc/e2fsprogs - dh_install - dh_missing --fail-missing - -ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES))) -override_dh_lintian: - dh_lintian - $(INSTALL) -D -p -m644 debian/e2fsprogs-udeb.lintian-overrides \ - debian/e2fsprogs-udeb/usr/share/lintian/overrides/e2fsprogs-udeb -endif - -override_dh_installinfo: - # HTML docs - $(INSTALL) -d debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/ - $(INSTALL) -p -m 0644 ${stdbuilddir}/doc/*.html \ - debian/libext2fs-dev/usr/share/doc/libext2fs2/html-info/ - $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/html-info/ - $(INSTALL) -p -m 0644 ${stdbuilddir}/lib/et/*.html \ - debian/comerr-dev/usr/share/doc/comerr-dev/html-info/ - - # texinfo docs - mkdir -p debian/comerr-dev/usr/share/doc/comerr-dev - $(INSTALL) -p -m 0644 ${topdir}/doc/libext2fs.texinfo \ - debian/libext2fs-dev/usr/share/doc/libext2fs2/libext2fs.texi - $(INSTALL) -p -m 0644 ${topdir}/lib/et/com_err.texinfo \ - debian/comerr-dev/usr/share/doc/comerr-dev/com_err.texi - - $(INSTALL) -d debian/comerr-dev/usr/share/doc/comerr-dev/examples - $(INSTALL) -p -m 0644 lib/ss/ss_err.et \ - ${stdbuilddir}/lib/ext2fs/ext2_err.et \ - debian/comerr-dev/usr/share/doc/comerr-dev/examples - $(INSTALL) -d debian/ss-dev/usr/share/doc/ss-dev/examples - $(INSTALL) -p -m 0644 debugfs/debug_cmds.ct \ - debian/ss-dev/usr/share/doc/ss-dev/examples - - dh_installinfo -pcomerr-dev ${stdbuilddir}/lib/et/com_err.info - dh_installinfo -plibext2fs-dev ${stdbuilddir}/doc/libext2fs.info - -override_dh_makeshlibs: - for i in $(SYMBOL_LIBS); \ - do \ - echo "Generating symbols for $$i..."; \ - dpkg-gensymbols -p$$i -Pdebian/$$i > debian/$$i.tmp-patch; \ - cat debian/$$i.tmp-patch; \ - patch debian/$$i.symbols < debian/$$i.tmp-patch; \ - /bin/rm debian/$$i.tmp-patch; \ - done - dh_makeshlibs $(if $(filter noudeb,$(DEB_BUILD_PROFILES)),,--add-udeb=e2fsprogs-udeb) - -override_dh_shlibdeps: - dh_shlibdeps -pe2fsprogs -l${stdbuilddir}/lib \ - -- -Ldebian/e2fsprogs.shlibs.local -ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES))) - dh_shlibdeps -pe2fsprogs-udeb -l${stdbuilddir}/lib \ - -- -Ldebian/e2fsprogs-udeb.shlibs.local -endif -ifeq ($(SKIP_FUSE2FS),) - dh_shlibdeps -pfuse2fs -l${stdbuilddir}/lib \ - -- -Ldebian/e2fsprogs.shlibs.local -endif - dh_shlibdeps --remaining-packages -l${stdbuilddir}/lib - -override_dh_gencontrol: - dh_gencontrol -pcomerr-dev -- -v${COMERR_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION} - dh_gencontrol -pss-dev -- -v${SS_VERSION}-${DEB_VERSION} -VmainBinary=${DEB_VERSION} - dh_gencontrol --remaining-packages - -override_dh_auto_test: -ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) - PRINT_FAILED=yes $(MAKE) -C ${stdbuilddir} V=1 check -endif - -test_printenv: - printenv | sort diff --git a/src/_nfdos/e2fsprogs/debian/scripts/test-backtrace b/src/_nfdos/e2fsprogs/debian/scripts/test-backtrace deleted file mode 100755 index d90486a..0000000 --- a/src/_nfdos/e2fsprogs/debian/scripts/test-backtrace +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# Test to see if backtrace requires a library in /usr/lib -# Returns true if the backtrace command works and requires a library in /usr/lib -# This is a nasty workaround for Debian bug #708307, which is really a glibc bug -# - -cat > /tmp/backtrace$$.c << EOF - -#include - -int main(int argc, char **argv) -{ - void *stack_syms[32]; - int frames; - - frames = backtrace(stack_syms, 32); - backtrace_symbols_fd(stack_syms, frames, 0); -} -EOF - -if ! cc -o /tmp/backtrace$$ /tmp/backtrace$$.c; then - exit 1 -fi - -if ! ldd /tmp/backtrace$$ > /tmp/backtrace$$.ldd 2>&1 ; then - exit 1 -fi - -grep -q /usr/lib /tmp/backtrace$$.ldd -ret=$? - -/bin/rm -f /tmp/backtrace$$* -exit $ret diff --git a/src/_nfdos/e2fsprogs/debian/shlibs.local b/src/_nfdos/e2fsprogs/debian/shlibs.local deleted file mode 100644 index e678de0..0000000 --- a/src/_nfdos/e2fsprogs/debian/shlibs.local +++ /dev/null @@ -1,6 +0,0 @@ -libext2fs 2 -libe2p 2 -libuuid 1 -libcom_err 2 -libss 2 -libblkid 1 diff --git a/src/_nfdos/e2fsprogs/debian/source/format b/src/_nfdos/e2fsprogs/debian/source/format deleted file mode 100644 index 163aaf8..0000000 --- a/src/_nfdos/e2fsprogs/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/src/_nfdos/e2fsprogs/debian/source/lintian-overrides b/src/_nfdos/e2fsprogs/debian/source/lintian-overrides deleted file mode 100644 index ca0febe..0000000 --- a/src/_nfdos/e2fsprogs/debian/source/lintian-overrides +++ /dev/null @@ -1,2 +0,0 @@ -e2fsprogs source: weak-library-dev-dependency -e2fsprogs source: no-debian-changes diff --git a/src/_nfdos/e2fsprogs/debian/ss-dev.examples b/src/_nfdos/e2fsprogs/debian/ss-dev.examples deleted file mode 100644 index b7930bb..0000000 --- a/src/_nfdos/e2fsprogs/debian/ss-dev.examples +++ /dev/null @@ -1 +0,0 @@ -debugfs/debug_cmds.ct diff --git a/src/_nfdos/e2fsprogs/debian/ss-dev.install b/src/_nfdos/e2fsprogs/debian/ss-dev.install deleted file mode 100644 index d0c788e..0000000 --- a/src/_nfdos/e2fsprogs/debian/ss-dev.install +++ /dev/null @@ -1,7 +0,0 @@ -usr/lib/*/libss.so -usr/lib/*/libss.a -usr/include/ss/* -usr/bin/mk_cmds -usr/share/ss/* -usr/share/man/man1/mk_cmds* -usr/lib/*/pkgconfig/ss.pc diff --git a/src/_nfdos/e2fsprogs/debian/ss-dev.postinst b/src/_nfdos/e2fsprogs/debian/ss-dev.postinst deleted file mode 100644 index bf49c9d..0000000 --- a/src/_nfdos/e2fsprogs/debian/ss-dev.postinst +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -symlink_match() -{ - local SYMLINK="$1" - local SYMLINK_TARGET="$2" - - [ "$(readlink "$SYMLINK")" = "$SYMLINK_TARGET" ] || \ - [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] -} - -SYMLINK=/usr/share/doc/ss-dev -SYMLINK_TARGET=libss2 - -if [ "$1" = "configure" ] && [ -h "${SYMLINK}.dpkg-backup" ] && - symlink_match "${SYMLINK}.dpkg-backup" "$SYMLINK_TARGET" -then - rm -f "${SYMLINK}.dpkg-backup" -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/ss-dev.postrm b/src/_nfdos/e2fsprogs/debian/ss-dev.postrm deleted file mode 100644 index c625aae..0000000 --- a/src/_nfdos/e2fsprogs/debian/ss-dev.postrm +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -# Abort on error. -set -e - -symlink_match() -{ - local SYMLINK="$1" - local SYMLINK_TARGET="$2" - - [ "$(readlink "$SYMLINK")" = "$SYMLINK_TARGET" ] || \ - [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] -} - -SYMLINK=/usr/share/doc/ss-dev -SYMLINK_TARGET=libss2 - -if [ "$1" = "purge" ] && [ -h "${SYMLINK}.dpkg-backup" ] -then - rm -f "${SYMLINK}.dpkg-backup" -fi -if [ "$1" = "abort-install" -o "$1" = "abort-upgrade" ] && - [ -n "$2" ] && [ ! -e "$SYMLINK" ] && [ -h "${SYMLINK}.dpkg-backup" ] && - symlink_match "${SYMLINK}.dpkg-backup" "$SYMLINK_TARGET" -then - echo "Restoring backup of $SYMLINK ..." - mv "${SYMLINK}.dpkg-backup" "$SYMLINK" -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/ss-dev.preinst b/src/_nfdos/e2fsprogs/debian/ss-dev.preinst deleted file mode 100644 index 8da566e..0000000 --- a/src/_nfdos/e2fsprogs/debian/ss-dev.preinst +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# Abort on error. -set -e - -symlink_match() -{ - local SYMLINK="$1" - local SYMLINK_TARGET="$2" - - [ "$(readlink "$SYMLINK")" = "$SYMLINK_TARGET" ] || \ - [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] -} - -SYMLINK=/usr/share/doc/ss-dev -SYMLINK_TARGET=libss2 - -if [ "$1" = "install" -o "$1" = "upgrade" ] && - [ -n "$2" ] && [ -h "$SYMLINK" ] && - symlink_match "$SYMLINK" "$SYMLINK_TARGET" -then - mv -f "$SYMLINK" "${SYMLINK}.dpkg-backup" -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/tests/control b/src/_nfdos/e2fsprogs/debian/tests/control deleted file mode 100644 index e149342..0000000 --- a/src/_nfdos/e2fsprogs/debian/tests/control +++ /dev/null @@ -1,6 +0,0 @@ -Tests: smoke -Depends: e2fsprogs - -Tests: fuse2fs -Depends: fuse2fs, fuse3 -Restrictions: isolation-machine diff --git a/src/_nfdos/e2fsprogs/debian/tests/fuse2fs b/src/_nfdos/e2fsprogs/debian/tests/fuse2fs deleted file mode 100755 index 8b4e08a..0000000 --- a/src/_nfdos/e2fsprogs/debian/tests/fuse2fs +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -TDIR=${AUTOPKGTEST_TMP:-/tmp/fuse_dir} -LOGDIR=${AUTOPKGTEST_ARTIFACTS:-/tmp/fuse_dir_log} -IMG=$TDIR/test-image.img -MNT=$TDIR/mnt - -# some autopkgtest environments may not have /etc/mtab and/or /proc/mounts -EXT2FS_NO_MTAB_OK=yes -export EXT2FS_NO_MTAB_OK - -mkdir -p $LOGDIR $TDIR $MNT - -/sbin/mke2fs -E root_owner -q -t ext4 -d e2fsck $IMG 8M -/sbin/e2label $IMG test -fuse2fs $IMG $MNT > $LOGDIR/fuse2fs.log 2>&1 -if test $? -ne 0 ; then - echo "fuse2fs failed; see $LOGDIR/fuse2fs.log" - exit 1 -fi -diff e2fsck/pass1.c $MNT/pass1.c -echo foobar > $MNT/testfile -fusermount -u $MNT > $LOGDIR/fusermount.log 2>&1 -if test $? -ne 0 ; then - echo "fusermount failed; see $LOGDIR/fusermount.log" - exit 1 -fi -/sbin/e2fsck -fy $IMG > $LOGDIR/e2fsck.log 2>&1 -if test $? -ne 0 ; then - echo "e2fsck failed; see $LOGDIR/e2fsck.log" - exit 1 -fi -contents=$(/sbin/debugfs -R "cat testfile" $IMG 2> $LOGDIR/debugfs.log) -if test "$contents" != foobar ; then - echo "testfile does not contain expected output" - exit 1 -fi diff --git a/src/_nfdos/e2fsprogs/debian/tests/smoke b/src/_nfdos/e2fsprogs/debian/tests/smoke deleted file mode 100755 index 966be96..0000000 --- a/src/_nfdos/e2fsprogs/debian/tests/smoke +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -TDIR=${AUTOPKGTEST_TMP:-/tmp/test_dir} -LOGDIR=${AUTOPKGTEST_ARTIFACTS:-/tmp/test_dir_log} -IMG=$TDIR/test-image.img - -# some autopkgtest environments may not have /etc/mtab and/or /proc/mounts -EXT2FS_NO_MTAB_OK=yes -export EXT2FS_NO_MTAB_OK - -mkdir -p $LOGDIR $TDIR - -/sbin/mke2fs -q -t ext4 -d e2fsck $IMG 8M -/sbin/e2label $IMG test -/sbin/e2fsck -fy $IMG > $LOGDIR/e2fsck.1.log 2>&1 -if test $? -ne 0 ; then - echo "First e2fsck failed; see $LOGDIR/e2fsck.1.log" - exit 1 -fi -/sbin/resize2fs $IMG 16M > $LOGDIR/resize2fs.log 2>&1 -if test $? -ne 0 ; then - echo "Resize2fs failed; see $LOGDIR/e2fsck.1.log" - exit 1 -fi -/sbin/e2fsck -fy $IMG > $LOGDIR/e2fsck.2.log 2>&1 -if test $? -ne 0 ; then - echo "Second e2fsck failed; see $LOGDIR/e2fsck.2.log" - exit 1 -fi -/sbin/debugfs -R "dump pass1.c $TDIR/pass1.c" $IMG > $LOGDIR/debugfs.log 2>&1 -diff $TDIR/pass1.c e2fsck/pass1.c - diff --git a/src/_nfdos/e2fsprogs/debian/upstream/signing-key.asc b/src/_nfdos/e2fsprogs/debian/upstream/signing-key.asc deleted file mode 100644 index e225998..0000000 --- a/src/_nfdos/e2fsprogs/debian/upstream/signing-key.asc +++ /dev/null @@ -1,156 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 - -mQINBEz4F48BEADrt5DOsqL84FrVCYnI3MPZV9cEwvQSZmTyoSyU90Vl16Es7XuF -y45WhR5tQG6W6iKTnQpIEcxKpTdLG8cxGwc5gOsCzmoEBgHGA23Itx7BVqkB8vSA -aQDNAsQ4sFUUFBhkHa0d+N6RsrT0EHpK9gUP0paTiybqGn/yIOZ5tyw+jzN5Iae/ -RLbIH5UQ8+XWV7MAFWLBahPJJTVNcASK8h/ZxvNLkIRb5SFO2oqew26VuRi3R0sT -Pvue14K0JP5KsZ2HEQ8nNWyFhRbMJR32lqFNGNzPgupAdWzXKQT2R/UZ1WsMeQ1i -TM+HfN3idrJ+u2STXVv1oTkKGFsyhq2gdUcv5o/tpqgkQ8F9K8rKZI/EHzh3ZU0o -qYAgXECQsoS2hS1qc38EcrE3tKJsXztGpWujf8gbJivs1/pz7bEQiCxtF//Ze2dn -19CSf7r/WKTecxbkx+eupme3ThqsKWR6v6qaSCA223kiUMb8b8zpJ5+NOxhmgssl -PPU5EHJaBwZrfritjgwOiEAlyjYZZ4IkA88tAimtYU3nbpn099zSfmvaD8lQUK+e -NzzUlszJFGEqna4/+nGc0m2rgfbSvyWO4MQz85Fh5cSeUxiWCPNjWTJpRoPPXSIQ -D+GteZ1rlvA2VmBKLSA8F7BL/lvuUrfjNF2OyLqhOI3TtGe3N+89Q1qsywARAQAB -tB1UaGVvZG9yZSBUcydvIDx0eXRzb0BtaXQuZWR1PokCOgQTAQgAJAIbAwIeAQIX -gAIZAQUCVRr3hgULCQgHAwUVCgkICwUWAgMBAAAKCRDTb3abwRgE8LAwD/9B/KUj -0KpAe2ooXEinS380mkiGzWDJIncEynubiNm5Nl8Zo8hwtjXfagTqucUmnnu8NJ1O -lwigw5/vJXpTo7maSeyJImaRZaYyzoh8Bv11t1ymbTvr5ab7ZgSGmaak3IjIM8cW -vv/Wx+yf+LYS03+6GOMdGLq1mF2KgXpHBdK2Wpl/8jlOmry+wccgXBekZP7ZIF0V -wNFq/q8c6zW2yHs2w6i/pkVHJJm3kyaBe+6U6njq1/HBCnlGin7iYfpxZ0d8FoiL -4CEUAHfpFP2DKTO+KJJjphZctya0nCBRzQI3Zk8a0/ITCWJr/pw77yysIRiMO0s4 -BjHzzM7edlJA7dILutX8XrnAAkIOdfzWvHuLtLpEcDRP+gowYYO7PjMfb61zsP9L -dXS1bDrXI2pn2SdRFmaodSBaaAaJoTj55ZbjM2Ckv4lpGYGozreav9suLrYiZIeI -QRcqL1QIKM9WZPUkfbNSMiLLccOmEpKcqyauh3QJiKdT+lFpRBZY34TSI4R5EKMm -dJqD/xaZ4nDpfOxbqocEXDGgstmsCgxzLrYc7lVB+1IRnTW2rFlQteFAZucq8Dwb -xvkOdVY1pJo1vf8UkMPxoexMt7xSSLDQxxRzEtfQSzKLw7Iyf2eTm4OgCN8PocFI -J7LaqOvyq0YvxCVGrPD9bSCU/H5CAuPJa4WuzrQgVGhlb2RvcmUgVHMnbyA8dHl0 -c29AZGViaWFuLm9yZz6JAjcEEwEIACECGwMCHgECF4AFAlUa95gFCwkIBwMFFQoJ -CAsFFgIDAQAACgkQ0292m8EYBPBqVg/+JrVNl+yoGyIJ3e85Ts7Ko65UQ+xM71Ad -OecDUUSx3beSe/Trc76ElvzGu/zMtstu9uH8DnmnjscN1CfqpHK6Rhck69RQDCy+ -c114Q8pa/bzAuWPH4vGHE5BvPZjIc67cZ3T5kHpAaew5ltZG6YhpOBRTRr55ZfO3 -hHQCxOdTmqKWXB1HRXRTu7hlI4WmRpSBf9y4sVwIaraSgtNRhKb/Ff1iPHFCVdoK -+UtfWJrbpJ+HpHAcboNsfC1PQZ8E6eHYiaG0EUlSrpjeCH66kBgkIkbt4RZf+R23 -ZNonE8Hddw6ZR5zMxOfIbK5pBkcEUgOFogwwHL3b/lFdj0t1ggN6eRDVsk9kYYga -kXypR4DYKSs484Y4OroFccw/M69gFjI3f5AIb3HQzb1cV9ocDnqJtzPLAQJTUiIb -OJlFUjsvlg8romKV9lodzdS7zO/t2iQF4Hm2ThuS7R93MZEi4Z7WRgKueIBEhHm7 -WBbtnWzlKZDdsILyIUn7L6WE1iT+d+zvUHz6rYY/b1b7VQzH0UXWtwzPKCyLSLuM -g9q7rm5PMuaMn05zjN2gVy8rfbC7NTTo8f256YT0kmZmO5Kx9fpGYoPIMJp8aiDY -fUfg2rwWkMxO6uxiEe3xCOVzgQcK7NPZS0NbhdRcrmqN3vyiVLY8Qi2a+xQjesJG -RAgdhyJkESC0IFRoZW9kb3JlIFRzJ28gPHR5dHNvQGdvb2dsZS5jb20+iQI3BBMB -CAAhAhsDAh4BAheABQJVGvebBQsJCAcDBRUKCQgLBRYCAwEAAAoJENNvdpvBGATw -kB0P+wQj8exoDTL8/m+Wuju1CMvHty1i4eBKqzM04OdcBQI3/0zOFmub/VnJVB2L -92UhEvqclbwWsijz7G1Vr7wsUPkftCoJICYqjPpZf3BKvyGXkatrMUs0ry1xZ15Q -A4f/9YuiUOykIQiROS+lUa7HqS6dkEj+/2xXheZKcnrv0pz0PayzWbonukRY7Jxe -UcTAXnX1p9fM7+Y9xx5mkwwe4lN02zGextCw1C77EDGhH8GtgnhyfsFkDLjWmNg8 -xjbGKvYYRU18uu0DYTj7ERrDhYy+Aft91F1ZUN9xPgyMx1uWcuyWPV57L3hdwxUX -i64TV4CzMOsolytdUikw57pcjyjdn7kPJlgg+1clrtnrCsmwWQYDMfap3pTOCoj5 -8YVjF+j8ngORLw1tNYZdwPVdeTmuWEv0ufgxDjQtD01yHI2PyGYtZBcTZurdYxth -1Z1+aDyi3kyi6JN8dteA4rUrTxPCI/6GspXQKOlXPKeSijBAG2KdNNNgkWPSVC7q -xwhGruYYq5QA98nA8Hhe89KTwz3fbTCqr59QfEmpKaB9Uvmx6p0Bvj/zL7+N9VpN -vIyxRcG9cfbBWkq18TC6cZMeHUHjwh8ttC7sq/GxdhEW4Qn4ZsvbevozAhd2sMQP -FUUAH0IA1zzIL+UG1AvyQ69kWpoG8Fr9ttIZc5mYUDwL2m1KuQINBEz4GJ4BEADM -e5nhgwGPH9Ti2TSBlADnsZ3ygrA1UEaTUBxPHm0IYdfqMflqbw+XkxHQqRQzYyah -Bc1EBj1Fdl907ozRPnm4VzMgEzXZlN2wjmgUhz1gHZmMcCBxnC/p/FdWmEQwJLNg -TsmnS/seFRw2pwkFtiDYlqXUwU1pDjTLztOMVheQpBlLOg/oHGcZB+llLNPRzCok -mfNv4ShTygDpYtniQdVg57Qyriz3tvCDE+va8HL96SuCNV1vy+ZJa42KNhhMrHqY -C5t7hTNaJTyk25Lmwd5aKrSZjS4goHJcP9Ry3Sit467TRGEaqOi3fO0qTiTnW2Gz -9Cq0xDCOdd3CEbLajMwxM9+UKh+65/nGzh5bYC6zSitXMC1tWUvDEQpk/tiGV8E3 -c2YYbIRcCvOHBoqqIZryi4HqXFyatijEfA9yYc3J8IgmHG9Vc7rBgwdeLGQs9hfp -6IAFtmZHdupYLOUZk+HVNITESgiT6zICFoxNM0jrhkjqdK4ZtlTAiOTIidr1zVTd -je0Hr/Su3H/FluG5cXOZJqqcwQak98Li/Qe4dZl0t99V1s7NafDadSAtNOyMUplt -wSHWzx6PiA3oYMWbQO9S5D7/QK2scNFf7QnWFWYEcuhMlfKAodowI8swljrtgsir -7ZxRZ4YhSlBx1fgs1W09lIxmW7nufZAce/OzPgQsmQARAQABiQIfBBgBCAAJBQJM -+BieAhsMAAoJENNvdpvBGATwjq0P/1ZkCLDRvERSHvLZw2dYMSVNZalQq5MO689B -pcFF9M4CB0IRG+fSf7EkvTrlHnv9euhWAtucs6BITWPdtUORKl/jVcUme+QFBO/n -usVKVr0G0IJrz3Db0IVAC7I0uFttuANX0oc0Z3C1J9RukGapYbKDQF9RizdiqFPP -q/o700sDTnAroib1q3bDqOSrg0ewuJKpgUxLSiQ+GoZMX/8zWKMsadyguBvQl4fi -RSso075/WpzjjkHgZ/TRv/hX4cBpXJLK12yv4P6mEHlwp+FXmH/KRqsyQQaQouUZ -iD8tUK1hAsPB8xYrIZNSbLqsNHjLjtXsFsJU+7jSntVX2XB1nvyaoE8XNKudGoWN -xbUDaBmFozvK5uBRBFogNZuw+8kCYcVi8iuIHrQMjWwL4zq7CpLxQCKfYlhXasIM -p+ggwKewfOA10g5QvYCcqcFtWkIsF9dxOSkfJFY31CMQkxHKc5MF1LsGTRv5HIAm -rb3XAztlmQ0936Zp8+h9DDLV5LF17oiKDYQygHFcYDgBudH78bwYw8hZ2Nkr52v6 -6fHCMGUMfkC8IYP0jVokqS27Aw6IKKlCisJqnGxpXC7Nb/8LNDCKBTNpIKeENARK -Xz9msd6s3gjC9ug2Ea3mrPDNmVnTkdvrLTtA0klCrxZgWml0BOjoEyB75BCe2fZ9 -4VRmJHKDuQINBFLoZCgBEADGR4Xgf1j5Of7pwIzpMgz/HZxwjxibW+EC+ALwMicJ -BoxTmNp5GZ41Rle7frNGRe4R3fUbpdDI9nODFREezNnTFCPYMA1B2U7hxxlcyH1N -rRYkkbeSWBNVgBIZ0rBnXI1qrZjONrpTLsHX3GdAShzpYu5zyt2a7tSMhmkwzidt -jmWYt3BqOH4C/CYOqUnZJhzZ44+LXT68+AcL+rqWo+cTOSDlmrvs9yJCFm4Y75A+ -fd+raUZ8OhhmvHAA+IiRnHG9NrqprhVu+J4xSulfkyF8ziXl3HMC6aeHVS1F8UO+ -jg7nAmgyDi6IuJznZB01KCplVDE9E/8neZfF5WMzti7DiVvkrwf4YoOcsl9tkda7 -iH/ka03ZLdMYELss+lmgLnVDWDdrrJWTAY4rXEWx4UE2O03yPVKwp1Dq8eJazJrv -ECDTN1U464FvSmO2Xrj7gUphOPSW2IjUYOBkFB9mMlwRKt0gDvre3M9Ix0IOKCo7 -ELqalW92rSb3+eTZVen1WoCTFBWWwSPXjsDixzJjuKOCuLIieMCt63Eng2d+cCIj -ymJ744efKeRJaNvF2iXBCJfQGEixlG1H4KSTjBnKGDWi0clijpJQJfJRnMLRLjP8 -aA5RVzwsARZ91YQp6SKu3zFP+Z8/XwhbeeDlsmkbQ8aoRcXhdhs/pMJ02A8C6k2T -pQARAQABiQIfBBgBCAAJBQJS6GQoAhsgAAoJENNvdpvBGATwSx4P/0lbTys+j9AM -UEfEYjcG+C8lsqrqnK9u1bjDAQBNldg7IzeUIeQlZZF8d2RDemtxnMzs0B4MMEPK -AgAltWfkezk12g1vroo1m2fKxSWEDq7pyUhRlBeggFLDWagyushIHrAXhcNvyf5n -03EZ4n8EZ03ejxN+6IWxViV14t0KuzccKPYTwLhlbNQN8YB1k0Y6ezZd8gpX4+e2 -K3WD83mxpFmhhNsGqvbLsuJfXdPcWrAYpFgBF04qvYmgSdPeSid68k3Mek0eQyFj -gCBA0RktKaLVWEslAXyzG1iVzTydabhFQrfA1/GMVJwDgN9HjhzZecerg88KiY03 -pI5dNuzQZnt0Cs0oPcL409ZYBCiv4b6JwLxMaPAAkruqp75Eb3RRzvM8netevnt2 -lMSYDR8Kt1TjPfPWH64vuSLoJ0ihSEHd4G92CN5xYVYOwBrwokJy2rj/Gaz9fZHn -xOaFtWtkR9hytlqsz4qpZ71dKgsZ5LxXETygRQ0RSbMT5uKIMhRbSbOVB3gE8gwU -rhWObwGL2WVaSDEM4SyaJEWyHy6+38ir7QhVTDcHQRoU0/N0Acy1AsltoJUIiaqU -TdWxjplUY0GFt0OQINvEdhWtEBe4ATFK/17BKLxKk22kVbx0fMd0mR939AYIbwNi -dWWyjlhmVl4Uqre/7WqbsR7nT9Sd+fbIuQENBFUa+BEBCACrJ+CRz1mNqq0Qcofc -+4h9PzMBLApwGNQySQ5QCMtIu5Iz4rTT305iFFQSBFzKQSNPjm7pkAzMMs+CWaD8 -0gazgiO8yvm1Fa00hGJWCxr5dbp9/w8u1hfXUSMVg6mf+D09iBLMa2a4pNJcafvp -1/Edk7VAG0q7WrhIBErHclWSh6T05jIjS81ydeO6mp8At8Vkw2oEM1RGnBGYCIq4 -pPhKkQsBDRcz3h1BSrv5uPGyBvXVBJZ4n38m3iETG8jHFPS5OiHSzU4j9Q4nVutb -Wk26l33VObkd4NYru95UsQ2ZGETBCW5tkLwugW7A8D2mQkTQsRLv9KO0hudY0HqX -uh3pABEBAAGJA0QEGAEIAA8CGwIFAlc0FXQFCQMGa2MBKcBdIAQZAQgABgUCVRr4 -EQAKCRDy+VlWlQ2Bo19UCACAVs9F065EDpeZJcH1ep6dzS/qdctES0qDl6F+CVOj -v9iCTs1OkpZ9Y8gOazEfeCT5tXylyr82RV28CImAKER8tIhAi9Bvss9abXihoKpL -t8en97QTBIveZ+4MXwzbJGljIuZ/Ytfz33o8T4Ojd4QLPuLq75uESnum3KcoF3LA -MUCrpsoKsggp2VQHtFxgFsSd3GjIJBy+efexz5F+uM8Q1BrkZh2kwq9NZ3QdG2Kq -wTVTMI6MIty5UV4re1v25VrmbCrHmWtWw2aY90HWikfMQuF0n+PWyRI1dhNaFvG7 -SeMXCgdOEvhYzbQ/HBePrrV+G4fjeODu70mZZZIecDC9CRDTb3abwRgE8D0CD/0S -gvkU/3GJR1ntplro3/uzZ0fcZL/Ea7ydSEGpsZVJq/nH64BDXQZSZ7UJotQdAlQ6 -f72/V3r57Aix2rtF90Vu6olUtBdYEkadaSMTVkI8jjHvWeRs8iY8iOIdflikzF6b -92nGxckjSAUL6GYTnxWizw39s20K6cO4zOC/0CDhjzvtmoA0OinkWUbjWMWf9pLP -3KKfD7p+hrUzO4GrPx7mwNoj6uA1KUVynQSGa0V6OXUGjQ3ey7xDL2a32dF9PI8e -UMAW4klzxX9Kbcam+NxiHtTAjMBBQ0Xt0j6irJPmsmxm8pa/D+4SlEDjsQU2q6eE -UwPvKBtxdS1N1AdZWqMlQSHnGNOWkljMi9nrhyHAXgeJjbnIFryHW4/+aBLccdaL -mnMwetaDRDj8EmPDZTiNHQUDCCFYoZ+Kc76kGd4UadxpW3LOg8sjmn3MYdiXXRQs -/2p+Q6iFACuVSxnCz12sumynfHWiQwVGAd1FBuIgb7FuxX6FOLaybew/IMg5RzuD -y9fI7Z3yHtHUcMZhhQaQvkiebbZcQlZhkZIX6Uk8csCBcClFrH9wG4NU2Jr+25oa -nHoyj2c+ABd5mZ6P90UC80xSllOoH5DkCeRUBKuAZG0g+g64QKWTjwSxfY6sFd+h -210NTXaQ9iRPNVNv8cjHY0HHPzw9mQBi5CojnSgyLrkBDQRVGvi/AQgAryab03tW -ugiN40UYPEASlLcR0e01ZAwrESMwCexNejebacke6fk1v4pEebBvm0fu/8GeIY78 -ley9CBIoDOHzTTQMWXUBMtG5vxPzUgP5U/R0CWvXF9PgyrCOsWQjORqfIfUctQ2Q -KjaSEi3jt0U9gVM84Dtj/SlyfZyJvuTy15Q3mNLEA2hiEkLCYS77+tUaXeCFl5en -p2mQgBSrfnmzfCckuwa0nbmo4p6V0yreX6939c9zakMxzvWCh/SlZUyLgRkH5FOk -gb3Of6lR0DHkNG9uJOMEr+f6XCbwYPDTU6EZumyVQ2WW98s0uIIU0Qmbc/EnpnYc -zlbbdNS8C8aq8QARAQABiQIlBBgBCAAPAhsMBQJXNBWHBQkDBmrIAAoJENNvdpvB -GATwTaMQAIumhk7daTsZ0XFfDszHwiig+Kw46KpWoCm0zZn9rPxYbU+s8+qe2E/W -G4HxdwwKDMjBajsEzHgjj/p02et5LGZMKN+TT2sZX0oYhVLS8/BLrXW4Nhq9+qL1 -uGUTOcctR3ebsqNTFpevtqD4jD7galFv38BIa0G8M6YdKiH5kFzWfz760L03jdNn -HmnnG+x/S/5+uHj5ClpRjhzskS5Bn1gWAqvARcbst/jfwXV43o5Pprno3kfNkWEA -QYVLlOY8+i4JP0xBlx7sYN+s9FE00vYZWdABKis9+OoD4qnhxVE6EbHhfoW0pFei -osDr3/iWfWP1Bcrv2EPO23R7etRf5p7ERKt0p1qYPAiAJuLKzvuAreVdBszYRJSo -zM8Ka+t2Be95HDSBhonI+n2ec8J2IS/dfnUOXwg+MNMcX5jOyxo0RMkhKu8+4iN3 -ECB2+zA8OQswDklU3OfGlWwHKwbgcAicuj6yHQqpyheuRsNHq1wCTbkDYoGoI0mV -PNl5ZjIC1RhnEzfdXww6lZ//P9KuZm9oyhaRVKhEzRP/X8Py8Q78kcnFenF0MsEg -2LB3+NMIdzFRG1rjHLYuxUD28jHVx/i6LDIVVVuNZXGupZD3m2akgnCoTQdnjmob -f8VjXorvasXo5vDJWTGegQbq0vI6RmJ2fnIVj4W/H6bW8gU4GFdruQENBFUbKLcB -CACwhMqbwVAiwY2NvYvSuzyPAojv7DhTEsuSvyEhLoWUUs+HvkTc6yV3OEikM4/5 -ztfv5s8PFBBzi4i0WdSa4DivBe3rCyv4KUN7TFSZzTpAh/bCYBCXaU/hWAzRn1pX -JrRA8dkt4KXcTzkCJV1yuwcGOojMdmU64orSgZAwykf2dc/mUkSM1pMPD2ZwC0Uc -0zm0e6gfndJu2p3O1pUgKRciJe+eKlvhXTg0l8/hKH8KvUnlWrFePTbQ/zWQq4YC -lNI1rUo2Gf6zJBCwhe1Bata8dqtIpagiMCegr8069Mts9V2H2SdMIPNyWP6CP5ON -UfESWt+AYZHMEFAsoJJrK/YXABEBAAGJAiUEGAEIAA8CGyAFAlc0FZsFCQMGOuQA -CgkQ0292m8EYBPCanA//aA+ByDFR/JyzsWnFXwgkcR6CYRqYwq4cxIoL97RGIAdn -ZFyqWAMr0TGofFrcy0U2yHKUPa6ia0QI64Lq+SzibmmVqSqq5u+d/b6ZfgvBgN6o -FGwSAlwJwgXi0sK/jC+RYzw9oLWvOd+KTtKG4spNoHYKkP/Hwka9gieuuyg1hjB+ -gi1b3RKKsXB7/Q0E7lkO/UqxZqyP7gCa7bYMhfrC8Y7HSsJ5QtGy9VBf4b+U4PEK -FLYV4SZHh7LYlQaxSgzXarH+0u2Rrds+Kfwxwxs0k7fl7gCPj7gBhzErEcFYqhmg -NGgjrxA9Zw+HXmvtdRRWBU8l/L4DPNRW4SeBkNJUAa6SfJ9fMhflzV0lx+AlP/XN -Ftv2HJ7jbwUDq3vAK/dLKINrAMYOgG16pQY7HRicP63//BXqq7Sh5cbr/uvAN+aK -YYoOaIo3KjMxhev2MLENS9BuN1ACUVqWO9aXJ1VmVoroiyLxFjrxOEEGNQY7Vws1 -Slzhvb504g9Uo+cBy9HsXYh5BXZeaqra1qbMerN/WJPOCfQENE2g8jj9x4Mi4mZo -1gmiwCZiD+KvXfmwtZsvrLaV9FAnWDkJu8w/8yFUWeNVuvW0t5xXcZNv/Nwb2ONO -vsF9NoZ1s0BZ++jraVFCtbO0yETBj4YBP0T5aFKBM3zUE6HGz3E3xgx1w0dAg4c= -=oRMW ------END PGP PUBLIC KEY BLOCK----- diff --git a/src/_nfdos/e2fsprogs/debian/uuid-dev.README.Debian b/src/_nfdos/e2fsprogs/debian/uuid-dev.README.Debian deleted file mode 100644 index a4f047e..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-dev.README.Debian +++ /dev/null @@ -1,23 +0,0 @@ - -In order to sanitize e2fsprogs to be DFSG free, the file -draft-leach-uuids-guids-01.txt has been removed. It can be obtained -by downloading e2fsprogs from the upstream sources. It may also be -available from other sites on the network, if you do a quick web -search for the string "draft-leach-uuids-guids-01". - -Note that debian/rules is set up to include the file on Ubuntu -systems, so for people trying to build e2fsprogs on Ubuntu systems, -they should start from the upstream sources, and not the -Debian-expurgated sources found in the Debian repository. (n.b., for -WIP releases the command "./util/gen-tarball ubuntu" will help create -tar file which is appropriately named to make life easier for -dpkg-buildpackage.) Since Ubuntu doesn't have the DFSG restrictions, -the documentation which has been removed for Debian's DFSG license -purity shouldn't be denied to Ubuntu users. - - Theodore Ts'o - October 3, 2006 - - - - diff --git a/src/_nfdos/e2fsprogs/debian/uuid-dev.install b/src/_nfdos/e2fsprogs/debian/uuid-dev.install deleted file mode 100644 index 534b92c..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-dev.install +++ /dev/null @@ -1,5 +0,0 @@ -usr/lib/*/libuuid.so -usr/lib/*/libuuid.a -usr/include/uuid/* -usr/share/man/man3/uuid* -usr/lib/*/pkgconfig/uuid.pc diff --git a/src/_nfdos/e2fsprogs/debian/uuid-runtime.install b/src/_nfdos/e2fsprogs/debian/uuid-runtime.install deleted file mode 100644 index ff8d87a..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-runtime.install +++ /dev/null @@ -1,4 +0,0 @@ -usr/bin/uuidgen -usr/sbin/uuidd -usr/share/man/man8/uuidd.* -usr/share/man/man1/uuidgen.* diff --git a/src/_nfdos/e2fsprogs/debian/uuid-runtime.lintian-overrides b/src/_nfdos/e2fsprogs/debian/uuid-runtime.lintian-overrides deleted file mode 100644 index 4642d30..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-runtime.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -uuid-runtime: command-with-path-in-maintainer-script prerm:5 /usr/sbin/uuidd diff --git a/src/_nfdos/e2fsprogs/debian/uuid-runtime.postinst b/src/_nfdos/e2fsprogs/debian/uuid-runtime.postinst deleted file mode 100644 index 3c1adb6..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-runtime.postinst +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -set -e -if ! getent group | grep -q libuuid; then -groupadd -f -K GID_MIN=1 -K GID_MAX=999 libuuid -fi -if ! getent passwd | grep -q libuuid; then - useradd -d /var/lib/libuuid -K UID_MIN=1 -K UID_MAX=499 -g libuuid libuuid -fi -chown libuuid:libuuid /usr/sbin/uuidd -chmod 6755 /usr/sbin/uuidd - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/uuid-runtime.postrm b/src/_nfdos/e2fsprogs/debian/uuid-runtime.postrm deleted file mode 100644 index f077001..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-runtime.postrm +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -set -e -if [ "$1" = purge ] -then - rm -rf /var/run/uuidd -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/uuid-runtime.prerm b/src/_nfdos/e2fsprogs/debian/uuid-runtime.prerm deleted file mode 100644 index 904e161..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-runtime.prerm +++ /dev/null @@ -1,10 +0,0 @@ -#! /bin/sh -set -e -if [ -x /usr/sbin/uuidd ] -then - /usr/sbin/uuidd -k || true -fi - -#DEBHELPER# - -exit 0 diff --git a/src/_nfdos/e2fsprogs/debian/uuid-runtime.shlibs.local b/src/_nfdos/e2fsprogs/debian/uuid-runtime.shlibs.local deleted file mode 100644 index 5d97674..0000000 --- a/src/_nfdos/e2fsprogs/debian/uuid-runtime.shlibs.local +++ /dev/null @@ -1 +0,0 @@ -libuuid 1 libuuid1 (> 1.40.3-1) diff --git a/src/_nfdos/e2fsprogs/debian/watch b/src/_nfdos/e2fsprogs/debian/watch deleted file mode 100644 index f2df3dd..0000000 --- a/src/_nfdos/e2fsprogs/debian/watch +++ /dev/null @@ -1,5 +0,0 @@ -version=4 -opts="pgpsigurlmangle=s%$%.asc%" \ - http://sf.net/e2fsprogs/e2fsprogs-([0-9].+)\.tar\.gz -#ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/e2fsprogs-([0-9].+)\.tar\.gz - diff --git a/src/_nfdos/e2fsprogs/debugfs/Android.bp b/src/_nfdos/e2fsprogs/debugfs/Android.bp deleted file mode 100644 index 4d087b3..0000000 --- a/src/_nfdos/e2fsprogs/debugfs/Android.bp +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2017 The Android Open Source Project - -//######################## -// Build the debugfs binary - -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "external_e2fsprogs_license" - // to get the below license kinds: - // SPDX-license-identifier-GPL - // SPDX-license-identifier-GPL-2.0 - default_applicable_licenses: ["external_e2fsprogs_license"], -} - -cc_defaults { - name: "debugfs-defaults", - defaults: ["e2fsprogs-defaults"], - srcs: [ - "debug_cmds.c", - "debugfs.c", - "util.c", - "ncheck.c", - "icheck.c", - "ls.c", - "lsdel.c", - "dump.c", - "set_fields.c", - "logdump.c", - "htree.c", - "unused.c", - "e2freefrag.c", - "filefrag.c", - "extent_cmds.c", - "extent_inode.c", - "zap.c", - "quota.c", - "xattrs.c", - "journal.c", - "revoke.c", - "recovery.c", - "do_journal.c", - ], - cflags: [ - "-DDEBUGFS", - ], - include_dirs: [ - "external/e2fsprogs/misc", - "external/e2fsprogs/e2fsck", - ], -} - -debugfs_libs = [ - "libext2_misc", - "libext2fs", - "libext2_blkid", - "libext2_uuid", - "libext2_ss", - "libext2_quota", - "libext2_com_err", - "libext2_e2p", - "libext2_support", -] - -cc_binary { - name: "debugfs", - host_supported: true, - defaults: ["debugfs-defaults"], - - shared_libs: debugfs_libs, -} - -cc_binary { - name: "debugfs_static", - static_executable: true, - host_supported: true, - defaults: ["debugfs-defaults"], - - static_libs: debugfs_libs, -} diff --git a/src/_nfdos/e2fsprogs/debugfs/debug_cmds.ct b/src/_nfdos/e2fsprogs/debugfs/debug_cmds.ct deleted file mode 100644 index 1ff6c9d..0000000 --- a/src/_nfdos/e2fsprogs/debugfs/debug_cmds.ct +++ /dev/null @@ -1,233 +0,0 @@ -# -# Copyright (C) 1993 Theodore Ts'o. This file may be redistributed -# under the terms of the GNU Public License. -# -command_table debug_cmds; - -request do_show_debugfs_params, "Show debugfs parameters", - show_debugfs_params, params; - -request do_open_filesys, "Open a filesystem", - open_filesys, open; - -request do_close_filesys, "Close the filesystem", - close_filesys, close; - -request do_freefrag, "Report free space fragmentation", - freefrag, e2freefrag; - -request do_features, "Set/print superblock features", - feature, features; - -request do_dirty_filesys, "Mark the filesystem as dirty", - dirty_filesys, dirty; - -request do_init_filesys, "Initialize a filesystem (DESTROYS DATA)", - init_filesys; - -request do_show_super_stats, "Show superblock statistics", - show_super_stats, stats; - -request do_ncheck, "Do inode->name translation", - ncheck; - -request do_icheck, "Do block->inode translation", - icheck; - -request do_chroot, "Change root directory", - change_root_directory, chroot; - -request do_change_working_dir, "Change working directory", - change_working_directory, cd; - -request do_list_dir, "List directory", - list_directory, ls; - -request do_stat, "Show inode information ", - show_inode_info, stat; - -request do_dump_extents, "Dump extents information ", - dump_extents, extents, ex; - -request do_blocks, "Dump blocks used by an inode ", - blocks; - -request do_filefrag, "Report fragmentation information for an inode", - filefrag; - -request do_link, "Create directory link", - link, ln; - -request do_unlink, "Delete a directory link", - unlink; - -request do_mkdir, "Create a directory", - mkdir; - -request do_rmdir, "Remove a directory", - rmdir; - -request do_rm, "Remove a file (unlink and kill_file, if appropriate)", - rm; - -request do_kill_file, "Deallocate an inode and its blocks", - kill_file; - -request do_copy_inode, "Copy the inode structure", - copy_inode; - -request do_clri, "Clear an inode's contents", - clri; - -request do_freei, "Clear an inode's in-use flag", - freei; - -request do_seti, "Set an inode's in-use flag", - seti; - -request do_testi, "Test an inode's in-use flag", - testi; - -request do_freeb, "Clear a block's in-use flag", - freeb; - -request do_setb, "Set a block's in-use flag", - setb; - -request do_testb, "Test a block's in-use flag", - testb; - -request do_modify_inode, "Modify an inode by structure", - modify_inode, mi; - -request do_find_free_block, "Find free block(s)", - find_free_block, ffb; - -request do_find_free_inode, "Find free inode(s)", - find_free_inode, ffi; - -request do_print_working_directory, "Print current working directory", - print_working_directory, pwd; - -request do_expand_dir, "Expand directory", - expand_dir, expand; - -request do_mknod, "Create a special file", - mknod; - -request do_lsdel, "List deleted inodes", - list_deleted_inodes, lsdel; - -request do_undel, "Undelete file", - undelete, undel; - -request do_write, "Copy a file from your native filesystem", - write; - -request do_dump, "Dump an inode out to a file", - dump_inode, dump; - -request do_cat, "Dump an inode out to stdout", - cat; - -request do_lcd, "Change the current directory on your native filesystem", - lcd; - -request do_rdump, "Recursively dump a directory to the native filesystem", - rdump; - -request do_set_super, "Set superblock value", - set_super_value, ssv; - -request do_set_inode, "Set inode field", - set_inode_field, sif; - -request do_set_block_group_descriptor, "Set block group descriptor field", - set_block_group, set_bg; - -request do_logdump, "Dump the contents of the journal", - logdump; - -request do_htree_dump, "Dump a hash-indexed directory", - htree_dump, htree; - -request do_dx_hash, "Calculate the directory hash of a filename", - dx_hash, hash; - -request do_dirsearch, "Search a directory for a particular filename", - dirsearch; - -request do_bmap, "Calculate the logical->physical block mapping for an inode", - bmap; - -request do_fallocate, "Allocate uninitialized blocks to an inode", - fallocate; - -request do_punch, "Punch (or truncate) blocks from an inode by deallocating them", - punch, truncate; - -request do_symlink, "Create a symbolic link", - symlink; - -request do_imap, "Calculate the location of an inode", - imap; - -request do_dump_unused, "Dump unused blocks", - dump_unused; - -request do_set_current_time, "Set current time to use when setting filesystem fields", - set_current_time; - -request do_supported_features, "Print features supported by this version of e2fsprogs", - supported_features; - -request do_dump_mmp, "Dump MMP information", - dump_mmp; - -request do_set_mmp_value, "Set MMP value", - set_mmp_value, smmp; - -request do_extent_open, "Open inode for extent manipulation", - extent_open, eo; - -request do_zap_block, "Zap block: fill with 0, pattern, flip bits etc.", - zap_block, zap; - -request do_block_dump, "Dump contents of a block", - block_dump, bdump, bd; - -request do_list_xattr, "List extended attributes of an inode", - ea_list; - -request do_get_xattr, "Get an extended attribute of an inode", - ea_get; - -request do_set_xattr, "Set an extended attribute of an inode", - ea_set; - -request do_rm_xattr, "Remove an extended attribute of an inode", - ea_rm; - -request do_list_quota, "List quota", - list_quota, lq; - -request do_get_quota, "Get quota", - get_quota, gq; - -request do_idump, "Dump the inode structure in hex", - inode_dump, idump, id; - -request do_journal_open, "Open the journal", - journal_open, jo; - -request do_journal_close, "Close the journal", - journal_close, jc; - -request do_journal_write, "Write a transaction to the journal", - journal_write, jw; - -request do_journal_run, "Recover the journal", - journal_run, jr; - -end; - diff --git a/src/_nfdos/e2fsprogs/debugfs/debugfs.8.in b/src/_nfdos/e2fsprogs/debugfs/debugfs.8.in deleted file mode 100644 index 5b5329c..0000000 --- a/src/_nfdos/e2fsprogs/debugfs/debugfs.8.in +++ /dev/null @@ -1,880 +0,0 @@ -.\" -*- nroff -*- -.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved. -.\" This file may be copied under the terms of the GNU Public License. -.\" -.TH DEBUGFS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" -.SH NAME -debugfs \- ext2/ext3/ext4 file system debugger -.SH SYNOPSIS -.B debugfs -[ -.B \-DVwcin -] -[ -.B \-b -blocksize -] -[ -.B \-s -superblock -] -[ -.B \-f -cmd_file -] -[ -.B \-R -request -] -[ -.B \-d -data_source_device -] -[ -.B \-z -.I undo_file -] -[ -device -] -.SH DESCRIPTION -The -.B debugfs -program is an interactive file system debugger. It can be used to -examine and change the state of an ext2, ext3, or ext4 file system. -.PP -.I device -is a block device (e.g., /dev/sdXX) or a file containing the file system. -.SH OPTIONS -.TP -.I \-w -Specifies that the file system should be opened in read-write mode. -Without this option, the file system is opened in read-only mode. -.TP -.I \-n -Disables metadata checksum verification. This should only be used if -you believe the metadata to be correct despite the complaints of -e2fsprogs. -.TP -.I \-c -Specifies that the file system should be opened in catastrophic mode, in -which the inode and group bitmaps are not read initially. This can be -useful for file systems with significant corruption, but because of this, -catastrophic mode forces the file system to be opened read-only. -.TP -.I \-i -Specifies that -.I device -represents an ext2 image file created by the -.B e2image -program. Since the ext2 image file only contains the superblock, block -group descriptor, block and inode allocation bitmaps, and -the inode table, many -.B debugfs -commands will not function properly. -.B Warning: -no safety checks are in place, and -.B debugfs -may fail in interesting ways if commands such as -.IR ls ", " dump ", " -etc. are tried without specifying the -.I data_source_device -using the -.I \-d -option. -.B debugfs -is a debugging tool. It has rough edges! -.TP -.I -d data_source_device -Used with the -.I \-i -option, specifies that -.I data_source_device -should be used when reading blocks not found in the ext2 image file. -This includes data, directory, and indirect blocks. -.TP -.I -b blocksize -Forces the use of the given block size (in bytes) for the file system, -rather than detecting the correct block size automatically. (This -option is rarely needed; it is used primarily when the file system is -extremely badly damaged/corrupted.) -.TP -.I -s superblock -Causes the file system superblock to be read from the given block -number, instead of using the primary superblock (located at an offset of -1024 bytes from the beginning of the file system). If you specify the -.I -s -option, you must also provide the blocksize of the file system via the -.I -b -option. (This -option is rarely needed; it is used primarily when the file system is -extremely badly damaged/corrupted.) -.TP -.I -f cmd_file -Causes -.B debugfs -to read in commands from -.IR cmd_file , -and execute them. When -.B debugfs -is finished executing those commands, it will exit. -.TP -.I -D -Causes -.B debugfs -to open the device using Direct I/O, bypassing the buffer cache. Note -that some Linux devices, notably device mapper as of this writing, do -not support Direct I/O. -.TP -.I -R request -Causes -.B debugfs -to execute the single command -.IR request , -and then exit. -.TP -.I -V -print the version number of -.B debugfs -and exit. -.TP -.BI \-z " undo_file" -Before overwriting a file system block, write the old contents of the block to -an undo file. This undo file can be used with e2undo(8) to restore the old -contents of the file system should something go wrong. If the empty string is -passed as the undo_file argument, the undo file will be written to a file named -debugfs-\fIdevice\fR.e2undo in the directory specified via the -\fIE2FSPROGS_UNDO_DIR\fR environment variable. - -WARNING: The undo file cannot be used to recover from a power or system crash. -.SH SPECIFYING FILES -Many -.B debugfs -commands take a -.I filespec -as an argument to specify an inode (as opposed to a pathname) -in the file system which is currently opened by -.BR debugfs . -The -.I filespec -argument may be specified in two forms. The first form is an inode -number surrounded by angle brackets, e.g., -.IR <2> . -The second form is a pathname; if the pathname is prefixed by a forward slash -('/'), then it is interpreted relative to the root of the file system -which is currently opened by -.BR debugfs . -If not, the pathname is -interpreted relative to the current working directory as maintained by -.BR debugfs . -This may be modified by using the -.B debugfs -command -.IR cd . -.\" -.\" -.\" -.SH COMMANDS -This is a list of the commands which -.B debugfs -supports. -.TP -.BI blocks " filespec" -Print the blocks used by the inode -.I filespec -to stdout. -.TP -.BI bmap " [ -a ] filespec logical_block [physical_block]" -Print or set the physical block number corresponding to the logical block number -.I logical_block -in the inode -.IR filespec . -If the -.I \-a -flag is specified, try to allocate a block if necessary. -.TP -.BI block_dump " '[ -x ] [-f filespec] block_num" -Dump the file system block given by -.I block_num -in hex and ASCII format to the console. If the -.I \-f -option is specified, the block number is relative to the start of the given -.BR filespec . -If the -.I \-x -option is specified, the block is interpreted as an extended attribute -block and printed to show the structure of extended attribute data -structures. -.TP -.BI cat " filespec" -Dump the contents of the inode -.I filespec -to stdout. -.TP -.BI cd " filespec" -Change the current working directory to -.IR filespec . -.TP -.BI chroot " filespec" -Change the root directory to be the directory -.IR filespec . -.TP -.BI close " [-a]" -Close the currently open file system. If the -.I -a -option is specified, write out any changes to the superblock and block -group descriptors to all of the backup superblocks, not just to the -master superblock. -.TP -.BI clri " filespec" -Clear the contents of the inode -.IR filespec . -.TP -.BI copy_inode " source_inode destination_inode" -Copy the contents of the inode structure in -.I source_inode -and use it to overwrite the inode structure at -.IR destination_inode . -.TP -.BI dirsearch " filespec filename" -Search the directory -.I filespec -for -.IR filename . -.TP -.BI dirty " [-clean]" -Mark the file system as dirty, so that the superblocks will be written on exit. -Additionally, clear the superblock's valid flag, or set it if -.I -clean -is specified. -.TP -.BI dump " [-p] filespec out_file" -Dump the contents of the inode -.I filespec -to the output file -.IR out_file . -If the -.I -p -option is given set the owner, group and permissions information on -.I out_file -to match -.IR filespec . -.TP -.BI dump_mmp " [mmp_block]" -Display the multiple-mount protection (mmp) field values. If -.I mmp_block -is specified then verify and dump the MMP values from the given block -number, otherwise use the -.B s_mmp_block -field in the superblock to locate and use the existing MMP block. -.TP -.BI dx_hash " [-h hash_alg] [-s hash_seed] filename" -Calculate the directory hash of -.IR filename . -The hash algorithm specified with -.I -h -may be -.BR legacy , " half_md4" ", or " tea . -The hash seed specified with -.I -s -must be in UUID format. -.TP -.BI dump_extents " [-n] [-l] filespec" -Dump the extent tree of the inode -.IR filespec . -The -.I -n -flag will cause -.B dump_extents -to only display the interior nodes in the extent tree. The -.I -l -flag will cause -.B dump_extents -to only display the leaf nodes in the extent tree. -.IP -(Please note that the length and range of blocks for the last extent in -an interior node is an estimate by the extents library functions, and is -not stored in file system data structures. Hence, the values displayed -may not necessarily by accurate and does not indicate a problem or -corruption in the file system.) -.TP -.B dump_unused -Dump unused blocks which contain non-null bytes. -.TP -.BI ea_get " [-f outfile]|[-xVC] [-r] filespec attr_name" -Retrieve the value of the extended attribute -.I attr_name -in the file -.I filespec -and write it either to stdout or to \fIoutfile\fR. -.TP -.BI ea_list " filespec -List the extended attributes associated with the file -.I filespec -to standard output. -.TP -.BI ea_set " [-f infile] [-r] filespec attr_name attr_value -Set the value of the extended attribute -.I attr_name -in the file -.I filespec -to the string value -.I attr_value -or read it from \fIinfile\fR. -.TP -.BI ea_rm " filespec attr_names... -Remove the extended attribute -.I attr_name -from the file \fIfilespec\fR. -.TP -.BI expand_dir " filespec" -Expand the directory -.IR filespec . -.TP -.BI fallocate " filespec start_block [end_block] -Allocate and map uninitialized blocks into \fIfilespec\fR between -logical block \fIstart_block\fR and \fIend_block\fR, inclusive. If -\fIend_block\fR is not supplied, this function maps until it runs out -of free disk blocks or the maximum file size is reached. Existing -mappings are left alone. -.TP -.BI feature " [fs_feature] [-fs_feature] ..." -Set or clear various file system features in the superblock. After setting -or clearing any file system features that were requested, print the current -state of the file system feature set. -.TP -.BI filefrag " [-dvr] filespec" -Print the number of contiguous extents in -.IR filespec . -If -.I filespec -is a directory and the -.I -d -option is not specified, -.I filefrag -will print the number of contiguous extents for each file in -the directory. The -.I -v -option will cause -.I filefrag -print a tabular listing of the contiguous extents in the -file. The -.I -r -option will cause -.I filefrag -to do a recursive listing of the directory. -.TP -.BI find_free_block " [count [goal]]" -Find the first -.I count -free blocks, starting from -.I goal -and allocate it. Also available as -.BR ffb . -.TP -.BI find_free_inode " [dir [mode]]" -Find a free inode and allocate it. If present, -.I dir -specifies the inode number of the directory -which the inode is to be located. The second -optional argument -.I mode -specifies the permissions of the new inode. (If the directory bit is set -on the mode, the allocation routine will function differently.) Also -available as -.BR ffi . -.TP -.BI freeb " block [count]" -Mark the block number -.I block -as not allocated. -If the optional argument -.I count -is present, then -.I count -blocks starting at block number -.I block -will be marked as not allocated. -.TP -.BI freefrag " [-c chunk_kb]" -Report free space fragmentation on the currently open file system. -If the -.I \-c -option is specified then the filefrag command will print how many free -chunks of size -.I chunk_kb -can be found in the file system. The chunk size must be a power of two -and be larger than the file system block size. -.TP -.BI freei " filespec [num]" -Free the inode specified by -.IR filespec . -If -.I num -is specified, also clear num-1 inodes after the specified inode. -.TP -.BI get_quota " quota_type id" -Display quota information for given quota type (user, group, or project) and ID. -.TP -.B help -Print a list of commands understood by -.BR debugfs . -.TP -.BI htree_dump " filespec" -Dump the hash-indexed directory -.IR filespec , -showing its tree structure. -.TP -.BI icheck " block ..." -Print a listing of the inodes which use the one or more blocks specified -on the command line. -.TP -.BI inode_dump " [-b]|[-e]|[-x] filespec" -Print the contents of the inode data structure in hex and ASCII format. -The -.I \-b -option causes the command to only dump the contents of the -.B i_blocks -array. The -.I \-e -option causes the command to only dump the contents of the extra inode -space, which is used to store in-line extended attributes. The -.I \-x -option causes the command to dump the extra inode space interpreted and -extended attributes. This is useful to debug corrupted inodes -containing extended attributes. -.TP -.BI imap " filespec" -Print the location of the inode data structure (in the inode table) -of the inode -.IR filespec . -.TP -.BI init_filesys " device blocksize" -Create an ext2 file system on -.I device -with device size -.IR blocksize . -Note that this does not fully initialize all of the data structures; -to do this, use the -.BR mke2fs (8) -program. This is just a call to the low-level library, which sets up -the superblock and block descriptors. -.TP -.BI journal_close -Close the open journal. -.TP -.BI journal_open " [-c] [-v ver] [-f ext_jnl] -Opens the journal for reading and writing. Journal checksumming can -be enabled by supplying \fI-c\fR; checksum formats 2 and 3 can be -selected with the \fI-v\fR option. An external journal can be loaded -from \fIext_jnl\fR. -.TP -.BI journal_run -Replay all transactions in the open journal. -.TP -.BI journal_write " [-b blocks] [-r revoke] [-c] file -Write a transaction to the open journal. The list of blocks to write -should be supplied as a comma-separated list in \fIblocks\fR; the -blocks themselves should be readable from \fIfile\fR. A list of -blocks to revoke can be supplied as a comma-separated list in -\fIrevoke\fR. By default, a commit record is written at the end; the -\fI-c\fR switch writes an uncommitted transaction. -.TP -.BI kill_file " filespec" -Deallocate the inode -.I filespec -and its blocks. Note that this does not remove any directory -entries (if any) to this inode. See the -.BR rm (1) -command if you wish to unlink a file. -.TP -.BI lcd " directory" -Change the current working directory of the -.B debugfs -process to -.I directory -on the native file system. -.TP -.BI list_quota " quota_type" -Display quota information for given quota type (user, group, or project). -.TP -.BI ln " filespec dest_file" -Create a link named -.I dest_file -which is a hard link to -.IR filespec . -Note this does not adjust the inode reference counts. -.TP -.BI logdump " [-acsOS] [-b block] [-n num_trans ] [-i filespec] [-f journal_file] [output_file]" -Dump the contents of the ext3 journal. By default, dump the journal inode as -specified in the superblock. However, this can be overridden with the -.I \-i -option, which dumps the journal from the internal inode given by -.IR filespec . -A regular file containing journal data can be specified using the -.I \-f -option. Finally, the -.I \-s -option utilizes the backup information in the superblock to locate the -journal. -.IP -The -.I \-S -option causes -.B logdump -to print the contents of the journal superblock. -.IP -The -.I \-a -option causes the -.B logdump -to print the contents of all of the descriptor blocks. -The -.I \-b -option causes -.B logdump -to print all journal records that refer to the specified block. -The -.I \-c -option will print out the contents of all of the data blocks selected by -the -.I \-a -and -.I \-b -options. -.IP -The -.I \-O -option causes logdump to display old (checkpointed) journal entries. -This can be used to try to track down journal problems even after the -journal has been replayed. -.IP -The -.I \-n -option causes -.B logdump -to continue past a journal block which is missing a magic number. -Instead, it will stop only when the entire log is printed or after -.I num_trans -transactions. -.TP -.BI ls " [-l] [-c] [-d] [-p] [-r] filespec" -Print a listing of the files in the directory -.IR filespec . -The -.I \-c -flag causes directory block checksums (if present) to be displayed. -The -.I \-d -flag will list deleted entries in the directory. -The -.I \-l -flag will list files using a more verbose format. -The -.I \-p -flag will list the files in a format which is more easily parsable by -scripts, as well as making it more clear when there are spaces or other -non-printing characters at the end of filenames. -The -.I \-r -flag will force the printing of the filename, even if it is encrypted. -.TP -.BI list_deleted_inodes " [limit]" -List deleted inodes, optionally limited to those deleted within -.I limit -seconds ago. Also available as -.BR lsdel . -.IP -This command was useful for recovering from accidental file deletions -for ext2 file systems. Unfortunately, it is not useful for this purpose -if the files were deleted using ext3 or ext4, since the inode's -data blocks are no longer available after the inode is released. -.TP -.BI modify_inode " filespec" -Modify the contents of the inode structure in the inode -.IR filespec . -Also available as -.BR mi . -.TP -.BI mkdir " filespec" -Make a directory. -.TP -.BI mknod " filespec [p|[[c|b] major minor]]" -Create a special device file (a named pipe, character or block device). -If a character or block device is to be made, the -.I major -and -.I minor -device numbers must be specified. -.TP -.BI ncheck " [-c] inode_num ..." -Take the requested list of inode numbers, and print a listing of pathnames -to those inodes. The -.I -c -flag will enable checking the file type information in the directory -entry to make sure it matches the inode's type. -.TP -.BI open " [-weficD] [-b blocksize] [-d image_filename] [-s superblock] [-z undo_file] device" -Open a file system for editing. The -.I -f -flag forces the file system to be opened even if there are some unknown -or incompatible file system features which would normally -prevent the file system from being opened. The -.I -e -flag causes the file system to be opened in exclusive mode. The -.IR -b ", " -c ", " -d ", " -i ", " -s ", " -w ", and " -D -options behave the same as the command-line options to -.BR debugfs . -.TP -.BI punch " filespec start_blk [end_blk]" -Delete the blocks in the inode ranging from -.I start_blk -to -.IR end_blk . -If -.I end_blk -is omitted then this command will function as a truncate command; that -is, all of the blocks starting at -.I start_blk -through to the end of the file will be deallocated. -.TP -.BI symlink " filespec target" -Make a symbolic link. -.TP -.B pwd -Print the current working directory. -.TP -.B quit -Quit -.B debugfs -.TP -.BI rdump " directory[...] destination" -Recursively dump -.IR directory , -or multiple -.IR directories , -and all its contents (including regular files, symbolic links, and other -directories) into the named -.IR destination , -which should be an existing directory on the native file system. -.TP -.BI rm " pathname" -Unlink -.IR pathname . -If this causes the inode pointed to by -.I pathname -to have no other references, deallocate the file. This command functions -as the unlink() system call. -.I -.TP -.BI rmdir " filespec" -Remove the directory -.IR filespec . -.TP -.BI setb " block [count]" -Mark the block number -.I block -as allocated. -If the optional argument -.I count -is present, then -.I count -blocks starting at block number -.I block -will be marked as allocated. -.TP -.BI set_block_group " bgnum field value" -Modify the block group descriptor specified by -.I bgnum -so that the block group descriptor field -.I field -has value -.IR value . -Also available as -.BR set_bg . -.TP -.BI set_current_time " time" -Set current time in seconds since Unix epoch to use when setting file system -fields. -.TP -.BI seti " filespec [num]" -Mark inode -.I filespec -as in use in the inode bitmap. If -.I num -is specified, also set num-1 inodes after the specified inode. -.TP -.BI set_inode_field " filespec field value" -Modify the inode specified by -.I filespec -so that the inode field -.I field -has value -.I value. -The list of valid inode fields which can be set via this command -can be displayed by using the command: -.B set_inode_field -l -Also available as -.BR sif . -.TP -.BI set_mmp_value " field value" -Modify the multiple-mount protection (MMP) data so that the MMP field -.I field -has value -.I value. -The list of valid MMP fields which can be set via this command -can be displayed by using the command: -.B set_mmp_value -l -Also available as -.BR smmp . -.TP -.BI set_super_value " field value" -Set the superblock field -.I field -to -.I value. -The list of valid superblock fields which can be set via this command -can be displayed by using the command: -.B set_super_value -l -Also available as -.BR ssv . -.TP -.B show_debugfs_params -Display -.B debugfs -parameters such as information about currently opened file system. -.TP -.BI show_super_stats " [-h]" -List the contents of the super block and the block group descriptors. If the -.I -h -flag is given, only print out the superblock contents. Also available as -.BR stats . -.TP -.BI stat " filespec" -Display the contents of the inode structure of the inode -.IR filespec . -.TP -.B supported_features -Display file system features supported by this version of -.BR debugfs . -.TP -.BI testb " block [count]" -Test if the block number -.I block -is marked as allocated in the block bitmap. -If the optional argument -.I count -is present, then -.I count -blocks starting at block number -.I block -will be tested. -.TP -.BI testi " filespec" -Test if the inode -.I filespec -is marked as allocated in the inode bitmap. -.TP -.BI undel " [pathname]" -Undelete the specified inode number (which must be surrounded by angle -brackets) so that it and its blocks are marked in use, and optionally -link the recovered inode to the specified pathname. The -.B e2fsck -command should always be run after using the -.B undel -command to recover deleted files. -.IP -Note that if you are recovering a large number of deleted files, linking -the inode to a directory may require the directory to be expanded, which -could allocate a block that had been used by one of the -yet-to-be-undeleted files. So it is safer to undelete all of the -inodes without specifying a destination pathname, and then in a separate -pass, use the debugfs -.B link -command to link the inode to the destination pathname, or use -.B e2fsck -to check the file system and link all of the recovered inodes to the -lost+found directory. -.TP -.BI unlink " pathname" -Remove the link specified by -.I pathname -to an inode. Note this does not adjust the inode reference counts. -.TP -.BI write " source_file out_file" -Copy the contents of -.I source_file -into a newly-created file in the file system named -.IR out_file . -.TP -.BI zap_block " [-f filespec] [-o offset] [-l length] [-p pattern] block_num" -Overwrite the block specified by -.I block_num -with zero (NUL) bytes, or if -.I -p -is given use the byte specified by -.IR pattern . -If -.I -f -is given then -.I block_num -is relative to the start of the file given by -.IR filespec . -The -.I -o -and -.I -l -options limit the range of bytes to zap to the specified -.I offset -and -.I length -relative to the start of the block. -.TP -.BI zap_block " [-f filespec] [-b bit] block_num" -Bit-flip portions of the physical -.IR block_num . -If -.I -f -is given, then -.I block_num -is a logical block relative to the start of -.IR filespec . -.SH ENVIRONMENT VARIABLES -.TP -.B DEBUGFS_PAGER, PAGER -The -.B debugfs -program always pipes the output of the some commands through a -pager program. These commands include: -.IR show_super_stats " (" stats ), -.IR list_directory " (" ls ), -.IR show_inode_info " (" stat ), -.IR list_deleted_inodes " (" lsdel ), -and -.IR htree_dump . -The specific pager can explicitly specified by the -.B DEBUGFS_PAGER -environment variable, and if it is not set, by the -.B PAGER -environment variable. -.IP -Note that since a pager is always used, the -.BR less (1) -pager is not particularly appropriate, since it clears the screen before -displaying the output of the command and clears the output the screen -when the pager is exited. Many users prefer to use the -.BR less (1) -pager for most purposes, which is why the -.B DEBUGFS_PAGER -environment variable is available to override the more general -.B PAGER -environment variable. -.SH AUTHOR -.B debugfs -was written by Theodore Ts'o . -.SH SEE ALSO -.BR dumpe2fs (8), -.BR tune2fs (8), -.BR e2fsck (8), -.BR mke2fs (8), -.BR ext4 (5) diff --git a/src/_nfdos/e2fsprogs/debugfs/debugfs.c b/src/_nfdos/e2fsprogs/debugfs/debugfs.c deleted file mode 100644 index 9b6321d..0000000 --- a/src/_nfdos/e2fsprogs/debugfs/debugfs.c +++ /dev/null @@ -1,2682 +0,0 @@ -/* - * debugfs.c --- a program which allows you to attach an ext2fs - * filesystem and play with it. - * - * Copyright (C) 1993 Theodore Ts'o. This file may be redistributed - * under the terms of the GNU Public License. - * - * Modifications by Robert Sanders - */ - -#include "config.h" -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_GETOPT_H -#include -#else -extern int optind; -extern char *optarg; -#endif -#ifdef HAVE_ERRNO_H -#include -#endif -#include -#ifdef HAVE_SYS_SYSMACROS_H -#include -#endif - -#include "debugfs.h" -#include "uuid/uuid.h" -#include "e2p/e2p.h" - -#include - -#include "../version.h" -#include "jfs_user.h" -#include "support/plausible.h" - -#ifndef BUFSIZ -#define BUFSIZ 8192 -#endif - -#ifdef CONFIG_JBD_DEBUG /* Enabled by configure --enable-jbd-debug */ -int journal_enable_debug = -1; -#endif - -/* - * There must be only one definition if we're hooking in extra commands or - * changing default prompt. Use -DSKIP_GLOBDEF for that. - */ -#ifndef SKIP_GLOBDEFS -ss_request_table *extra_cmds; -const char *debug_prog_name; -#endif -int ss_sci_idx; - -ext2_filsys current_fs; -quota_ctx_t current_qctx; -ext2_ino_t root, cwd; -int no_copy_xattrs; - -static int debugfs_setup_tdb(const char *device_name, char *undo_file, - io_manager *io_ptr) -{ - errcode_t retval = ENOMEM; - const char *tdb_dir = NULL; - char *tdb_file = NULL; - char *dev_name, *tmp_name; - - /* (re)open a specific undo file */ - if (undo_file && undo_file[0] != 0) { - retval = set_undo_io_backing_manager(*io_ptr); - if (retval) - goto err; - *io_ptr = undo_io_manager; - retval = set_undo_io_backup_file(undo_file); - if (retval) - goto err; - printf("Overwriting existing filesystem; this can be undone " - "using the command:\n" - " e2undo %s %s\n\n", - undo_file, device_name); - return retval; - } - - /* - * Configuration via a conf file would be - * nice - */ - tdb_dir = ss_safe_getenv("E2FSPROGS_UNDO_DIR"); - if (!tdb_dir) - tdb_dir = "/var/lib/e2fsprogs"; - - if (!strcmp(tdb_dir, "none") || (tdb_dir[0] == 0) || - access(tdb_dir, W_OK)) - return 0; - - tmp_name = strdup(device_name); - if (!tmp_name) - goto errout; - dev_name = basename(tmp_name); - tdb_file = malloc(strlen(tdb_dir) + 9 + strlen(dev_name) + 7 + 1); - if (!tdb_file) { - free(tmp_name); - goto errout; - } - sprintf(tdb_file, "%s/debugfs-%s.e2undo", tdb_dir, dev_name); - free(tmp_name); - - if ((unlink(tdb_file) < 0) && (errno != ENOENT)) { - retval = errno; - com_err("debugfs", retval, - "while trying to delete %s", tdb_file); - goto errout; - } - - retval = set_undo_io_backing_manager(*io_ptr); - if (retval) - goto errout; - *io_ptr = undo_io_manager; - retval = set_undo_io_backup_file(tdb_file); - if (retval) - goto errout; - printf("Overwriting existing filesystem; this can be undone " - "using the command:\n" - " e2undo %s %s\n\n", tdb_file, device_name); - - free(tdb_file); - return 0; -errout: - free(tdb_file); -err: - com_err("debugfs", retval, "while trying to setup undo file\n"); - return retval; -} - -static void open_filesystem(char *device, int open_flags, blk64_t superblock, - blk64_t blocksize, int catastrophic, - char *data_filename, char *undo_file) -{ - int retval; - io_channel data_io = 0; - io_manager io_ptr = unix_io_manager; - - if (superblock != 0 && blocksize == 0) { - com_err(device, 0, "if you specify the superblock, you must also specify the block size"); - current_fs = NULL; - return; - } - - if (data_filename) { - if ((open_flags & EXT2_FLAG_IMAGE_FILE) == 0) { - com_err(device, 0, - "The -d option is only valid when reading an e2image file"); - current_fs = NULL; - return; - } - retval = unix_io_manager->open(data_filename, 0, &data_io); - if (retval) { - com_err(data_filename, 0, "while opening data source"); - current_fs = NULL; - return; - } - } - - if (catastrophic) - open_flags |= EXT2_FLAG_SKIP_MMP | EXT2_FLAG_IGNORE_SB_ERRORS; - - if (undo_file) { - retval = debugfs_setup_tdb(device, undo_file, &io_ptr); - if (retval) - exit(1); - } - -try_open_again: - retval = ext2fs_open(device, open_flags, superblock, blocksize, - io_ptr, ¤t_fs); - if (retval && (retval == EXT2_ET_SB_CSUM_INVALID) && - !(open_flags & EXT2_FLAG_IGNORE_CSUM_ERRORS)) { - open_flags |= EXT2_FLAG_IGNORE_CSUM_ERRORS; - printf("Checksum errors in superblock! Retrying...\n"); - goto try_open_again; - } - if (retval) { - com_err(debug_prog_name, retval, - "while trying to open %s", device); - if (retval == EXT2_ET_BAD_MAGIC) - check_plausibility(device, CHECK_FS_EXIST, NULL); - current_fs = NULL; - return; - } - current_fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE; - - if (!catastrophic) { - retval = ext2fs_read_bitmaps(current_fs); - if (retval) { - com_err(device, retval, - "while reading allocation bitmaps"); - goto errout; - } - } - - if (data_io) { - retval = ext2fs_set_data_io(current_fs, data_io); - if (retval) { - com_err(device, retval, - "while setting data source"); - goto errout; - } - } - - root = cwd = EXT2_ROOT_INO; - return; - -errout: - retval = ext2fs_close_free(¤t_fs); - if (retval) - com_err(device, retval, "while trying to close filesystem"); -} - -void do_open_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - int c, err; - int catastrophic = 0; - blk64_t superblock = 0; - blk64_t blocksize = 0; - int open_flags = EXT2_FLAG_SOFTSUPP_FEATURES | EXT2_FLAG_64BITS | - EXT2_FLAG_THREADS; - char *data_filename = 0; - char *undo_file = NULL; - - reset_getopt(); - while ((c = getopt(argc, argv, "iwfecb:s:d:Dz:")) != EOF) { - switch (c) { - case 'i': - open_flags |= EXT2_FLAG_IMAGE_FILE; - break; - case 'w': -#ifdef READ_ONLY - goto print_usage; -#else - open_flags |= EXT2_FLAG_RW; -#endif /* READ_ONLY */ - break; - case 'f': - open_flags |= EXT2_FLAG_FORCE; - break; - case 'e': - open_flags |= EXT2_FLAG_EXCLUSIVE; - break; - case 'c': - catastrophic = 1; - break; - case 'd': - data_filename = optarg; - break; - case 'D': - open_flags |= EXT2_FLAG_DIRECT_IO; - break; - case 'b': - blocksize = parse_ulong(optarg, argv[0], - "block size", &err); - if (err) - return; - break; - case 's': - err = strtoblk(argv[0], optarg, - "superblock block number", &superblock); - if (err) - return; - break; - case 'z': -#ifdef READ_ONLY - goto print_usage; -#else - undo_file = optarg; -#endif - break; - default: - goto print_usage; - } - } - if (optind != argc-1) { - goto print_usage; - } - if (check_fs_not_open(argv[0])) - return; - open_filesystem(argv[optind], open_flags, - superblock, blocksize, catastrophic, - data_filename, undo_file); - return; - -print_usage: - fprintf(stderr, "%s: Usage: open [-s superblock] [-b blocksize] " -#ifdef READ_ONLY - "[-d image_filename] [-z undo_file] [-c] [-i] [-f] [-e] [-D] " -#else - "[-d image_filename] [-c] [-i] [-f] [-e] [-D] [-w] " -#endif - "\n", argv[0]); -} - -void do_lcd(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - if (argc != 2) { - com_err(argv[0], 0, "Usage: %s %s", argv[0], ""); - return; - } - - if (chdir(argv[1]) == -1) { - com_err(argv[0], errno, - "while trying to change native directory to %s", - argv[1]); - return; - } -} - -static void close_filesystem(NOARGS) -{ - int retval; - - if (current_fs->flags & EXT2_FLAG_IB_DIRTY) { - retval = ext2fs_write_inode_bitmap(current_fs); - if (retval) - com_err("ext2fs_write_inode_bitmap", retval, 0); - } - if (current_fs->flags & EXT2_FLAG_BB_DIRTY) { - retval = ext2fs_write_block_bitmap(current_fs); - if (retval) - com_err("ext2fs_write_block_bitmap", retval, 0); - } - if (current_qctx) - quota_release_context(¤t_qctx); - retval = ext2fs_close_free(¤t_fs); - if (retval) - com_err("ext2fs_close", retval, 0); - return; -} - -void do_close_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - int c; - - if (check_fs_open(argv[0])) - return; - - reset_getopt(); - while ((c = getopt (argc, argv, "a")) != EOF) { - switch (c) { - case 'a': - current_fs->flags &= ~EXT2_FLAG_MASTER_SB_ONLY; - break; - default: - goto print_usage; - } - } - - if (argc > optind) { - print_usage: - com_err(0, 0, "Usage: close_filesys [-a]"); - return; - } - - close_filesystem(); -} - -#ifndef READ_ONLY -void do_init_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - struct ext2_super_block param; - errcode_t retval; - int err; - blk64_t blocks; - - if (common_args_process(argc, argv, 3, 3, "initialize", - " ", CHECK_FS_NOTOPEN)) - return; - - memset(¶m, 0, sizeof(struct ext2_super_block)); - err = strtoblk(argv[0], argv[2], "blocks count", &blocks); - if (err) - return; - ext2fs_blocks_count_set(¶m, blocks); - retval = ext2fs_initialize(argv[1], 0, ¶m, - unix_io_manager, ¤t_fs); - if (retval) { - com_err(argv[1], retval, "while initializing filesystem"); - current_fs = NULL; - return; - } - root = cwd = EXT2_ROOT_INO; - return; -} - -static void print_features(struct ext2_super_block * s, FILE *f) -{ - int i, j, printed=0; - __u32 *mask = &s->s_feature_compat, m; - - fputs("Filesystem features:", f); - for (i=0; i <3; i++,mask++) { - for (j=0,m=1; j < 32; j++, m<<=1) { - if (*mask & m) { - fprintf(f, " %s", e2p_feature2string(i, m)); - printed++; - } - } - } - if (printed == 0) - fputs("(none)", f); - fputs("\n", f); -} -#endif /* READ_ONLY */ - -static void print_bg_opts(ext2_filsys fs, dgrp_t group, int mask, - const char *str, int *first, FILE *f) -{ - if (ext2fs_bg_flags_test(fs, group, mask)) { - if (*first) { - fputs(" [", f); - *first = 0; - } else - fputs(", ", f); - fputs(str, f); - } -} - -void do_show_super_stats(int argc, char *argv[], - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - const char *units ="block"; - dgrp_t i; - FILE *out; - int c, header_only = 0; - int numdirs = 0, first, gdt_csum; - - reset_getopt(); - while ((c = getopt (argc, argv, "h")) != EOF) { - switch (c) { - case 'h': - header_only++; - break; - default: - goto print_usage; - } - } - if (optind != argc) { - goto print_usage; - } - if (check_fs_open(argv[0])) - return; - out = open_pager(); - - if (ext2fs_has_feature_bigalloc(current_fs->super)) - units = "cluster"; - - list_super2(current_fs->super, out); - if (ext2fs_has_feature_metadata_csum(current_fs->super) && - !ext2fs_superblock_csum_verify(current_fs, - current_fs->super)) { - __u32 orig_csum = current_fs->super->s_checksum; - - ext2fs_superblock_csum_set(current_fs, - current_fs->super); - fprintf(out, "Expected Checksum: 0x%08x\n", - current_fs->super->s_checksum); - current_fs->super->s_checksum = orig_csum; - } - for (i=0; i < current_fs->group_desc_count; i++) - numdirs += ext2fs_bg_used_dirs_count(current_fs, i); - fprintf(out, "Directories: %u\n", numdirs); - - if (header_only) { - close_pager(out); - return; - } - - gdt_csum = ext2fs_has_group_desc_csum(current_fs); - for (i = 0; i < current_fs->group_desc_count; i++) { - fprintf(out, " Group %2d: block bitmap at %llu, " - "inode bitmap at %llu, " - "inode table at %llu\n" - " %u free %s%s, " - "%u free %s, " - "%u used %s%s", i, - (unsigned long long) ext2fs_block_bitmap_loc(current_fs, i), - (unsigned long long) ext2fs_inode_bitmap_loc(current_fs, i), - (unsigned long long) ext2fs_inode_table_loc(current_fs, i), - ext2fs_bg_free_blocks_count(current_fs, i), - units, - ext2fs_bg_free_blocks_count(current_fs, i) != 1 ? - "s" : "", - ext2fs_bg_free_inodes_count(current_fs, i), - ext2fs_bg_free_inodes_count(current_fs, i) != 1 ? - "inodes" : "inode", - ext2fs_bg_used_dirs_count(current_fs, i), - ext2fs_bg_used_dirs_count(current_fs, i) != 1 ? "directories" - : "directory", gdt_csum ? ", " : "\n"); - if (gdt_csum) - fprintf(out, "%u unused %s\n", - ext2fs_bg_itable_unused(current_fs, i), - ext2fs_bg_itable_unused(current_fs, i) != 1 ? - "inodes" : "inode"); - first = 1; - print_bg_opts(current_fs, i, EXT2_BG_INODE_UNINIT, "Inode not init", - &first, out); - print_bg_opts(current_fs, i, EXT2_BG_BLOCK_UNINIT, "Block not init", - &first, out); - if (gdt_csum) { - fprintf(out, "%sChecksum 0x%04x", - first ? " [":", ", ext2fs_bg_checksum(current_fs, i)); - first = 0; - } - if (!first) - fputs("]\n", out); - } - close_pager(out); - return; -print_usage: - fprintf(stderr, "%s: Usage: show_super_stats [-h]\n", argv[0]); -} - -#ifndef READ_ONLY -void do_dirty_filesys(int argc EXT2FS_ATTR((unused)), - char **argv EXT2FS_ATTR((unused)), - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - if (check_fs_open(argv[0])) - return; - if (check_fs_read_write(argv[0])) - return; - - if (argv[1] && !strcmp(argv[1], "-clean")) - current_fs->super->s_state |= EXT2_VALID_FS; - else - current_fs->super->s_state &= ~EXT2_VALID_FS; - ext2fs_mark_super_dirty(current_fs); -} -#endif /* READ_ONLY */ - -struct list_blocks_struct { - FILE *f; - e2_blkcnt_t total; - blk64_t first_block, last_block; - e2_blkcnt_t first_bcnt, last_bcnt; - e2_blkcnt_t first; -}; - -static void finish_range(struct list_blocks_struct *lb) -{ - if (lb->first_block == 0) - return; - if (lb->first) - lb->first = 0; - else - fprintf(lb->f, ", "); - if (lb->first_block == lb->last_block) - fprintf(lb->f, "(%lld):%llu", - (long long)lb->first_bcnt, - (unsigned long long) lb->first_block); - else - fprintf(lb->f, "(%lld-%lld):%llu-%llu", - (long long)lb->first_bcnt, (long long)lb->last_bcnt, - (unsigned long long) lb->first_block, - (unsigned long long) lb->last_block); - lb->first_block = 0; -} - -static int list_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *blocknr, e2_blkcnt_t blockcnt, - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private) -{ - struct list_blocks_struct *lb = (struct list_blocks_struct *) private; - - lb->total++; - if (blockcnt >= 0) { - /* - * See if we can add on to the existing range (if it exists) - */ - if (lb->first_block && - (lb->last_block+1 == *blocknr) && - (lb->last_bcnt+1 == blockcnt)) { - lb->last_block = *blocknr; - lb->last_bcnt = blockcnt; - return 0; - } - /* - * Start a new range. - */ - finish_range(lb); - lb->first_block = lb->last_block = *blocknr; - lb->first_bcnt = lb->last_bcnt = blockcnt; - return 0; - } - /* - * Not a normal block. Always force a new range. - */ - finish_range(lb); - if (lb->first) - lb->first = 0; - else - fprintf(lb->f, ", "); - if (blockcnt == -1) - fprintf(lb->f, "(IND):%llu", (unsigned long long) *blocknr); - else if (blockcnt == -2) - fprintf(lb->f, "(DIND):%llu", (unsigned long long) *blocknr); - else if (blockcnt == -3) - fprintf(lb->f, "(TIND):%llu", (unsigned long long) *blocknr); - return 0; -} - -static void internal_dump_inode_extra(FILE *out, - const char *prefix EXT2FS_ATTR((unused)), - ext2_ino_t inode_num EXT2FS_ATTR((unused)), - struct ext2_inode_large *inode) -{ - fprintf(out, "Size of extra inode fields: %u\n", inode->i_extra_isize); - if (inode->i_extra_isize > EXT2_INODE_SIZE(current_fs->super) - - EXT2_GOOD_OLD_INODE_SIZE) { - fprintf(stderr, "invalid inode->i_extra_isize (%u)\n", - inode->i_extra_isize); - return; - } -} - -static void dump_blocks(FILE *f, const char *prefix, ext2_ino_t inode) -{ - struct list_blocks_struct lb; - - fprintf(f, "%sBLOCKS:\n%s", prefix, prefix); - lb.total = 0; - lb.first_block = 0; - lb.f = f; - lb.first = 1; - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, - list_blocks_proc, (void *)&lb); - finish_range(&lb); - if (lb.total) - fprintf(f, "\n%sTOTAL: %lld\n", prefix, (long long)lb.total); - fprintf(f,"\n"); -} - -static int int_log10(unsigned long long arg) -{ - int l = 0; - - arg = arg / 10; - while (arg) { - l++; - arg = arg / 10; - } - return l; -} - -#define DUMP_LEAF_EXTENTS 0x01 -#define DUMP_NODE_EXTENTS 0x02 -#define DUMP_EXTENT_TABLE 0x04 - -static void dump_extents(FILE *f, const char *prefix, ext2_ino_t ino, - int flags, int logical_width, int physical_width) -{ - ext2_extent_handle_t handle; - struct ext2fs_extent extent; - struct ext2_extent_info info; - int op = EXT2_EXTENT_ROOT; - unsigned int printed = 0; - errcode_t errcode; - - errcode = ext2fs_extent_open(current_fs, ino, &handle); - if (errcode) - return; - - if (flags & DUMP_EXTENT_TABLE) - fprintf(f, "Level Entries %*s %*s Length Flags\n", - (logical_width*2)+3, "Logical", - (physical_width*2)+3, "Physical"); - else - fprintf(f, "%sEXTENTS:\n%s", prefix, prefix); - - while (1) { - errcode = ext2fs_extent_get(handle, op, &extent); - - if (errcode) - break; - - op = EXT2_EXTENT_NEXT; - - if (extent.e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) - continue; - - if (extent.e_flags & EXT2_EXTENT_FLAGS_LEAF) { - if ((flags & DUMP_LEAF_EXTENTS) == 0) - continue; - } else { - if ((flags & DUMP_NODE_EXTENTS) == 0) - continue; - } - - errcode = ext2fs_extent_get_info(handle, &info); - if (errcode) - continue; - - if (!(extent.e_flags & EXT2_EXTENT_FLAGS_LEAF)) { - if (extent.e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) - continue; - - if (flags & DUMP_EXTENT_TABLE) { - fprintf(f, "%2d/%2d %3d/%3d %*llu - %*llu " - "%*llu%*s %6u\n", - info.curr_level, info.max_depth, - info.curr_entry, info.num_entries, - logical_width, - (unsigned long long) extent.e_lblk, - logical_width, - (unsigned long long) extent.e_lblk + (extent.e_len - 1), - physical_width, - (unsigned long long) extent.e_pblk, - physical_width+3, "", extent.e_len); - continue; - } - - fprintf(f, "%s(ETB%d):%llu", - printed ? ", " : "", info.curr_level, - (unsigned long long) extent.e_pblk); - printed = 1; - continue; - } - - if (flags & DUMP_EXTENT_TABLE) { - fprintf(f, "%2d/%2d %3d/%3d %*llu - %*llu " - "%*llu - %*llu %6u %s\n", - info.curr_level, info.max_depth, - info.curr_entry, info.num_entries, - logical_width, - (unsigned long long) extent.e_lblk, - logical_width, - (unsigned long long) extent.e_lblk + (extent.e_len - 1), - physical_width, - (unsigned long long) extent.e_pblk, - physical_width, - (unsigned long long) extent.e_pblk + (extent.e_len - 1), - extent.e_len, - extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT ? - "Uninit" : ""); - continue; - } - - if (extent.e_len == 0) - continue; - else if (extent.e_len == 1) - fprintf(f, - "%s(%lld%s):%lld", - printed ? ", " : "", - (unsigned long long) extent.e_lblk, - extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT ? - "[u]" : "", - (unsigned long long) extent.e_pblk); - else - fprintf(f, - "%s(%lld-%lld%s):%lld-%lld", - printed ? ", " : "", - (unsigned long long) extent.e_lblk, - (unsigned long long) extent.e_lblk + (extent.e_len - 1), - extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT ? - "[u]" : "", - (unsigned long long) extent.e_pblk, - (unsigned long long) extent.e_pblk + (extent.e_len - 1)); - printed = 1; - } - if (printed) - fprintf(f, "\n"); - ext2fs_extent_free(handle); -} - -static void dump_inline_data(FILE *out, const char *prefix, ext2_ino_t inode_num) -{ - errcode_t retval; - size_t size; - - retval = ext2fs_inline_data_size(current_fs, inode_num, &size); - if (!retval) - fprintf(out, "%sSize of inline data: %zu\n", prefix, size); -} - -static void dump_inline_symlink(FILE *out, ext2_ino_t inode_num, - struct ext2_inode *inode, const char *prefix) -{ - errcode_t retval; - char *buf = NULL; - size_t size; - - retval = ext2fs_inline_data_size(current_fs, inode_num, &size); - if (retval) - goto out; - - retval = ext2fs_get_memzero(size + 1, &buf); - if (retval) - goto out; - - retval = ext2fs_inline_data_get(current_fs, inode_num, - inode, buf, &size); - if (retval) - goto out; - - fprintf(out, "%sFast link dest: \"%.*s\"\n", prefix, - (int)size, buf); -out: - if (buf) - ext2fs_free_mem(&buf); - if (retval) - com_err(__func__, retval, "while dumping link destination"); -} - -void internal_dump_inode(FILE *out, const char *prefix, - ext2_ino_t inode_num, struct ext2_inode *inode, - int do_dump_blocks) -{ - const char *i_type; - char frag, fsize; - int os = current_fs->super->s_creator_os; - struct ext2_inode_large *large_inode; - int is_large_inode = 0; - - if (EXT2_INODE_SIZE(current_fs->super) > EXT2_GOOD_OLD_INODE_SIZE) - is_large_inode = 1; - large_inode = (struct ext2_inode_large *) inode; - - if (LINUX_S_ISDIR(inode->i_mode)) i_type = "directory"; - else if (LINUX_S_ISREG(inode->i_mode)) i_type = "regular"; - else if (LINUX_S_ISLNK(inode->i_mode)) i_type = "symlink"; - else if (LINUX_S_ISBLK(inode->i_mode)) i_type = "block special"; - else if (LINUX_S_ISCHR(inode->i_mode)) i_type = "character special"; - else if (LINUX_S_ISFIFO(inode->i_mode)) i_type = "FIFO"; - else if (LINUX_S_ISSOCK(inode->i_mode)) i_type = "socket"; - else i_type = "bad type"; - fprintf(out, "%sInode: %u Type: %s ", prefix, inode_num, i_type); - fprintf(out, "%sMode: 0%03o Flags: 0x%x\n", - prefix, inode->i_mode & 07777, inode->i_flags); - if (is_large_inode && large_inode->i_extra_isize >= 24) { - fprintf(out, "%sGeneration: %u Version: 0x%08x:%08x\n", - prefix, inode->i_generation, large_inode->i_version_hi, - inode->osd1.linux1.l_i_version); - } else { - fprintf(out, "%sGeneration: %u Version: 0x%08x\n", prefix, - inode->i_generation, inode->osd1.linux1.l_i_version); - } - fprintf(out, "%sUser: %5d Group: %5d", - prefix, inode_uid(*inode), inode_gid(*inode)); - if (is_large_inode && large_inode->i_extra_isize >= 32) - fprintf(out, " Project: %5d", large_inode->i_projid); - fputs(" Size: ", out); - if (LINUX_S_ISREG(inode->i_mode) || LINUX_S_ISDIR(inode->i_mode)) - fprintf(out, "%llu\n", (unsigned long long) EXT2_I_SIZE(inode)); - else - fprintf(out, "%u\n", inode->i_size); - if (os == EXT2_OS_HURD) - fprintf(out, - "%sFile ACL: %u Translator: %u\n", - prefix, - inode->i_file_acl, - inode->osd1.hurd1.h_i_translator); - else - fprintf(out, "%sFile ACL: %llu\n", - prefix, - inode->i_file_acl | ((long long) - (inode->osd2.linux2.l_i_file_acl_high) << 32)); - if (os != EXT2_OS_HURD) - fprintf(out, "%sLinks: %u Blockcount: %llu\n", - prefix, inode->i_links_count, - (((unsigned long long) - inode->osd2.linux2.l_i_blocks_hi << 32)) + - inode->i_blocks); - else - fprintf(out, "%sLinks: %u Blockcount: %u\n", - prefix, inode->i_links_count, inode->i_blocks); - switch (os) { - case EXT2_OS_HURD: - frag = inode->osd2.hurd2.h_i_frag; - fsize = inode->osd2.hurd2.h_i_fsize; - break; - default: - frag = fsize = 0; - } - fprintf(out, "%sFragment: Address: %u Number: %u Size: %u\n", - prefix, inode->i_faddr, frag, fsize); - if (is_large_inode && large_inode->i_extra_isize >= 24) { - fprintf(out, "%s ctime: 0x%08x:%08x -- %s", prefix, - inode->i_ctime, large_inode->i_ctime_extra, - inode_time_to_string(inode->i_ctime, - large_inode->i_ctime_extra)); - fprintf(out, "%s atime: 0x%08x:%08x -- %s", prefix, - inode->i_atime, large_inode->i_atime_extra, - inode_time_to_string(inode->i_atime, - large_inode->i_atime_extra)); - fprintf(out, "%s mtime: 0x%08x:%08x -- %s", prefix, - inode->i_mtime, large_inode->i_mtime_extra, - inode_time_to_string(inode->i_mtime, - large_inode->i_mtime_extra)); - fprintf(out, "%scrtime: 0x%08x:%08x -- %s", prefix, - large_inode->i_crtime, large_inode->i_crtime_extra, - inode_time_to_string(large_inode->i_crtime, - large_inode->i_crtime_extra)); - if (inode->i_dtime) - fprintf(out, "%s dtime: 0x%08x:(%08x) -- %s", prefix, - large_inode->i_dtime, large_inode->i_ctime_extra, - inode_time_to_string(inode->i_dtime, - large_inode->i_ctime_extra)); - } else { - fprintf(out, "%sctime: 0x%08x -- %s", prefix, inode->i_ctime, - time_to_string((__s32) inode->i_ctime)); - fprintf(out, "%satime: 0x%08x -- %s", prefix, inode->i_atime, - time_to_string((__s32) inode->i_atime)); - fprintf(out, "%smtime: 0x%08x -- %s", prefix, inode->i_mtime, - time_to_string((__s32) inode->i_mtime)); - if (inode->i_dtime) - fprintf(out, "%sdtime: 0x%08x -- %s", prefix, - inode->i_dtime, - time_to_string((__s32) inode->i_dtime)); - } - if (EXT2_INODE_SIZE(current_fs->super) > EXT2_GOOD_OLD_INODE_SIZE) - internal_dump_inode_extra(out, prefix, inode_num, - (struct ext2_inode_large *) inode); - dump_inode_attributes(out, inode_num); - if (ext2fs_has_feature_metadata_csum(current_fs->super)) { - __u32 crc = inode->i_checksum_lo; - if (is_large_inode && - large_inode->i_extra_isize >= - (offsetof(struct ext2_inode_large, - i_checksum_hi) - - EXT2_GOOD_OLD_INODE_SIZE)) - crc |= ((__u32)large_inode->i_checksum_hi) << 16; - fprintf(out, "Inode checksum: 0x%08x\n", crc); - } - - if (LINUX_S_ISLNK(inode->i_mode) && ext2fs_is_fast_symlink(inode)) - fprintf(out, "%sFast link dest: \"%.*s\"\n", prefix, - (int)EXT2_I_SIZE(inode), (char *)inode->i_block); - else if (LINUX_S_ISLNK(inode->i_mode) && - (inode->i_flags & EXT4_INLINE_DATA_FL)) - dump_inline_symlink(out, inode_num, inode, prefix); - else if (LINUX_S_ISBLK(inode->i_mode) || LINUX_S_ISCHR(inode->i_mode)) { - int major, minor; - const char *devnote; - - if (inode->i_block[0]) { - major = (inode->i_block[0] >> 8) & 255; - minor = inode->i_block[0] & 255; - devnote = ""; - } else { - major = (inode->i_block[1] & 0xfff00) >> 8; - minor = ((inode->i_block[1] & 0xff) | - ((inode->i_block[1] >> 12) & 0xfff00)); - devnote = "(New-style) "; - } - fprintf(out, "%sDevice major/minor number: %02d:%02d (hex %02x:%02x)\n", - devnote, major, minor, major, minor); - } else if (do_dump_blocks) { - if (inode->i_flags & EXT4_EXTENTS_FL) - dump_extents(out, prefix, inode_num, - DUMP_LEAF_EXTENTS|DUMP_NODE_EXTENTS, 0, 0); - else if (inode->i_flags & EXT4_INLINE_DATA_FL) - dump_inline_data(out, prefix, inode_num); - else - dump_blocks(out, prefix, inode_num); - } -} - -static void dump_inode(ext2_ino_t inode_num, struct ext2_inode *inode) -{ - FILE *out; - - out = open_pager(); - internal_dump_inode(out, "", inode_num, inode, 1); - close_pager(out); -} - -void do_stat(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - struct ext2_inode * inode_buf; - - if (check_fs_open(argv[0])) - return; - - inode_buf = (struct ext2_inode *) - malloc(EXT2_INODE_SIZE(current_fs->super)); - if (!inode_buf) { - fprintf(stderr, "do_stat: can't allocate buffer\n"); - return; - } - - if (common_inode_args_process(argc, argv, &inode, 0)) { - free(inode_buf); - return; - } - - if (debugfs_read_inode2(inode, inode_buf, argv[0], - EXT2_INODE_SIZE(current_fs->super), 0)) { - free(inode_buf); - return; - } - - dump_inode(inode, inode_buf); - free(inode_buf); - return; -} - -void do_dump_extents(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - struct ext2_inode inode; - ext2_ino_t ino; - FILE *out; - int c, flags = 0; - int logical_width; - int physical_width; - - reset_getopt(); - while ((c = getopt(argc, argv, "nl")) != EOF) { - switch (c) { - case 'n': - flags |= DUMP_NODE_EXTENTS; - break; - case 'l': - flags |= DUMP_LEAF_EXTENTS; - break; - } - } - - if (argc != optind + 1) { - com_err(0, 0, "Usage: dump_extents [-n] [-l] file"); - return; - } - - if (flags == 0) - flags = DUMP_NODE_EXTENTS | DUMP_LEAF_EXTENTS; - flags |= DUMP_EXTENT_TABLE; - - if (check_fs_open(argv[0])) - return; - - ino = string_to_inode(argv[optind]); - if (ino == 0) - return; - - if (debugfs_read_inode(ino, &inode, argv[0])) - return; - - if ((inode.i_flags & EXT4_EXTENTS_FL) == 0) { - fprintf(stderr, "%s: does not uses extent block maps\n", - argv[optind]); - return; - } - - logical_width = int_log10((EXT2_I_SIZE(&inode)+current_fs->blocksize-1)/ - current_fs->blocksize) + 1; - if (logical_width < 5) - logical_width = 5; - physical_width = int_log10(ext2fs_blocks_count(current_fs->super)) + 1; - if (physical_width < 5) - physical_width = 5; - - out = open_pager(); - dump_extents(out, "", ino, flags, logical_width, physical_width); - close_pager(out); - return; -} - -static int print_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), - blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private EXT2FS_ATTR((unused))) -{ - printf("%llu ", (unsigned long long) *blocknr); - return 0; -} - -void do_blocks(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - - if (check_fs_open(argv[0])) - return; - - if (common_inode_args_process(argc, argv, &inode, 0)) { - return; - } - - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, NULL, - print_blocks_proc, NULL); - fputc('\n', stdout); - return; -} - -void do_chroot(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - int retval; - - if (common_inode_args_process(argc, argv, &inode, 0)) - return; - - retval = ext2fs_check_directory(current_fs, inode); - if (retval) { - com_err(argv[1], retval, 0); - return; - } - root = inode; -} - -#ifndef READ_ONLY -void do_clri(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - struct ext2_inode inode_buf; - - if (common_inode_args_process(argc, argv, &inode, CHECK_FS_RW)) - return; - - if (debugfs_read_inode(inode, &inode_buf, argv[0])) - return; - memset(&inode_buf, 0, sizeof(inode_buf)); - if (debugfs_write_inode(inode, &inode_buf, argv[0])) - return; -} - -void do_freei(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - unsigned int len = 1; - int err = 0; - ext2_ino_t inode; - - if (common_args_process(argc, argv, 2, 3, argv[0], " [num]", - CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - if (check_fs_read_write(argv[0])) - return; - - inode = string_to_inode(argv[1]); - if (!inode) - return; - - if (argc == 3) { - len = parse_ulong(argv[2], argv[0], "length", &err); - if (err) - return; - } - - if (len == 1 && - !ext2fs_test_inode_bitmap2(current_fs->inode_map,inode)) - com_err(argv[0], 0, "Warning: inode already clear"); - while (len-- > 0) - ext2fs_unmark_inode_bitmap2(current_fs->inode_map, inode++); - ext2fs_mark_ib_dirty(current_fs); -} - -void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - unsigned int len = 1; - int err = 0; - ext2_ino_t inode; - - if (common_args_process(argc, argv, 2, 3, argv[0], " [num]", - CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - if (check_fs_read_write(argv[0])) - return; - - inode = string_to_inode(argv[1]); - if (!inode) - return; - - if (argc == 3) { - len = parse_ulong(argv[2], argv[0], "length", &err); - if (err) - return; - } - - if ((len == 1) && - ext2fs_test_inode_bitmap2(current_fs->inode_map,inode)) - com_err(argv[0], 0, "Warning: inode already set"); - while (len-- > 0) - ext2fs_mark_inode_bitmap2(current_fs->inode_map, inode++); - ext2fs_mark_ib_dirty(current_fs); -} -#endif /* READ_ONLY */ - -void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - - if (common_inode_args_process(argc, argv, &inode, CHECK_FS_BITMAPS)) - return; - - if (ext2fs_test_inode_bitmap2(current_fs->inode_map,inode)) - printf("Inode %u is marked in use\n", inode); - else - printf("Inode %u is not in use\n", inode); -} - -#ifndef READ_ONLY -void do_freeb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - blk64_t block; - blk64_t count = 1; - - if (common_block_args_process(argc, argv, &block, &count)) - return; - if (check_fs_read_write(argv[0])) - return; - while (count-- > 0) { - if (!ext2fs_test_block_bitmap2(current_fs->block_map,block)) - com_err(argv[0], 0, "Warning: block %llu already clear", - (unsigned long long) block); - ext2fs_unmark_block_bitmap2(current_fs->block_map,block); - block++; - } - ext2fs_mark_bb_dirty(current_fs); -} - -void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - blk64_t block; - blk64_t count = 1; - - if (common_block_args_process(argc, argv, &block, &count)) - return; - if (check_fs_read_write(argv[0])) - return; - while (count-- > 0) { - if (ext2fs_test_block_bitmap2(current_fs->block_map,block)) - com_err(argv[0], 0, "Warning: block %llu already set", - (unsigned long long) block); - ext2fs_mark_block_bitmap2(current_fs->block_map,block); - block++; - } - ext2fs_mark_bb_dirty(current_fs); -} -#endif /* READ_ONLY */ - -void do_testb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - blk64_t block; - blk64_t count = 1; - - if (common_block_args_process(argc, argv, &block, &count)) - return; - while (count-- > 0) { - if (ext2fs_test_block_bitmap2(current_fs->block_map,block)) - printf("Block %llu marked in use\n", - (unsigned long long) block); - else - printf("Block %llu not in use\n", - (unsigned long long) block); - block++; - } -} - -#ifndef READ_ONLY -static void modify_u8(char *com, const char *prompt, - const char *format, __u8 *val) -{ - char buf[200]; - unsigned long v; - char *tmp; - - sprintf(buf, format, *val); - printf("%30s [%s] ", prompt, buf); - if (!fgets(buf, sizeof(buf), stdin)) - return; - if (buf[strlen (buf) - 1] == '\n') - buf[strlen (buf) - 1] = '\0'; - if (!buf[0]) - return; - v = strtoul(buf, &tmp, 0); - if (*tmp) - com_err(com, 0, "Bad value - %s", buf); - else - *val = v; -} - -static void modify_u16(char *com, const char *prompt, - const char *format, __u16 *val) -{ - char buf[200]; - unsigned long v; - char *tmp; - - sprintf(buf, format, *val); - printf("%30s [%s] ", prompt, buf); - if (!fgets(buf, sizeof(buf), stdin)) - return; - if (buf[strlen (buf) - 1] == '\n') - buf[strlen (buf) - 1] = '\0'; - if (!buf[0]) - return; - v = strtoul(buf, &tmp, 0); - if (*tmp) - com_err(com, 0, "Bad value - %s", buf); - else - *val = v; -} - -static void modify_u32(char *com, const char *prompt, - const char *format, __u32 *val) -{ - char buf[200]; - unsigned long v; - char *tmp; - - sprintf(buf, format, *val); - printf("%30s [%s] ", prompt, buf); - if (!fgets(buf, sizeof(buf), stdin)) - return; - if (buf[strlen (buf) - 1] == '\n') - buf[strlen (buf) - 1] = '\0'; - if (!buf[0]) - return; - v = strtoul(buf, &tmp, 0); - if (*tmp) - com_err(com, 0, "Bad value - %s", buf); - else - *val = v; -} - - -void do_modify_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - struct ext2_inode inode; - ext2_ino_t inode_num; - int i; - unsigned char *frag, *fsize; - char buf[80]; - int os; - const char *hex_format = "0x%x"; - const char *octal_format = "0%o"; - const char *decimal_format = "%d"; - const char *unsignedlong_format = "%lu"; - - if (common_inode_args_process(argc, argv, &inode_num, CHECK_FS_RW)) - return; - - os = current_fs->super->s_creator_os; - - if (debugfs_read_inode(inode_num, &inode, argv[1])) - return; - - modify_u16(argv[0], "Mode", octal_format, &inode.i_mode); - modify_u16(argv[0], "User ID", decimal_format, &inode.i_uid); - modify_u16(argv[0], "Group ID", decimal_format, &inode.i_gid); - modify_u32(argv[0], "Size", unsignedlong_format, &inode.i_size); - modify_u32(argv[0], "Creation time", decimal_format, &inode.i_ctime); - modify_u32(argv[0], "Modification time", decimal_format, &inode.i_mtime); - modify_u32(argv[0], "Access time", decimal_format, &inode.i_atime); - modify_u32(argv[0], "Deletion time", decimal_format, &inode.i_dtime); - modify_u16(argv[0], "Link count", decimal_format, &inode.i_links_count); - if (os == EXT2_OS_LINUX) - modify_u16(argv[0], "Block count high", unsignedlong_format, - &inode.osd2.linux2.l_i_blocks_hi); - modify_u32(argv[0], "Block count", unsignedlong_format, &inode.i_blocks); - modify_u32(argv[0], "File flags", hex_format, &inode.i_flags); - modify_u32(argv[0], "Generation", hex_format, &inode.i_generation); -#if 0 - modify_u32(argv[0], "Reserved1", decimal_format, &inode.i_reserved1); -#endif - modify_u32(argv[0], "File acl", decimal_format, &inode.i_file_acl); - - modify_u32(argv[0], "High 32bits of size", decimal_format, - &inode.i_size_high); - - if (os == EXT2_OS_HURD) - modify_u32(argv[0], "Translator Block", - decimal_format, &inode.osd1.hurd1.h_i_translator); - - modify_u32(argv[0], "Fragment address", decimal_format, &inode.i_faddr); - switch (os) { - case EXT2_OS_HURD: - frag = &inode.osd2.hurd2.h_i_frag; - fsize = &inode.osd2.hurd2.h_i_fsize; - break; - default: - frag = fsize = 0; - } - if (frag) - modify_u8(argv[0], "Fragment number", decimal_format, frag); - if (fsize) - modify_u8(argv[0], "Fragment size", decimal_format, fsize); - - for (i=0; i < EXT2_NDIR_BLOCKS; i++) { - sprintf(buf, "Direct Block #%u", i); - modify_u32(argv[0], buf, decimal_format, &inode.i_block[i]); - } - modify_u32(argv[0], "Indirect Block", decimal_format, - &inode.i_block[EXT2_IND_BLOCK]); - modify_u32(argv[0], "Double Indirect Block", decimal_format, - &inode.i_block[EXT2_DIND_BLOCK]); - modify_u32(argv[0], "Triple Indirect Block", decimal_format, - &inode.i_block[EXT2_TIND_BLOCK]); - if (debugfs_write_inode(inode_num, &inode, argv[1])) - return; -} -#endif /* READ_ONLY */ - -void do_change_working_dir(int argc, char *argv[], - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - int retval; - - if (common_inode_args_process(argc, argv, &inode, 0)) - return; - - retval = ext2fs_check_directory(current_fs, inode); - if (retval) { - com_err(argv[1], retval, 0); - return; - } - cwd = inode; - return; -} - -void do_print_working_directory(int argc, char *argv[], - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - int retval; - char *pathname = NULL; - - if (common_args_process(argc, argv, 1, 1, - "print_working_directory", "", 0)) - return; - - retval = ext2fs_get_pathname(current_fs, cwd, 0, &pathname); - if (retval) { - com_err(argv[0], retval, - "while trying to get pathname of cwd"); - } - printf("[pwd] INODE: %6u PATH: %s\n", - cwd, pathname ? pathname : "NULL"); - if (pathname) { - free(pathname); - pathname = NULL; - } - retval = ext2fs_get_pathname(current_fs, root, 0, &pathname); - if (retval) { - com_err(argv[0], retval, - "while trying to get pathname of root"); - } - printf("[root] INODE: %6u PATH: %s\n", - root, pathname ? pathname : "NULL"); - if (pathname) { - free(pathname); - pathname = NULL; - } - return; -} - -#ifndef READ_ONLY -static void make_link(char *sourcename, char *destname) -{ - ext2_ino_t ino; - struct ext2_inode inode; - int retval; - ext2_ino_t dir; - char *dest, *cp, *base_name; - - /* - * Get the source inode - */ - ino = string_to_inode(sourcename); - if (!ino) - return; - base_name = strrchr(sourcename, '/'); - if (base_name) - base_name++; - else - base_name = sourcename; - /* - * Figure out the destination. First see if it exists and is - * a directory. - */ - if (! (retval=ext2fs_namei(current_fs, root, cwd, destname, &dir))) - dest = base_name; - else { - /* - * OK, it doesn't exist. See if it is - * '/basename' or 'basename' - */ - cp = strrchr(destname, '/'); - if (cp) { - *cp = 0; - dir = string_to_inode(destname); - if (!dir) - return; - dest = cp+1; - } else { - dir = cwd; - dest = destname; - } - } - - if (debugfs_read_inode(ino, &inode, sourcename)) - return; - - retval = ext2fs_link(current_fs, dir, dest, ino, - ext2_file_type(inode.i_mode)); - if (retval) - com_err("make_link", retval, 0); - return; -} - - -void do_link(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - if (common_args_process(argc, argv, 3, 3, "link", - " ", CHECK_FS_RW)) - return; - - make_link(argv[1], argv[2]); -} - -static int mark_blocks_proc(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private EXT2FS_ATTR((unused))) -{ - blk64_t block; - - block = *blocknr; - ext2fs_block_alloc_stats2(fs, block, +1); - return 0; -} - -void do_undel(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t ino; - struct ext2_inode inode; - - if (common_args_process(argc, argv, 2, 3, "undelete", - " [dest_name]", - CHECK_FS_RW | CHECK_FS_BITMAPS)) - return; - - ino = string_to_inode(argv[1]); - if (!ino) - return; - - if (debugfs_read_inode(ino, &inode, argv[1])) - return; - - if (ext2fs_test_inode_bitmap2(current_fs->inode_map, ino)) { - com_err(argv[1], 0, "Inode is not marked as deleted"); - return; - } - - /* - * XXX this function doesn't handle changing the links count on the - * parent directory when undeleting a directory. - */ - inode.i_links_count = LINUX_S_ISDIR(inode.i_mode) ? 2 : 1; - inode.i_dtime = 0; - - if (debugfs_write_inode(ino, &inode, argv[0])) - return; - - ext2fs_block_iterate3(current_fs, ino, BLOCK_FLAG_READ_ONLY, NULL, - mark_blocks_proc, NULL); - - ext2fs_inode_alloc_stats2(current_fs, ino, +1, 0); - - if (argc > 2) - make_link(argv[1], argv[2]); -} - -static void unlink_file_by_name(char *filename) -{ - int retval; - ext2_ino_t dir; - char *base_name; - - base_name = strrchr(filename, '/'); - if (base_name) { - *base_name++ = '\0'; - dir = string_to_inode(filename); - if (!dir) - return; - } else { - dir = cwd; - base_name = filename; - } - retval = ext2fs_unlink(current_fs, dir, base_name, 0, 0); - if (retval) - com_err("unlink_file_by_name", retval, 0); - return; -} - -void do_unlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - if (common_args_process(argc, argv, 2, 2, "link", - "", CHECK_FS_RW)) - return; - - unlink_file_by_name(argv[1]); -} - -void do_copy_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t src_ino, dest_ino; - unsigned char buf[4096]; - - if (common_args_process(argc, argv, 3, 3, "copy_inode", - " ", CHECK_FS_RW)) - return; - - src_ino = string_to_inode(argv[1]); - if (!src_ino) - return; - - dest_ino = string_to_inode(argv[2]); - if (!dest_ino) - return; - - if (debugfs_read_inode2(src_ino, (struct ext2_inode *) buf, - argv[0], sizeof(buf), 0)) - return; - - if (debugfs_write_inode2(dest_ino, (struct ext2_inode *) buf, - argv[0], sizeof(buf), 0)) - return; -} - -#endif /* READ_ONLY */ - -void do_find_free_block(int argc, char *argv[], - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - blk64_t free_blk, goal, first_free = 0; - int count; - errcode_t retval; - char *tmp; - - if ((argc > 3) || (argc==2 && *argv[1] == '?')) { - com_err(argv[0], 0, "Usage: find_free_block [count [goal]]"); - return; - } - if (check_fs_open(argv[0])) - return; - - if (argc > 1) { - count = strtol(argv[1],&tmp,0); - if (*tmp) { - com_err(argv[0], 0, "Bad count - %s", argv[1]); - return; - } - } else - count = 1; - - if (argc > 2) { - goal = strtol(argv[2], &tmp, 0); - if (*tmp) { - com_err(argv[0], 0, "Bad goal - %s", argv[1]); - return; - } - } - else - goal = current_fs->super->s_first_data_block; - - printf("Free blocks found: "); - free_blk = goal - 1; - while (count-- > 0) { - retval = ext2fs_new_block2(current_fs, free_blk + 1, 0, - &free_blk); - if (first_free) { - if (first_free == free_blk) - break; - } else - first_free = free_blk; - if (retval) { - com_err("ext2fs_new_block", retval, 0); - return; - } else - printf("%llu ", (unsigned long long) free_blk); - } - printf("\n"); -} - -void do_find_free_inode(int argc, char *argv[], - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t free_inode, dir; - int mode; - int retval; - char *tmp; - - if (argc > 3 || (argc>1 && *argv[1] == '?')) { - com_err(argv[0], 0, "Usage: find_free_inode [dir [mode]]"); - return; - } - if (check_fs_open(argv[0])) - return; - - if (argc > 1) { - dir = strtol(argv[1], &tmp, 0); - if (*tmp) { - com_err(argv[0], 0, "Bad dir - %s", argv[1]); - return; - } - } - else - dir = root; - if (argc > 2) { - mode = strtol(argv[2], &tmp, 0); - if (*tmp) { - com_err(argv[0], 0, "Bad mode - %s", argv[2]); - return; - } - } else - mode = 010755; - - retval = ext2fs_new_inode(current_fs, dir, mode, 0, &free_inode); - if (retval) - com_err("ext2fs_new_inode", retval, 0); - else - printf("Free inode found: %u\n", free_inode); -} - -#ifndef READ_ONLY -void do_write(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - errcode_t retval; - - if (common_args_process(argc, argv, 3, 3, "write", - " ", CHECK_FS_RW)) - return; - - retval = do_write_internal(current_fs, cwd, argv[1], argv[2], root); - if (retval) - com_err(argv[0], retval, 0); -} - -void do_mknod(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - unsigned long major, minor; - errcode_t retval; - int nr; - struct stat st; - - if (check_fs_open(argv[0])) - return; - if (argc < 3 || argv[2][1]) { - usage: - com_err(argv[0], 0, "Usage: mknod [p| [c|b] ]"); - return; - } - - minor = major = 0; - switch (argv[2][0]) { - case 'p': - st.st_mode = S_IFIFO; - nr = 3; - break; - case 'c': - st.st_mode = S_IFCHR; - nr = 5; - break; - case 'b': - st.st_mode = S_IFBLK; - nr = 5; - break; - default: - nr = 0; - } - - if (nr == 5) { - major = strtoul(argv[3], argv+3, 0); - minor = strtoul(argv[4], argv+4, 0); - if (major > 65535 || minor > 65535 || argv[3][0] || argv[4][0]) - nr = 0; - } - - if (argc != nr) - goto usage; - - st.st_rdev = makedev(major, minor); - retval = do_mknod_internal(current_fs, cwd, argv[1], - st.st_mode, st.st_rdev); - if (retval) - com_err(argv[0], retval, 0); -} - -void do_mkdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - errcode_t retval; - - if (common_args_process(argc, argv, 2, 2, "mkdir", - "", CHECK_FS_RW)) - return; - - retval = do_mkdir_internal(current_fs, cwd, argv[1], root); - if (retval) - com_err(argv[0], retval, 0); - -} - -static int release_blocks_proc(ext2_filsys fs, blk64_t *blocknr, - e2_blkcnt_t blockcnt EXT2FS_ATTR((unused)), - blk64_t ref_block EXT2FS_ATTR((unused)), - int ref_offset EXT2FS_ATTR((unused)), - void *private) -{ - blk64_t block = *blocknr; - blk64_t *last_cluster = (blk64_t *)private; - blk64_t cluster = EXT2FS_B2C(fs, block); - - if (cluster == *last_cluster) - return 0; - - *last_cluster = cluster; - - ext2fs_block_alloc_stats2(fs, block, -1); - return 0; -} - -static void kill_file_by_inode(ext2_ino_t inode) -{ - struct ext2_inode inode_buf; - - if (debugfs_read_inode(inode, &inode_buf, 0)) - return; - inode_buf.i_dtime = current_fs->now ? current_fs->now : time(0); - if (debugfs_write_inode(inode, &inode_buf, 0)) - return; - if (ext2fs_inode_has_valid_blocks2(current_fs, &inode_buf)) { - blk64_t last_cluster = 0; - ext2fs_block_iterate3(current_fs, inode, BLOCK_FLAG_READ_ONLY, - NULL, release_blocks_proc, &last_cluster); - } - printf("\n"); - ext2fs_inode_alloc_stats2(current_fs, inode, -1, - LINUX_S_ISDIR(inode_buf.i_mode)); -} - - -void do_kill_file(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode_num; - - if (common_inode_args_process(argc, argv, &inode_num, CHECK_FS_RW)) - return; - - kill_file_by_inode(inode_num); -} - -void do_rm(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - int retval; - ext2_ino_t inode_num; - struct ext2_inode inode; - - if (common_args_process(argc, argv, 2, 2, "rm", - "", CHECK_FS_RW)) - return; - - retval = ext2fs_namei(current_fs, root, cwd, argv[1], &inode_num); - if (retval) { - com_err(argv[0], retval, "while trying to resolve filename"); - return; - } - - if (debugfs_read_inode(inode_num, &inode, argv[0])) - return; - - if (LINUX_S_ISDIR(inode.i_mode)) { - com_err(argv[0], 0, "file is a directory"); - return; - } - - --inode.i_links_count; - if (debugfs_write_inode(inode_num, &inode, argv[0])) - return; - - unlink_file_by_name(argv[1]); - if (inode.i_links_count == 0) - kill_file_by_inode(inode_num); -} - -struct rd_struct { - ext2_ino_t parent; - int empty; -}; - -static int rmdir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), - int entry EXT2FS_ATTR((unused)), - struct ext2_dir_entry *dirent, - int offset EXT2FS_ATTR((unused)), - int blocksize EXT2FS_ATTR((unused)), - char *buf EXT2FS_ATTR((unused)), - void *private) -{ - struct rd_struct *rds = (struct rd_struct *) private; - - if (dirent->inode == 0) - return 0; - if ((ext2fs_dirent_name_len(dirent) == 1) && (dirent->name[0] == '.')) - return 0; - if ((ext2fs_dirent_name_len(dirent) == 2) && (dirent->name[0] == '.') && - (dirent->name[1] == '.')) { - rds->parent = dirent->inode; - return 0; - } - rds->empty = 0; - return 0; -} - -void do_rmdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - int retval; - ext2_ino_t inode_num; - struct ext2_inode inode; - struct rd_struct rds; - - if (common_args_process(argc, argv, 2, 2, "rmdir", - "", CHECK_FS_RW)) - return; - - retval = ext2fs_namei(current_fs, root, cwd, argv[1], &inode_num); - if (retval) { - com_err(argv[0], retval, "while trying to resolve filename"); - return; - } - - if (debugfs_read_inode(inode_num, &inode, argv[0])) - return; - - if (!LINUX_S_ISDIR(inode.i_mode)) { - com_err(argv[0], 0, "file is not a directory"); - return; - } - - rds.parent = 0; - rds.empty = 1; - - retval = ext2fs_dir_iterate2(current_fs, inode_num, 0, - 0, rmdir_proc, &rds); - if (retval) { - com_err(argv[0], retval, "while iterating over directory"); - return; - } - if (rds.empty == 0) { - com_err(argv[0], 0, "directory not empty"); - return; - } - - inode.i_links_count = 0; - if (debugfs_write_inode(inode_num, &inode, argv[0])) - return; - - unlink_file_by_name(argv[1]); - kill_file_by_inode(inode_num); - - if (rds.parent) { - if (debugfs_read_inode(rds.parent, &inode, argv[0])) - return; - if (inode.i_links_count > 1) - inode.i_links_count--; - if (debugfs_write_inode(rds.parent, &inode, argv[0])) - return; - } -} -#endif /* READ_ONLY */ - -void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused)), - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - if (current_fs) - printf("Open mode: read-%s\n", - current_fs->flags & EXT2_FLAG_RW ? "write" : "only"); - printf("Filesystem in use: %s\n", - current_fs ? current_fs->device_name : "--none--"); -} - -#ifndef READ_ONLY -void do_expand_dir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t inode; - int retval; - - if (common_inode_args_process(argc, argv, &inode, CHECK_FS_RW)) - return; - - retval = ext2fs_expand_dir(current_fs, inode); - if (retval) - com_err("ext2fs_expand_dir", retval, 0); - return; -} - -void do_features(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - int i; - - if (check_fs_open(argv[0])) - return; - - if ((argc != 1) && check_fs_read_write(argv[0])) - return; - for (i=1; i < argc; i++) { - if (e2p_edit_feature(argv[i], - ¤t_fs->super->s_feature_compat, 0)) - com_err(argv[0], 0, "Unknown feature: %s\n", - argv[i]); - else - ext2fs_mark_super_dirty(current_fs); - } - print_features(current_fs->super, stdout); -} -#endif /* READ_ONLY */ - -void do_bmap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t ino; - blk64_t blk, pblk = 0; - int c, err, flags = 0, ret_flags = 0; - errcode_t errcode; - - if (check_fs_open(argv[0])) - return; - - reset_getopt(); - while ((c = getopt (argc, argv, "a")) != EOF) { - switch (c) { - case 'a': - flags |= BMAP_ALLOC; - break; - default: - goto print_usage; - } - } - - if (argc <= optind+1) { - print_usage: - com_err(0, 0, - "Usage: bmap [-a] logical_blk [physical_blk]"); - return; - } - - ino = string_to_inode(argv[optind++]); - if (!ino) - return; - err = strtoblk(argv[0], argv[optind++], "logical block", &blk); - if (err) - return; - - if (argc > optind+1) - goto print_usage; - - if (argc == optind+1) { - err = strtoblk(argv[0], argv[optind++], - "physical block", &pblk); - if (err) - return; - if (flags & BMAP_ALLOC) { - com_err(0, 0, "Can't set and allocate a block"); - return; - } - flags |= BMAP_SET; - } - - errcode = ext2fs_bmap2(current_fs, ino, 0, 0, flags, blk, - &ret_flags, &pblk); - if (errcode) { - com_err(argv[0], errcode, - "while mapping logical block %llu\n", - (unsigned long long) blk); - return; - } - printf("%llu", (unsigned long long) pblk); - if (ret_flags & BMAP_RET_UNINIT) - fputs(" (uninit)", stdout); - fputc('\n', stdout); -} - -void do_imap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - ext2_ino_t ino; - unsigned long group, block, block_nr, offset; - - if (common_args_process(argc, argv, 2, 2, argv[0], - "", 0)) - return; - ino = string_to_inode(argv[1]); - if (!ino) - return; - - group = (ino - 1) / EXT2_INODES_PER_GROUP(current_fs->super); - offset = ((ino - 1) % EXT2_INODES_PER_GROUP(current_fs->super)) * - EXT2_INODE_SIZE(current_fs->super); - block = offset >> EXT2_BLOCK_SIZE_BITS(current_fs->super); - if (!ext2fs_inode_table_loc(current_fs, (unsigned)group)) { - com_err(argv[0], 0, "Inode table for group %lu is missing\n", - group); - return; - } - block_nr = ext2fs_inode_table_loc(current_fs, (unsigned)group) + - block; - offset &= (EXT2_BLOCK_SIZE(current_fs->super) - 1); - - printf("Inode %u is part of block group %lu\n" - "\tlocated at block %lu, offset 0x%04lx\n", ino, group, - block_nr, offset); - -} - -void do_idump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - struct ext2_inode_large *inode; - ext2_ino_t ino; - unsigned char *buf; - errcode_t err; - unsigned int isize, size, offset = 0; - int c, mode = 0; - - reset_getopt(); - while ((c = getopt (argc, argv, "bex")) != EOF) { - if (mode || c == '?') { - com_err(argv[0], 0, - "Usage: inode_dump [-b]|[-e] "); - return; - } - mode = c; - } - if (optind != argc-1) - return; - - if (check_fs_open(argv[0])) - return; - - ino = string_to_inode(argv[optind]); - if (!ino) - return; - - isize = EXT2_INODE_SIZE(current_fs->super); - err = ext2fs_get_mem(isize, &buf); - if (err) { - com_err(argv[0], err, "while allocating memory"); - return; - } - - err = ext2fs_read_inode_full(current_fs, ino, - (struct ext2_inode *)buf, isize); - if (err) { - com_err(argv[0], err, "while reading inode %u", ino); - goto err; - } - - inode = (struct ext2_inode_large *) buf; - size = isize; - switch (mode) { - case 'b': - offset = ((char *) (&inode->i_block)) - ((char *) buf); - size = sizeof(inode->i_block); - break; - case 'x': - case 'e': - if (size <= EXT2_GOOD_OLD_INODE_SIZE) { - com_err(argv[0], 0, "No extra space in inode"); - goto err; - } - offset = EXT2_GOOD_OLD_INODE_SIZE + inode->i_extra_isize; - if (offset > size) - goto err; - size -= offset; - break; - } - if (mode == 'x') - raw_inode_xattr_dump(stdout, buf + offset, size); - else - do_byte_hexdump(stdout, buf + offset, size); -err: - ext2fs_free_mem(&buf); -} - -#ifndef READ_ONLY -void do_set_current_time(int argc, char *argv[], - int sci_idx EXT2FS_ATTR((unused)), - void *infop EXT2FS_ATTR((unused))) -{ - __s64 now; - - if (common_args_process(argc, argv, 2, 2, argv[0], - "