Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Jul 1998 16:41:12 +0300 (EEST)
From:      Adrian Penisoara <ady@warpnet.ro>
To:        Андрей Чернов <ache@nagual.pp.ru>
Cc:        FreeBSD ports <freebsd-ports@FreeBSD.ORG>
Subject:   Pine 3.96/4.00 ports -- patches
Message-ID:  <Pine.BSF.3.96.980712132125.29589A-100000@ady.warpnet.ro>

next in thread | raw e-mail | index | archive | help
Hi,

  [ CC:-ed to freebsd-ports in case someone else has suggestions too ]

  I will try to discuss patches migration from Pine 3.96 to Pine 4.00 in
the port I submitted in ports/7248:

  There are 17+1 patches (patch-aa ... patch-aq + patch-ar).

patch-aa (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: creates pico/makefile.bsf
  * Pine 4.00: sources already come with an pico/makefile.bsf that seems
    to me that it does (almost ?) the same job
      - there is a issue wih -DTERMCAP_WINS: it breaks the building if I
        try to use it:

cc -fpic -DPIC -c -O   -DDEBUG  -DBSDI -DBSDI2 -DPOSIX -DJOB_CONTROL
-DMOUSE -DTERMCAP_WINS attach.c -o attach.so
In file included from attach.c:30:
headers.h:24: parse error before `not'
In file included from /usr/include/sys/types.h:49,
                 from /usr/include/stdio.h:44,
                 from headers.h:29,
                 from attach.c:30:
/usr/include/machine/types.h:43: warning: data definition has no type or
storage class
*** Error code 1

Stop.

   What does -DTERMCAP_WINS do ? You say "Trust termcap more then built-in
defaults" in the CVS log -- please explain me what it does and how can we
convince Pine to build it correctly.

patch-ab (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file pico/os_unix.c, patches return expression in errstr()
      - casting (char *) + reinforces operator precedence (!)
  * Pine 4.00: file pico/osdep/unix
      - errstr() already has (char *) casting and I believe that operator
        precedence reinforcement is not needed;
      - patches fexist() call with (long *) cast in ffelbowroom(),
        conforming fexist()'s prototype;

patch-ac (in pine3, in pine4)
-----------------------------
  * Pine 3.96: creates pine/osdep/os-bsf.h
  * Pine 4.00: file pine/osdep/os-bsf.h, which already comes with source
      - changes DEFAULT_DEBUG from 2 to 0 (in order to not generate
        ~/.pine-debug# files)
XXX   - [ #define BACKGROUND_POST ]
XXX   - SENDNEWS -- what is the correct path for 'inews' ?
      - part of the (3.96) file was moved to pico/osdep/os-bsf.h

patch-ad (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: creates pine/osdep/os-bsf.ic
  * Pine 4.00: sources already come with pine/osdep/os-bsf.ic
      - I don't see differences that should cause problems (be carefull
        some names of the includers have changed)

patch-ae (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: creates pine/makefile.bsf
  * Pine 4.00: sources already come with a pine/makefile.bsf file
      - "STDLIBS= -ltermlib" doesn't need '-lcrypt' because LIBS includes
        `cat $(CCLIENTDIR)/LDFLAGS` (which in turn has -lcrypt); in fact
        Pine itself shouldn't have anything to do with -lcrypt, only the
        c-client library should need -lcrypt.
      - again, -DTERMCAP_WINS issues !

patch-af (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: file imap/ANSI/c-client/Makefile
  * Pine 4.00: file should be imap/src/osdep/unix/Makefile
      - Oops, this should have been the content of patch-ag !!

patch-ag (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file imap/ANSI/c-client/mh.c
      - fixes some incorrect scandir() calls by inserting (void *) cast ?
        man 3 scandir says it's int (*compar)(const void *, const void *)
        both in 2.2.6 and 3.0, and mh_numsort()'s prototype really
        conforms ! So no patch is needed, really...
  * Pine 4.00: file should have been imap/src/osdep/unix/mh.c but in fact
               file is imap/src/osdep/unix/Makefile (my fault, see
               patch-af...)
XXX   - comments out 'CC=' & 'CFLAGS='; but really shouldn't this be
        'CFLAGS+=...' ??; I've mangled 'BASECFLAGS=' at the bsf target for
        that reason; I will correct this in my next patch...

patch-ah (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: file imap/ANSI/c-client/news.c
      - same bogus fix like path-ag ?!? Again, news_numsort() prototype
        conforms to what man 3 scandir says, so no patch needed.
  * Pine 4.00: file should have been imap/src/osdep/unix/news.c

patch-ai (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file pine/send.c
      - forces ENC8BIT when TYPETEXT body
  * Pine 4.00: file pine/send.c
      - maintains the patch, just some reformatting

patch-aj (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file imap/ANSI/c-client/os_bsi.h
      - includes <dirent.h> instead of <sys/dir.h> when in FreeBSD (but
        doesn't OpenBSD/NetBSD confom too ?)
  * Pine 4.00: file imap/src/osdep/unix/os_bsi.h
      - maintains the patch; same observation

patch-ak (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file imap/Makefile
      - introduce separate bsf target, excludes ipopd/imapd from compiling
  * Pine 4.00: file imap/Makefile
      - same basic ideea, only we already are included the same general
        building target
patch-al (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file build
      - fix for not building ipopd/imapd daemons, corrects clean target
  * Pine 4.00: file build
      - same ideea, but comment instead deleting; maintained "size ..."
        but adjusted

patch-am (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: file pine/pine.h
      - from CVS log: "Move TAG_EMBED from valid Russian letter '\377' to
        more neutral '\001'" and "Tag quoting not implemented properly
        cause '\377' chars skipped"
  * Pine 4.00: file should be pine/pine.h
XXX   - my opinion: good reason, but I don't like the patch, it's rather
        a workaround than a good fix, it conflicts with TAG_INVON; we
        should ask the Pine people about this; I will insert the patch 
        anyway (but probably with a different constant) !

patch-an (in pine3, in pine4)
-----------------------------
  * Pine 3.96: file pico/os_unix.h
      - fixes MAILDIR
  * Pine 4.00: file pico/osdep/os-bsf.h special for FreeBSD
      - includes <dirent.h> instead of <sys/dir.h>
      - strange, it still needs MAILDIR fix ?!? :)

patch-ao & patch-ap (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: file pico/tcap.c & pine/ttyout.c
      - CVS log: "Teach pine/pico about End key" -- sorry, but it doesn't
        work for me, it just says "[Invalid key pressed. Use ? for help]"
        Does it work for you ?
  * Pine 4.00: file should be /pico/osdep/term.cap
      - the new file has a new structure; it seems that it will accept
        KEY_END, but it's related to termcap_wins/-DTERMCAP_WINS ?!? It
        doesn't work now...

patch-aq (in pine3, NOT in pine4)
---------------------------------
  * Pine 3.96: files pico/ebind.h & pico/main.h
      - disables spelling
  * Pine 4.00: files pico/ebind.h & pico/main.h
XXX   - I thought we had a spellchecker in FreeBSD, but it seems not; and
        you say ispell doesn't work... Anyway, I believe The Right
        Way(tm) to do this is to patch pico/osdep/os-bsf.h and undefine
        SPELLER ! I'll make the change in the next patch.

patch-ar (NOT in pine3, in pine4)
---------------------------------
  * Pine 3.96: no file
  * Pine 4.00: file imap/src/osdep/unix/unix.c
      - Restrictive permissions don't allow locking in /var/mail/, so pine
        was complainig with "Mailbox vulnerable - error creating ...";
        however this is not The Right Way(tm) to do it, but until I find a
        better solution...

  So, in the end, the port isn't 100% finished but it compiles and runs
flawlessly.
  I need help with -DTERMCAP_WINS and the other termcap issues !


  Thanks !
  Ady (@freebsd.ady.ro)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980712132125.29589A-100000>