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: