MiNT port (Guido Flohr <gufl0000@stud.uni-sb.de>).
authorjbj <devnull@localhost>
Thu, 17 Jun 1999 21:35:34 +0000 (21:35 +0000)
committerjbj <devnull@localhost>
Thu, 17 Jun 1999 21:35:34 +0000 (21:35 +0000)
CVS patchset: 3096
CVS date: 1999/06/17 21:35:34

CHANGES
Makefile.am
autodeps/mint.prov [new file with mode: 0644]
autodeps/mint.req [new file with mode: 0644]
build/build.c
configure.in
ftp.c
rpm.c
rpmrc.in
tools/Makefile.am

diff --git a/CHANGES b/CHANGES
index 903d420..5237b18 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,7 @@
        - common parse for all dependency token syntax.
        - eliminate find-requirements on libNoVersion (Red Hat linux only).
        - add new-fangled requires on "libc.so.6(GLIBC_2.1)" (sparc-linux only).
+       - MiNT port (Guido Flohr <gufl0000@stud.uni-sb.de>).
 
 3.0 -> 3.0.1
        - fix: %verifyscript resurrected (Shing-Gene Yung).
index 481066b..9b121d5 100644 (file)
@@ -58,7 +58,8 @@ rpm2cpio_SOURCES =    rpm2cpio.c
 rpm2cpio_LDADD =       $(mylibs)
 
 rpmconvert_SOURCES =   convertdb.c oldrpmdb.c
-rpmconvert_LDADD =     $(mylibs) -lgdbm
+## Libmisc.a is required for rpmconvert.
+rpmconvert_LDADD =     $(mylibs) @LIBMISC@ -lgdbm
 
 install-data-local:
        @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm
@@ -73,7 +74,13 @@ install-data-local:
        sparc*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/sparc ;;\
        powerpc*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/ppc ;;\
        esac
-       @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@
+       @case "@build_os@" in \
+       mint) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/m68kmint ;; \
+       esac
+       @case "@build_os@" in \
+       mint) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/m68kmint ;;\
+       *) @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
+       esac
        @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/noarch
        @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SOURCES
        @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SPECS
diff --git a/autodeps/mint.prov b/autodeps/mint.prov
new file mode 100644 (file)
index 0000000..a752f8f
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+#
+# No shared libs on MiNT yet, sigh.
+
+echo > /dev/null
diff --git a/autodeps/mint.req b/autodeps/mint.req
new file mode 100644 (file)
index 0000000..a752f8f
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+#
+# No shared libs on MiNT yet, sigh.
+
+echo > /dev/null
index f830a32..c0c7764 100644 (file)
@@ -83,7 +83,9 @@ int doScript(Spec spec, int what, const char *name, StringBuf sb, int test)
            rpmError(RPMERR_SCRIPT, _("Unable to open temp file"));
            return RPMERR_SCRIPT;
     }
+#ifdef HAVE_FCHMOD
     (void)fchmod(fdFileno(fd), 0600);
+#endif
     f = fdFdopen(fd, "w");
     
     strcpy(buf, _preScriptEnvironment);
index ec5f853..7f58c5b 100644 (file)
@@ -255,6 +255,16 @@ AC_CHECK_FUNC(socket, [], [
     AC_CHECK_LIB(socket, socket, [LIBS="$LIBS -lsocket"])
 ])
 
+dnl Better not use fchmod at all.
+AC_CHECK_FUNC(fchmod)
+
+dnl Temporary hack for MiNT.  Some functions (writev, snprintf) are
+dnl not in the libc but in libport (for political reasons).  This check
+dnl can hopefully be removed soon.  Please use the default action
+dnl for this macro (not LIBS=...), otherwise the check for dbopen
+dnl will fail.
+AC_CHECK_LIB(port, writev)
+
 AC_CHECK_FUNC(dbopen, [],
   AC_CHECK_LIB(db1, dbopen, [],
     AC_CHECK_LIB(db, dbopen, [],
@@ -725,6 +735,9 @@ armv4b*)    RPMCANONARCH=armv4b ;;
 arm*)          RPMCANONARCH=arm ;;
 *)             RPMCANONARCH=unknown ;;
 esac
+case "${build_os_noversion}" in
+mint)          RPMCANONARCH=m68kmint ;;
+esac
 RPMCANONVENDOR="$build_vendor"
 case "${build_vendor}" in
 unknown|pc)    test -f /etc/redhat-release && RPMCANONVENDOR=redhat ;;
diff --git a/ftp.c b/ftp.c
index ebccc61..ae46b19 100644 (file)
--- a/ftp.c
+++ b/ftp.c
@@ -46,6 +46,15 @@ int inet_aton(const char *cp, struct in_addr *inp);
 #include "url.h"
 #include "ftp.h"
 
+#ifdef __MINT__
+# ifndef EAGAIN
+#  define EAGAIN EWOULDBLOCK
+# endif
+# ifndef O_NONBLOCK
+#  define O_NONBLOCK O_NDELAY
+# endif
+#endif
+
 static int ftpDebug = 0;
 static int ftpTimeoutSecs = TIMEOUT_SECS;
 static int httpTimeoutSecs = TIMEOUT_SECS;
diff --git a/rpm.c b/rpm.c
index 45d7ac2..76ee2d7 100755 (executable)
--- a/rpm.c
+++ b/rpm.c
@@ -155,6 +155,11 @@ static struct poptOption optionsTable[] = {
  { 0, 0, 0, 0, 0,      NULL, NULL }
 };
 
