[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    re: Making old_e2fsprogs compile again in 1.8.2
From:       "John Brandwood" <john () telzey ! com>
Date:       2008-01-27 19:18:58
Message-ID: 000001c86119$77980fb0$66c82f10$ () com
[Download RAW message or body]

This is a multipart message in MIME format.


Thanks to Josh for submitting the instructions and patch for getting the
old_e2fsprogs working again.

Like him, I'm willing to take the size hit in order to get the
functionality.

I've cleaned up the remaining compiler warnings which all seemed to be due
to const-or-not-const strings. Now it compiles cleanly.

Here is the Josh's full patch with the extra fixes integrated, and a
separate patch that just shows the changes that I made.

John.


No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.12/1245 - Release Date: 1/26/2008
3:45 PM
 
    

["old-e2fsprogs-patch.txt" (text/plain)]

diff -Naur busybox-1.8.2-old-e2fsprogs/Makefile busybox-1.8.2-new-e2fsprogs/Makefile
--- busybox-1.8.2-old-e2fsprogs/Makefile	2007-11-23 20:31:36.000000000 -0800
+++ busybox-1.8.2-new-e2fsprogs/Makefile	2008-01-26 15:52:52.207850000 -0800
@@ -433,6 +433,10 @@
 		coreutils/ \
 		coreutils/libcoreutils/ \
 		debianutils/ \
+		e2fsprogs/e2p/ \
+		e2fsprogs/ext2fs/ \
+		e2fsprogs/blkid/ \
+		e2fsprogs/uuid/ \
 		e2fsprogs/ \
 		editors/ \
 		findutils/ \
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2fsck.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2fsck.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2fsck.c	2007-11-09 17:40:52.000000000 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2fsck.c	2008-01-26 16:18:49.296583000 \
-0800 @@ -45,7 +45,7 @@
 static void e2fsck_pass1_dupblocks(e2fsck_t ctx, char *block_buf);
 
 /* pass1.c */
-static void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool);
+static void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int mybool);
 
 /* pass2.c */
 static int e2fsck_process_bad_inode(e2fsck_t ctx, ext2_ino_t dir,
@@ -2512,7 +2512,7 @@
 {
 	struct ext2_inode       *inode;
 	struct ext2_inode_large *large_inode;
-	char *                  time_str;
+	const char *            time_str;
 	time_t                  t;
 	int                     do_gmt = -1;
 
@@ -4560,11 +4560,11 @@
 	return 0;
 }
 
-void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool)
+void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int mybool)
 {
 	ext2_filsys fs = ctx->fs;
 
-	if (bool) {
+	if (mybool) {
 		fs->get_blocks = pass1_get_blocks;
 		fs->check_directory = pass1_check_directory;
 		fs->read_inode = pass1_read_inode;
@@ -13202,7 +13202,7 @@
 static const char my_ver_string[] = E2FSPROGS_VERSION;
 static const char my_ver_date[] = E2FSPROGS_DATE;
 
-int e2fsck_main (int argc, char **argv);
+int e2fsck_main (int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int e2fsck_main (int argc, char **argv)
 {
 	errcode_t       retval;
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2p/pe.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2p/pe.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2p/pe.c	2007-11-09 17:40:52.000000000 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2p/pe.c	2008-01-26 16:09:06.263358000 \
-0800 @@ -21,7 +21,7 @@
 
 void print_fs_errors(FILE *f, unsigned short errors)
 {
-	char *disp = NULL;
+	const char *disp = NULL;
 	switch (errors) {
 	case EXT2_ERRORS_CONTINUE: disp = "Continue"; break;
 	case EXT2_ERRORS_RO:       disp = "Remount read-only"; break;
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/ext2fs/ismounted.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/ext2fs/ismounted.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/ext2fs/ismounted.c	2007-11-09 \
                17:40:52.000000000 -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/ext2fs/ismounted.c	2008-01-26 \
15:52:52.207850000 -0800 @@ -148,7 +148,7 @@
 is_root:
 #define TEST_FILE "/.ismount-test-file"
 		*mount_flags |= EXT2_MF_ISROOT;
-		fd = open(TEST_FILE, O_RDWR|O_CREAT);
+		fd = open(TEST_FILE, O_RDWR|O_CREAT, 0777);
 		if (fd < 0) {
 			if (errno == EROFS)
 				*mount_flags |= EXT2_MF_READONLY;
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/mke2fs.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/mke2fs.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/mke2fs.c	2007-11-09 17:40:52.000000000 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/mke2fs.c	2008-01-26 16:27:48.327301000 \
-0800 @@ -202,8 +202,8 @@
 	mke2fs_verbose("done\n");
 }
 
-static void mke2fs_warning_msg(int retval, char *fmt, ... ) __attribute__ ((format \
                (printf, 2, 3)));
-static void mke2fs_warning_msg(int retval, char *fmt, ... )
+static void mke2fs_warning_msg(int retval, const char *fmt, ... ) __attribute__ \
((format (printf, 2, 3))); +static void mke2fs_warning_msg(int retval, const char \
*fmt, ... )  {
 	va_list ap;
 
@@ -486,7 +486,7 @@
 	ext2_ino_t		ino;
 	const char		*name = "lost+found";
 	int			i = 1;
-	char			*msg = "create";
+	const char		*msg = "create";
 	int			lpf_size = 0;
 
 	fs->umask = 077;
@@ -543,7 +543,7 @@
 static void zap_sector(ext2_filsys fs, int sect, int nsect)
 {
 	char *buf;
-	char *fmt = "could not %s %d";
+	const char *fmt = "could not %s %d";
 	int retval;
 	unsigned int *magic;
 
@@ -575,7 +575,7 @@
 	struct progress_struct	progress;
 	errcode_t		retval;
 	char			*buf;
-	char			*fmt = "%s journal superblock";
+	const char		*fmt = "%s journal superblock";
 	blk_t			blk;
 	int			count;
 
@@ -1175,7 +1175,7 @@
 	if (ENABLE_FEATURE_CLEAN_UP && journal_device) free(journal_device);
 }
 
-int mke2fs_main (int argc, char **argv);
+int mke2fs_main (int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mke2fs_main (int argc, char **argv)
 {
 	errcode_t	retval;
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/tune2fs.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/tune2fs.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/tune2fs.c	2007-11-09 17:40:52.000000000 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/tune2fs.c	2008-01-26 16:37:43.861238000 \
-0800 @@ -185,8 +185,8 @@
 	struct ext2_inode	inode;
 	errcode_t		retval;
 	ino_t			ino = fs->super->s_journal_inum;
-	char *msg = "to read";
-	char *s = "journal inode";
+	const char *msg = "to read";
+	const char *s = "journal inode";
 
 	retval = ext2fs_read_inode(fs, ino,  &inode);
 	if (retval)
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/util.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/util.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/util.c	2007-11-09 17:40:52.000000000 -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/util.c	2008-01-26 17:05:26.455984000 -0800
@@ -261,7 +261,7 @@
 	if (oldpath)
 		oldpath = xasprintf("%s:%s", PATH_SET, oldpath);
 	 else
-		oldpath = PATH_SET;
+		oldpath = (char *)PATH_SET;
 	putenv (oldpath);
 	return oldpath;
 }
diff -Naur busybox-1.8.2-old-e2fsprogs/include/applets.h \
                busybox-1.8.2-new-e2fsprogs/include/applets.h
--- busybox-1.8.2-old-e2fsprogs/include/applets.h	2007-11-09 17:40:53.000000000 -0800
+++ busybox-1.8.2-new-e2fsprogs/include/applets.h	2008-01-26 15:52:52.207850000 -0800
@@ -132,8 +132,8 @@
 USE_DU(APPLET(du, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_DUMPKMAP(APPLET(dumpkmap, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_APP_DUMPLEASES(APPLET(dumpleases, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-//USE_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
-//USE_E2LABEL(APPLET_NOUSAGE(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_E2FSCK(APPLET(e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_E2LABEL(APPLET_NOUSAGE(e2label, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_ECHO(APPLET_NOFORK(echo, echo, _BB_DIR_BIN, _BB_SUID_NEVER, echo))
 USE_ED(APPLET(ed, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_FEATURE_GREP_EGREP_ALIAS(APPLET_NOUSAGE(egrep, grep, _BB_DIR_BIN, \
_BB_SUID_NEVER)) @@ -152,13 +152,13 @@
 USE_FDISK(APPLET(fdisk, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_FEATURE_GREP_FGREP_ALIAS(APPLET_NOUSAGE(fgrep, grep, _BB_DIR_BIN, \
_BB_SUID_NEVER))  USE_FIND(APPLET_NOEXEC(find, find, _BB_DIR_USR_BIN, _BB_SUID_NEVER, \
                find))
-//USE_FINDFS(APPLET_NOUSAGE(findfs, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_FINDFS(APPLET_NOUSAGE(findfs, tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_FOLD(APPLET(fold, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_FREE(APPLET(free, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_FREERAMDISK(APPLET(freeramdisk, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_FSCK(APPLET(fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
-//USE_E2FSCK(APPLET_NOUSAGE(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
-//USE_E2FSCK(APPLET_NOUSAGE(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_E2FSCK(APPLET_NOUSAGE(fsck.ext2, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_E2FSCK(APPLET_NOUSAGE(fsck.ext3, e2fsck, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, \
fsck_minix))  USE_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, _BB_DIR_USR_BIN, \
_BB_SUID_NEVER, ftpget))  USE_FTPPUT(APPLET_ODDNAME(ftpput, ftpgetput, \
_BB_DIR_USR_BIN, _BB_SUID_NEVER, ftpput)) @@ -234,10 +234,10 @@
 USE_MESG(APPLET(mesg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_MICROCOM(APPLET(microcom, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_MKDIR(APPLET_NOFORK(mkdir, mkdir, _BB_DIR_BIN, _BB_SUID_NEVER, mkdir))
-//USE_MKE2FS(APPLET(mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_MKE2FS(APPLET(mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_MKFIFO(APPLET(mkfifo, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-//USE_MKE2FS(APPLET_NOUSAGE(mkfs.ext2, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
-//USE_MKE2FS(APPLET_NOUSAGE(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_MKE2FS(APPLET_NOUSAGE(mkfs.ext2, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_MKE2FS(APPLET_NOUSAGE(mkfs.ext3, mke2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_MKFS_MINIX(APPLET_ODDNAME(mkfs.minix, mkfs_minix, _BB_DIR_SBIN, _BB_SUID_NEVER, \
mkfs_minix))  USE_MKNOD(APPLET(mknod, _BB_DIR_BIN, _BB_SUID_NEVER))
 USE_MKSWAP(APPLET(mkswap, _BB_DIR_SBIN, _BB_SUID_NEVER))
@@ -352,7 +352,7 @@
 USE_TRUE(APPLET_NOFORK(true, true, _BB_DIR_BIN, _BB_SUID_NEVER, true))
 USE_TTY(APPLET(tty, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
 USE_TTYSIZE(APPLET(ttysize, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
-//USE_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
+USE_TUNE2FS(APPLET(tune2fs, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_APP_UDHCPC(APPLET(udhcpc, _BB_DIR_SBIN, _BB_SUID_NEVER))
 USE_APP_UDHCPD(APPLET(udhcpd, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
 USE_UDPSVD(APPLET_ODDNAME(udpsvd, tcpudpsvd, _BB_DIR_USR_BIN, _BB_SUID_NEVER, \
udpsvd))


["old-e2fsprogs-changed.txt" (text/plain)]

diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2fsck.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2fsck.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2fsck.c	2008-01-26 17:37:22.065149098 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2fsck.c	2008-01-26 16:18:49.296583000 \
-0800 @@ -2512,7 +2512,7 @@
 {
 	struct ext2_inode       *inode;
 	struct ext2_inode_large *large_inode;
-	char *                  time_str;
+	const char *            time_str;
 	time_t                  t;
 	int                     do_gmt = -1;
 
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2p/pe.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2p/pe.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/e2p/pe.c	2007-11-09 17:40:52.000000000 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/e2p/pe.c	2008-01-26 16:09:06.263358000 \
-0800 @@ -21,7 +21,7 @@
 
 void print_fs_errors(FILE *f, unsigned short errors)
 {
-	char *disp = NULL;
+	const char *disp = NULL;
 	switch (errors) {
 	case EXT2_ERRORS_CONTINUE: disp = "Continue"; break;
 	case EXT2_ERRORS_RO:       disp = "Remount read-only"; break;
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/mke2fs.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/mke2fs.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/mke2fs.c	2008-01-26 17:37:22.065149098 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/mke2fs.c	2008-01-26 16:27:48.327301000 \
-0800 @@ -202,8 +202,8 @@
 	mke2fs_verbose("done\n");
 }
 
-static void mke2fs_warning_msg(int retval, char *fmt, ... ) __attribute__ ((format \
                (printf, 2, 3)));
-static void mke2fs_warning_msg(int retval, char *fmt, ... )
+static void mke2fs_warning_msg(int retval, const char *fmt, ... ) __attribute__ \
((format (printf, 2, 3))); +static void mke2fs_warning_msg(int retval, const char \
*fmt, ... )  {
 	va_list ap;
 
@@ -486,7 +486,7 @@
 	ext2_ino_t		ino;
 	const char		*name = "lost+found";
 	int			i = 1;
-	char			*msg = "create";
+	const char		*msg = "create";
 	int			lpf_size = 0;
 
 	fs->umask = 077;
@@ -543,7 +543,7 @@
 static void zap_sector(ext2_filsys fs, int sect, int nsect)
 {
 	char *buf;
-	char *fmt = "could not %s %d";
+	const char *fmt = "could not %s %d";
 	int retval;
 	unsigned int *magic;
 
@@ -575,7 +575,7 @@
 	struct progress_struct	progress;
 	errcode_t		retval;
 	char			*buf;
-	char			*fmt = "%s journal superblock";
+	const char		*fmt = "%s journal superblock";
 	blk_t			blk;
 	int			count;
 
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/tune2fs.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/tune2fs.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/tune2fs.c	2007-11-09 17:40:52.000000000 \
                -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/tune2fs.c	2008-01-26 16:37:43.861238000 \
-0800 @@ -185,8 +185,8 @@
 	struct ext2_inode	inode;
 	errcode_t		retval;
 	ino_t			ino = fs->super->s_journal_inum;
-	char *msg = "to read";
-	char *s = "journal inode";
+	const char *msg = "to read";
+	const char *s = "journal inode";
 
 	retval = ext2fs_read_inode(fs, ino,  &inode);
 	if (retval)
diff -Naur busybox-1.8.2-old-e2fsprogs/e2fsprogs/util.c \
                busybox-1.8.2-new-e2fsprogs/e2fsprogs/util.c
--- busybox-1.8.2-old-e2fsprogs/e2fsprogs/util.c	2007-11-09 17:40:52.000000000 -0800
+++ busybox-1.8.2-new-e2fsprogs/e2fsprogs/util.c	2008-01-26 17:05:26.455984000 -0800
@@ -261,7 +261,7 @@
 	if (oldpath)
 		oldpath = xasprintf("%s:%s", PATH_SET, oldpath);
 	 else
-		oldpath = PATH_SET;
+		oldpath = (char *)PATH_SET;
 	putenv (oldpath);
 	return oldpath;
 }



_______________________________________________
busybox mailing list
busybox@busybox.net
http://busybox.net/cgi-bin/mailman/listinfo/busybox

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic