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

apt-get works with a hack (msync)



Hi Marcus et al,

I have been hacking at apt-get and have discovered that all that is required
to get it working under the hurd is one of two things:

1)  The attached two line hack which gets rid of the msync support
    which the hurd claims to have but appears not to (at least not
    fully).  Note: see my message posted earlier to bug-hurd.

2)  Fix msync.  Actually, Either removing it or fixing it would make
    apt compile cleanly.


I therefore propose the following: someone (hint hint Marcus ;)) package the
``hacked'' apt so that it provides apt-0.3.19.  This will get us apt and
fix a few dependencies (in fact the only outstanding ones on my system).

Then when the hurd is fixed (or is it glibc), turtle will give us a working
apt for free.

Thanks,
-Neal

-- 
Neal H Walfield
University of Massachusetts at Lowell
neal@walfield.org or nwalfiel@cs.uml.edu
diff -ru apt-0.3.19-vanilla/apt-pkg/contrib/mmap.cc apt-0.3.19/apt-pkg/contrib/mmap.cc
--- apt-0.3.19-vanilla/apt-pkg/contrib/mmap.cc	Sat Oct  2 00:14:54 1999
+++ apt-0.3.19/apt-pkg/contrib/mmap.cc	Tue Sep 12 12:00:57 2000
@@ -114,11 +114,13 @@
    if ((Flags & UnMapped) == UnMapped)
       return true;
    
-#ifdef _POSIX_SYNCHRONIZED_IO   
+#if 0
+#ifdef _POSIX_SYNCHRONIZED_IO
    if ((Flags & ReadOnly) != ReadOnly)
       if (msync((char *)Base,iSize,MS_SYNC) != 0)
 	 return _error->Errno("msync","Unable to write mmap");
 #endif   
+#endif
    return true;
 }
 									/*}}}*/
@@ -130,11 +132,13 @@
    if ((Flags & UnMapped) == UnMapped)
       return true;
    
+#if 0
 #ifdef _POSIX_SYNCHRONIZED_IO
    unsigned long PSize = sysconf(_SC_PAGESIZE);
    if ((Flags & ReadOnly) != ReadOnly)
       if (msync((char *)Base+(int)(Start/PSize)*PSize,Stop - Start,MS_SYNC) != 0)
 	 return _error->Errno("msync","Unable to write mmap");
+#endif   
 #endif   
    return true;
 }

Reply to: