[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Including a static ext2fs for large stores by default



Hello,

I hacked the Debian package so far that I make it build a statically
compiled ext2fs with Ogi's patch (20041029) for partitions > 2GB. For
now, I decided to just copy libpager, libdiskfs and ext2fs to
libpager-ogi, libdiskfs-ogi and ext2fs-ogi, apply his patch and dump the
result as a new patch. Another patch modifies the Makefiles accordingly.

The following two changes are made to debian/rules:

  * debian/rules (DEB_CONFIGURE_USER_FLAGS): Added
    --enable-static-progs=ext2fs,ext2fs-ogi,ufs.
  * debian/rules (binary-predeb/hurd): Rename ext2fs-ogi.static to
    ext2fs.static.big and remove all other occurences of *-ogi*.

The attached patch modifies the Makefiles et al. to eventually build
ext2fs-ogi.static, which gets installed as /hurd/ext2fs.static.big,
while the the other *-ogi* files are removed prior to the final package
creation.

I built packages with the version 20040508-4+ogi.1 and put source and
binary packages up at

deb http://people.debian.org/~mbanck/hurd/ ./
deb-src http://people.debian.org/~mbanck/hurd/ ./

or simply
http://people.debian.org/~mbanck/hurd/hurd_20040508-4+ogi.1_hurd-i386.deb

I did some basic tests with those packages and they work fine for me so
far. Any comments on how they work for people and how to possibly
improve the packaging and integration of the patch are very welcome.

The alternative would be to just put Ogi's patch straight into the Hurd
package (and possibly upload it to experimental first). I'd be
interested what people think about that, also considering this implies
an ABI change (though contained to the Hurd itself, AFAIK)


cheers,

Michael

-- 
<ams> 100 gig is nothing.
<Jeroen> indeed
<Jeroen> only 50 partitions of 2 gb
diff -Naur hurd/Makefile hurd.new/Makefile
--- hurd/Makefile	2004-10-30 20:18:16.000000000 +0200
+++ hurd.new/Makefile	2004-10-30 20:18:51.000000000 +0200
@@ -29,13 +29,13 @@
 
 # Hurd libraries
 lib-subdirs = libshouldbeinlibc libihash libiohelp libports libthreads \
-	      libpager libfshelp libdiskfs libtrivfs libps \
-	      libnetfs libpipe libstore libhurdbugaddr libftpconn libcons \
-	      libpthread
+	      libpager libpager-ogi libfshelp libdiskfs libdiskfs-ogi \
+	      libtrivfs libps libnetfs libpipe libstore libhurdbugaddr \
+	      libftpconn libcons libpthread
 
 # Hurd programs
 prog-subdirs = auth proc exec init term \
-	       ufs ext2fs isofs nfs tmpfs fatfs \
+	       ufs ext2fs ext2fs-ogi isofs nfs tmpfs fatfs \
 	       storeio pflocal pfinet defpager mach-defpager \
 	       login daemons nfsd boot serverboot console \
 	       hostmux usermux ftpfs trans \
diff -Naur hurd/ext2fs-ogi/Makefile hurd.new/ext2fs-ogi/Makefile
--- hurd/ext2fs-ogi/Makefile	2004-10-30 20:18:23.000000000 +0200
+++ hurd.new/ext2fs-ogi/Makefile	2004-10-30 20:19:03.000000000 +0200
@@ -16,16 +16,16 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-dir := ext2fs
+dir := ext2fs-ogi
 makemode := server
 
-target = ext2fs
+target = ext2fs-ogi
 SRCS = balloc.c dir.c ext2fs.c getblk.c hyper.c ialloc.c \
        inode.c pager.c pokel.c truncate.c storeinfo.c msg.c
 OBJS = $(SRCS:.c=.o)
 LCLHDRS = ext2fs.h ext2_fs.h ext2_fs_i.h bitmap.c
-HURDLIBS = diskfs pager iohelp fshelp store threads ports ihash shouldbeinlibc
+HURDLIBS = diskfs-ogi pager-ogi iohelp fshelp store threads ports ihash shouldbeinlibc
 
 include ../Makeconf
 
-ext2fs.static: $(boot-store-types:%=../libstore/libstore_%.a)
+ext2fs-ogi.static: $(boot-store-types:%=../libstore/libstore_%.a)
diff -Naur hurd/ext2fs-ogi/ext2fs.h hurd.new/ext2fs-ogi/ext2fs.h
--- hurd/ext2fs-ogi/ext2fs.h	2004-10-30 20:18:23.000000000 +0200
+++ hurd.new/ext2fs-ogi/ext2fs.h	2004-10-30 20:19:03.000000000 +0200
@@ -20,11 +20,11 @@
 #include <mach.h>
 #include <hurd.h>
 #include <hurd/ports.h>
-#include <hurd/pager.h>
+#include "../libpager-ogi/pager.h"
 #include <hurd/fshelp.h>
 #include <hurd/iohelp.h>
 #include <hurd/store.h>
-#include <hurd/diskfs.h>
+#include "../libdiskfs-ogi/diskfs.h"
 #include <hurd/ihash.h>
 #include <assert.h>
 #include <rwlock.h>
@@ -190,7 +190,7 @@
 
 #define DISK_CACHE_BLOCKS	100
 
-#include <hurd/diskfs-pager.h>
+#include "../libdiskfs-ogi/diskfs-pager.h"
 
 /* Set up the disk pager.  */
 void create_disk_pager (void);
diff -Naur hurd/ext2fs-ogi/pager.c hurd.new/ext2fs-ogi/pager.c
--- hurd/ext2fs-ogi/pager.c	2004-10-30 20:18:23.000000000 +0200
+++ hurd.new/ext2fs-ogi/pager.c	2004-10-30 20:19:03.000000000 +0200
@@ -25,7 +25,7 @@
 #include "ext2fs.h"
 
 /* XXX */
-#include "../libpager/priv.h"
+#include "../libpager-ogi/priv.h"
 
 /* A ports bucket to hold pager ports.  */
 struct port_bucket *pager_bucket;
diff -Naur hurd/libdiskfs-ogi/Makefile hurd.new/libdiskfs-ogi/Makefile
--- hurd/libdiskfs-ogi/Makefile	2004-10-30 20:18:23.000000000 +0200
+++ hurd.new/libdiskfs-ogi/Makefile	2004-10-30 20:19:03.000000000 +0200
@@ -15,10 +15,10 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-dir := libdiskfs
+dir := libdiskfs-ogi
 makemode := library
 
-libname = libdiskfs
+libname = libdiskfs-ogi
 FSSRCS= dir-chg.c dir-link.c dir-lookup.c dir-mkdir.c dir-mkfile.c \
 	dir-readdir.c dir-rename.c dir-rmdir.c dir-unlink.c \
 	file-access.c file-chauthor.c file-chflags.c file-chg.c \
@@ -54,7 +54,6 @@
 	validate-rdev.c validate-owner.c extra-version.c
 SRCS = $(OTHERSRCS) $(FSSRCS) $(IOSRCS) $(FSYSSRCS) $(IFSOCKSRCS)
 LCLHDRS = diskfs.h priv.h lithp.h fsmutations.h diskfs-pager.h fhandle.h
-installhdrs = diskfs.h diskfs-pager.h
 
 MIGSTUBS = fsServer.o ioServer.o fsysServer.o exec_startupServer.o \
 	fsys_replyUser.o fs_notifyUser.o ifsockServer.o \
diff -Naur hurd/libdiskfs-ogi/diskfs-pager.h hurd.new/libdiskfs-ogi/diskfs-pager.h
--- hurd/libdiskfs-ogi/diskfs-pager.h	2004-10-30 20:18:23.000000000 +0200
+++ hurd.new/libdiskfs-ogi/diskfs-pager.h	2004-10-30 20:19:03.000000000 +0200
@@ -19,7 +19,7 @@
 #ifndef _HURD_DISKFS_PAGER_H
 #define _HURD_DISKFS_PAGER_H 1
 
-#include "../libpager/pager.h"
+#include "../libpager-ogi/pager.h"
 #include <hurd/ports.h>
 #include <setjmp.h>
 #include <cthreads.h>
diff -Naur hurd/libpager-ogi/Makefile hurd.new/libpager-ogi/Makefile
--- hurd/libpager-ogi/Makefile	2004-10-30 20:18:23.000000000 +0200
+++ hurd.new/libpager-ogi/Makefile	2004-10-30 20:19:03.000000000 +0200
@@ -15,10 +15,10 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-dir := libpager
+dir := libpager-ogi
 makemode := library
 
-libname = libpager
+libname = libpager-ogi
 SRCS = data-request.c data-return.c data-unlock.c pager-port.c \
 	inhibit-term.c lock-completed.c lock-object.c mark-error.c \
 	no-senders.c object-init.c object-terminate.c pagemap.c \
@@ -27,7 +27,6 @@
 	dropweak.c notify-stubs.c get-upi.c pager-memcpy.c pager-return.c \
 	offer-page.c
 LCLHDRS = pager.h priv.h
-installhdrs = pager.h
 
 HURDLIBS= threads ports
 OBJS = $(SRCS:.c=.o) memory_objectServer.o notifyServer.o

Reply to: