diff options
-rw-r--r-- | COPYING | 23 | ||||
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | INSTALL | 53 | ||||
-rw-r--r-- | MCONFIG | 64 | ||||
-rw-r--r-- | Makefile | 53 | ||||
-rw-r--r-- | README | 16 | ||||
-rw-r--r-- | SHLIBS | 27 | ||||
-rw-r--r-- | debugfs/.depend | 35 | ||||
-rw-r--r-- | debugfs/ChangeLog | 7 | ||||
-rw-r--r-- | debugfs/Makefile | 14 | ||||
-rw-r--r-- | debugfs/debug_cmds.ct | 9 | ||||
-rw-r--r-- | debugfs/debugfs.8 | 2 | ||||
-rw-r--r-- | version.h | 4 |
13 files changed, 260 insertions, 53 deletions
diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..5163f9b9 --- /dev/null +++ b/COPYING @@ -0,0 +1,23 @@ +This package, the EXT2 filesystem utilities, are protected by the GNU +Public License, with the following exception --- + + If the version string in the file version.h contains the words + "WORK IN PROGRESS", then this package must be distributed in + source form only. You can give a copy of the binary for + e2fsck to help a friend recover his or her filesystem, as the + need arises. However, "WORK IN PROGRESS" means exactly that. + The package is in ALPHA testing, and for your protection as + much as mine, I'd rather not have it appear in a some + distribution --- especially not a CD-ROM distribution! + +The most recent officially distributed version can be found on +tsx-11.mit.edu, in /pub/linux/packages/ext2fs. 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 +for your distribution, please contact me (tytso@mit.edu), and we can +see if we can't come to an arrangement. The release schedules for +this package are flexible, if you give me enough lead time. + + + Theodore Ts'o + 17-Aug-94 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..aed846c2 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,6 @@ +Sat Mar 11 18:23:45 1995 Theodore Y. Ts'o <tytso@localhost> + + * Makefile (bin-tree): Add Makefile target which automatically + generates the binary distribution for e2fsprogs. + + @@ -7,28 +7,55 @@ just follow the steps: definitions have reasonable default value but you may want to adjust them to your system configuration. -2) Create the dependencies files + In particular, if you don't have the tools to build shared +libraries, you'll want to comment out the "BUILD_DLL_SHLIBS = YES" +line. - Run `make depend' to create the dependencies files. Note that this -is not strictly necessary since the makefiles automagically recreates them -if they do not exist. +2) Compile the programs -3) Compile the programs + Run `make world' to (a) create the dependencies files, (b) +compile the libraries and the programs, and (c) run a test suite on +e2fsck. The test suite runs a series of tests; for each one, e2fsck +should return an exit status of 1 on the first pass, and an exit +status of 0 on the second pass. The one exception to this is the +"okgroup.img" test, which should return an exit status of 0 for both +passes. - Run `make' to compile the libraries and the programs. - -4) Install the programs +3) Install the programs Run `make install' -5) Install the include files and libraries +4) 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. +programs using the libraries or if you want to compile other program +using these libraries (like the 4.4BSD dump and restore port). + +5) 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. + +5) 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 liks 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 insatll-utils/convfstab (donated by +Michael Weller) that may help you correct your /etc/fstab file. - You can run `make world' as an alternative to steps 2 and 3. This -will create the dependencies files, compile the programs and run e2fsck on -a test suite contained in e2fsck/images. @@ -4,6 +4,33 @@ CC= gcc # +# Uncomment this line if you want to build shared DLL libraries, or +# comment this line out if you don't want to build shared DLL libraries. +# +BUILD_DLL_SHLIBS = YES + +ifdef BUILD_DLL_SHLIBS +# +# Use these definitions is you use tools 2.x, x < 16 +# +DLL_BIN=/usr/dll/bin +JUMP_PREFIX=/usr/dll/jump/ + +# +# Use these definitions if you use tools 2.16 or above +# +#DLL_BIN=/usr/bin +#JUMP_PREFIX=/usr/bin/jump + +endif + +# +# Uncomment this line if you want to build profiled libraries, or +# comment this line out if you don't want to build profiled libraries +# +BUILD_PROFILE_LIBS = YES + +# # Optimization flags # #OPT= -g -O -fno-inline @@ -12,11 +39,19 @@ OPT= -O2 -fomit-frame-pointer # # Warning flags # -WFLAGS= -ansi -D_POSIX_SOURCE -pedantic \ - -Wall -Wwrite-strings -Wpointer-arith \ - -Wcast-qual -Wenum-clash -Wcast-align -Wtraditional \ - -Wstrict-prototypes -Wmissing-prototypes \ - -Wnested-externs -Winline -Wshadow +# Uncomment WFLAGS if you want really anal GCC warning messages +# +#WFLAGS= -ansi -D_POSIX_SOURCE -pedantic \ +# -Wall -Wwrite-strings -Wpointer-arith \ +# -Wcast-qual -Wenum-clash -Wcast-align -Wtraditional \ +# -Wstrict-prototypes -Wmissing-prototypes \ +# -Wnested-externs -Winline -Wshadow + +# +# Binaries tools +# +ARCHIVE= ar r +RANLIB= ranlib # # Installation user and groups @@ -47,11 +82,14 @@ INSTALLMAN= $(INSTALL) -o $(MANOWN) -g $(MANGRP) -m $(MANMODE) # # Destination directories # -ETCDIR= /etc -INCLDIR= /usr/include -LIBDIR= /usr/lib -SBINDIR= /sbin -SMANDIR= /usr/man/man8 -UMANDIR= /usr/man/man1 -USRBINDIR= /usr/bin -USRSBINDIR= /usr/sbin +ETCDIR= $(DESTDIR)/etc +INCLDIR= $(DESTDIR)/usr/include +LIBDIR= $(DESTDIR)/usr/lib +SBINDIR= $(DESTDIR)/sbin +SHLIBDIR= $(DESTDIR)/lib +USRSHLIBDIR= $(DESTDIR)/usr/lib +SMANDIR= $(DESTDIR)/usr/man/man8 +UMANDIR= $(DESTDIR)/usr/man/man1 +FMANDIR= $(DESTDIR)/usr/man/man5 +USRBINDIR= $(DESTDIR)/usr/bin +USRSBINDIR= $(DESTDIR)/usr/sbin @@ -1,3 +1,5 @@ +include ./MCONFIG + all: libs (cd e2fsck; $(MAKE)) (cd debugfs ; $(MAKE)) @@ -10,18 +12,54 @@ libs: (cd lib/e2p; $(MAKE)) install: + (cd lib/et; $(MAKE) install) + (cd lib/ss; $(MAKE) install) + (cd lib/ext2fs; $(MAKE) install) + (cd lib/e2p; $(MAKE) install) (cd e2fsck; $(MAKE) install) (cd debugfs; $(MAKE) install) (cd misc ; $(MAKE) install) +install-tree: + (cd lib/et; $(MAKE) install-tree) + (cd lib/ss; $(MAKE) install-tree) + (cd lib/ext2fs; $(MAKE) install-tree) + (cd lib/e2p; $(MAKE) install-tree) + (cd e2fsck; $(MAKE) install-tree) + (cd debugfs; $(MAKE) install-tree) + (cd misc ; $(MAKE) install-tree) + install-libs: - (cd lib/et; $(MAKE) install) - (cd lib/ss; $(MAKE) install) - (cd lib/ext2fs; $(MAKE) install) - (cd lib/e2p; $(MAKE) install) + (cd lib/et; $(MAKE) install-libs) + (cd lib/ss; $(MAKE) install-libs) + (cd lib/ext2fs; $(MAKE) install-libs) + (cd lib/e2p; $(MAKE) install-libs) + +install-dirs: + install -d $(ETCDIR) + install -d $(INCLDIR) + install -d $(LIBDIR) + install -d $(SBINDIR) + install -d $(SHLIBDIR) + install -d $(SMANDIR) + install -d $(UMANDIR) + install -d $(USRBINDIR) + install -d $(USRSBINDIR) + +bin-tree: + rm -rf dest + mkdir dest + $(MAKE) DESTDIR=`pwd`/dest install-dirs + $(MAKE) DESTDIR=`pwd`/dest install + mkdir dest/install-utils dest/usr/man/cat1 dest/usr/man/cat8 + cp install-utils/convfstab dest/install-utils + cp install-utils/remove_preformat_manpages dest/install-utils + (cd dest; export MANPATH=`pwd`/usr/man; \ + ../install-utils/compile_manpages) clean: - rm -f $(PROGS) \#* *.s *.o *.a *~ core MAKELOG + rm -f $(PROGS) \#* *.s *.o *.a *~ core MAKELOG + rm -rf dest (cd lib/et; $(MAKE) clean) (cd lib/ss; $(MAKE) clean) (cd lib/ext2fs; $(MAKE) clean) @@ -30,8 +68,9 @@ clean: (cd debugfs; $(MAKE) clean) (cd misc ; $(MAKE) clean) -really-clean: clean - rm -f .depend +really-clean: + rm -f $(PROGS) \#* *.s *.o *.a *~ core MAKELOG + rm -f .depend bin/* shlibs/*.so.* (cd lib/et; $(MAKE) really-clean) (cd lib/ss; $(MAKE) really-clean) (cd lib/ext2fs; $(MAKE) really-clean) @@ -1,9 +1,13 @@ - This is the new version (0.5) of the second extended file system + This is the new version (0.5b) of the second extended file system management programs. You need to run Linux 1.0 or above to use it since some programs used some ext2fs features that where not available in previous kernel versions. - This version contains programs written by Theodore T'so and Remy Card. + See the file INSTALL for installation instructions. This is +important! Note that your /etc/fstab file may need modifying before +you install the new fsck program. See the INSTALL file for more details. + + This version contains programs written by Theodore Ts'o and Remy Card. This distribution was packaged by Ted and Remy with the help of Stephen Tweedie and Alexy Vovenko. @@ -36,7 +40,7 @@ and Alexy Vovenko. Manual pages are included in this package. - See the file INSTALL for installation instructions. - - In case of bugs in these programs, please contact Ted <tytso@mit.edu> -and Remy <card@masi.ibp.fr>. + In case of bugs in these programs, please contact Ted +<tytso@mit.edu> and Remy <card@masi.ibp.fr>. See the e2fsck man page +for suggestions of what sort of information to include when submitting +bug reports for e2fsck. @@ -0,0 +1,27 @@ +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 diff --git a/debugfs/.depend b/debugfs/.depend index 0788c389..65ffaa35 100644 --- a/debugfs/.depend +++ b/debugfs/.depend @@ -1,18 +1,37 @@ debugfs.o : debugfs.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/unistd.h /usr/include/posix_opt.h \ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \ - /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/stdlib.h /usr/include/errno.h \ - /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ + /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \ + /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h /usr/include/time.h \ /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/linux/stat.h ../lib/et/com_err.h \ /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/ss/ss.h ../lib/ss/mit-sipb-copyright.h \ ../lib/ss/ss_err.h debugfs.h /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h \ ../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h +dump.o : dump.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/unistd.h /usr/include/posix_opt.h \ + /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \ + /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \ + /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ + /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h /usr/include/time.h \ + /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/linux/stat.h /usr/include/fcntl.h \ + /usr/include/linux/fcntl.h debugfs.h /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h \ + ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/ext2fs/io.h \ + ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h icheck.o : icheck.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/unistd.h /usr/include/posix_opt.h \ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \ - /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/stdlib.h /usr/include/errno.h \ - /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ + /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \ + /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ + /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h /usr/include/time.h \ + /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/linux/stat.h debugfs.h \ + /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \ + ../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h +lsdel.o : lsdel.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/unistd.h /usr/include/posix_opt.h \ + /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \ + /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \ + /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h /usr/include/time.h \ /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/linux/stat.h debugfs.h \ /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \ @@ -20,8 +39,8 @@ icheck.o : icheck.c /usr/include/stdio.h /usr/include/features.h /usr/include/sy ncheck.o : ncheck.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/unistd.h /usr/include/posix_opt.h \ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \ - /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/stdlib.h /usr/include/errno.h \ - /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ + /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \ + /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h /usr/include/time.h \ /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/linux/stat.h debugfs.h \ /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \ @@ -29,8 +48,8 @@ ncheck.o : ncheck.c /usr/include/stdio.h /usr/include/features.h /usr/include/sy util.o : util.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/unistd.h /usr/include/posix_opt.h \ /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \ - /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/stdlib.h /usr/include/errno.h \ - /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ + /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \ + /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \ /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h debugfs.h /usr/include/linux/ext2_fs.h \ ../lib/ext2fs/ext2fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \ ../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog new file mode 100644 index 00000000..bff94200 --- /dev/null +++ b/debugfs/ChangeLog @@ -0,0 +1,7 @@ +Thu Nov 24 17:46:23 1994 Theodore Y. Ts'o (tytso@rt-11) + + * dump.c: Added two new commands, "dump" and "cat", which allow + the user to dump the contents of an inode to a file or to + stdout, respectively. + + diff --git a/debugfs/Makefile b/debugfs/Makefile index 65b32aef..aef6ac6a 100644 --- a/debugfs/Makefile +++ b/debugfs/Makefile @@ -3,19 +3,19 @@ include ../MCONFIG CFLAGS= $(OPT) -Wall -I../lib LDFLAGS= $(OPT) PROGS= debugfs -BINDIR= $(USRSBINDIR) +BINDIR= $(SBINDIR) MANPAGES= debugfs.8 MANDIR= $(SMANDIR) MK_CMDS= ../lib/ss/mk_cmds -DEBUG_OBJS= debug_cmds.o debugfs.o util.o ncheck.o icheck.o +DEBUG_OBJS= debug_cmds.o debugfs.o util.o ncheck.o icheck.o lsdel.o dump.o LIBS= -L../lib -lss -lcom_err -lext2fs DEPLIBS= ../lib/libss.a ../lib/libcom_err.a ../lib/libext2fs.a debugfs: $(DEBUG_OBJS) $(DEPLIBS) - cc $(LDFLAGS) -o debugfs $(DEBUG_OBJS) $(LIBS) + $(CC) $(LDFLAGS) -o debugfs $(DEBUG_OBJS) $(LIBS) debug_cmds.c debug_cmds.h: debug_cmds.ct $(MK_CMDS) debug_cmds.ct @@ -30,6 +30,14 @@ install:: $(MANPAGES) $(INSTALLMAN) $$i $(MANDIR)/$$i; \ done +install-tree:: $(PROGS) + for i in $(PROGS); do \ + rm -f ../bin/$$i; \ + cp $$i ../bin; \ + strip ../bin/$$i; \ + chmod 555 ../bin/$$i; \ + done + clean: rm -f debugfs \#* *.s *.o *.a *~ debug_cmds.c core diff --git a/debugfs/debug_cmds.ct b/debugfs/debug_cmds.ct index cd7faf17..2b800591 100644 --- a/debugfs/debug_cmds.ct +++ b/debugfs/debug_cmds.ct @@ -91,6 +91,15 @@ request do_print_working_directory, "Print current working directory", request do_expand_dir, "Expand directory", expand_dir, expand; +request do_lsdel, "List deleted inodes", + list_deleted_inodes, lsdel; + +request do_dump, "Dump an inode out to a file", + dump_inode, dump; + +request do_cat, "Dump an inode out to stdout", + cat; + end; diff --git a/debugfs/debugfs.8 b/debugfs/debugfs.8 index 3d03e6bd..8bb0a749 100644 --- a/debugfs/debugfs.8 +++ b/debugfs/debugfs.8 @@ -1,5 +1,5 @@ .\" -*- nroff -*- -.TH DEBUGFS 8 "March 1994" "Version 0.4b" +.TH DEBUGFS 8 "November 1994" "Version 0.5b" .SH NAME debugfs \- ext2 file system debugger .SH SYNOPSIS @@ -6,5 +6,5 @@ * under the GNU Public License. */ -#define E2FSPROGS_VERSION "0.5" -#define E2FSPROGS_DATE "28-Mar-94" +#define E2FSPROGS_VERSION "0.5b" +#define E2FSPROGS_DATE "11-Mar-95" |