+#ifdef __MINT__
+/* MiNT cannot dynamically increase the stack.  */
+long _stksize = 64 * 1024L;
+#endif
+
 static void argerror(char * desc) {
     fprintf(stderr, _("rpm: %s\n"), desc);
     exit(EXIT_FAILURE);
index fa9ab54..7ea62e5 100644 (file)
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -1,4 +1,4 @@
-# $Id: rpmrc.in,v 2.11 1999/06/09 19:06:48 jbj Exp $
+# $Id: rpmrc.in,v 2.12 1999/06/17 21:35:40 jbj Exp $
 
 #############################################################
 
@@ -22,6 +22,13 @@ optflags: mipseb -O2
 optflags: mipsel -O2
 optflags: armv4b -O2 -fsigned-char -fomit-frame-pointer
 optflags: armv4l -O2 -fsigned-char -fomit-frame-pointer
+optflags: atarist -O2 -fomit-frame-pointer
+optflags: atariste -O2 -fomit-frame-pointer
+optflags: ataritt -O2 -fomit-frame-pointer
+optflags: falcon -O2 -fomit-frame-pointer
+optflags: atariclone -O2 -fomit-frame-pointer
+optflags: milan -O2 -fomit-frame-pointer
+optflags: hades -O2 -fomit-frame-pointer
 
 #############################################################
 # Canonical arch names and numbers
@@ -54,6 +61,15 @@ arch_canon:  mipsel: mipsel  11
 arch_canon:     armv4b:        armv4b  12
 arch_canon:     armv4l:        armv4l  12
 
+arch_canon:    m68kmint: m68kmint 13
+arch_canon:    atarist: m68kmint 13
+arch_canon:    atariste: m68kmint 13
+arch_canon:    ataritt: m68kmint 13
+arch_canon:    falcon: m68kmint 13
+arch_canon:    atariclone: m68kmint 13
+arch_canon:    milan: m68kmint 13
+arch_canon:    hades: m68kmint 13
+
 #############################################################
 # Canonical OS names and numbers
 
@@ -78,6 +94,7 @@ os_canon:      machten: machten 13
 os_canon:  CYGWIN32_NT: cygwin32 14
 os_canon:  CYGWIN32_95: cygwin32 15
 os_canon:      UNIX_SV: MP_RAS: 16
+os_canon:         MiNT: FreeMiNT 17
 
 #############################################################
 # For a given uname().machine, the default build arch
@@ -107,6 +124,14 @@ buildarchtranslate: sun4d: sparc
 buildarchtranslate: sun4m: sparc
 buildarchtranslate: sun4u: sparc64
 
+buildarchtranslate: atarist: m68kmint
+buildarchtranslate: atariste: m68kmint
+buildarchtranslate: ataritt: m68kmint
+buildarchtranslate: falcon: m68kmint
+buildarchtranslate: atariclone:        m68kmint
+buildarchtranslate: milan: m68kmint
+buildarchtranslate: hades: m68kmint    
+
 #############################################################
 # Architecture compatibility
 
@@ -153,6 +178,14 @@ arch_compat: parisc: noarch
 arch_compat: armv4b: noarch
 arch_compat: armv4l: noarch
 
+arch_compat: atarist: m68kmint noarch
+arch_compat: atariste: m68kmint noarch
+arch_compat: ataritt: m68kmint noarch
+arch_compat: falcon: m68kmint noarch
+arch_compat: atariclone: m68kmint noarch
+arch_compat: milan: m68kmint noarch
+arch_compat: hades: m68kmint noarch
+
 os_compat:   IRIX64: IRIX
 os_compat: solaris2.7: solaris2.3 solaris2.4 solaris2.5 solaris2.6
 os_compat: solaris2.6: solaris2.3 solaris2.4 solaris2.5
@@ -172,6 +205,11 @@ os_compat: osf4.0: osf3.2
 
 os_compat: ncr-sysv4.3: ncr-sysv4.2
 
+os_compat: FreeMiNT: mint MiNT TOS
+os_compat: MiNT: FreeMiNT mint TOS
+os_compat: mint: FreeMiNT MiNT TOS
+os_compat: TOS: FreeMiNT MiNT mint
+
 buildarch_compat: i986: i886
 buildarch_compat: i886: i786
 buildarch_compat: i786: i686
@@ -195,9 +233,18 @@ buildarch_compat: armv4b: noarch
 buildarch_compat: armv4l: noarch
 buildarch_compat: parisc: noarch
 
+buildarch_compat: atarist: m68kmint noarch
+buildarch_compat: atariste: m68kmint noarch
+buildarch_compat: ataritt: m68kmint noarch
+buildarch_compat: falcon: m68kmint noarch
+buildarch_compat: atariclone: m68kmint noarch
+buildarch_compat: milan: m68kmint noarch
+buildarch_compat: hades: m68kmint noarch
+
 #############################################################
 #macrofiles:   @RPMCONFIGDIR@/macros:@SYSCONFIGDIR@/macros:~/.rpmmacros
 
 macrofiles:    @RPMCONFIGDIR@/macros:@RPMCONFIGDIR@/%{_target}/macros:@SYSCONFIGDIR@/macros:@SYSCONFIGDIR@/%{_target}/macros:~/.rpmmacros
 
 #include: @RPMCONFIGDIR@/%{_target}/rpmrc
+
index 1057029..2508fd3 100644 (file)
@@ -31,4 +31,8 @@ rpmgettext_LDADD =    $(mylibs) @LIBMISC@
 rpmputtext_SOURCES =   rpmgettext.c
 rpmputtext_LDADD =     $(mylibs) @LIBMISC@
 
+## Dumpdb requires fprint.o (in libmisc) and this requires realpath
+## (from libmisc).
+dumpdb_LDADD = $(mylibs) @LIBMISC@
+
 $(PROGRAMS): $(mylibs)