galeb-mkfiles

Извори пакета за Галеб
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

TODO.done (3420B)


      1 Done TODOs
      2 ==========
      3 
      4 [x] Check and update all mkfiles since Galeb 2.1
      5 	[x] cyrus-sasl
      6 	[x] docbook-xml
      7 	[x] docbook-xsl-nons
      8 	[x] galeb-howtos
      9 	[x] gdb
     10 	[x] glib
     11 	[x] gmime
     12 	[x] isync
     13 	[x] linux-headers
     14 	[x] mkpk
     15 	[x] msmtp
     16 	[x] neomutt
     17 	[x] noice
     18 	[x] notmuch
     19 	[x] s-nail
     20 	[x] sacc
     21 	[x] sfeed
     22 	[x] sled
     23 	[x] table
     24 	[x] unzip
     25 	[x] xapian-core
     26 	[x] xmlto
     27 
     28 [x] Add msmtp
     29 
     30 [x] Add SASL, rebuild s-nail, neomutt, isync
     31 
     32 [x] neomutt: Add real code of missing ncurses functions instead of placeholders?
     33     What would be the license of the combined work? Alternatively, revisit one
     34     more time replacing netbsd-curses with ncurses?
     35     - Ultimately decided to add ncurses after all. Also replaced LibreSSL with
     36       OpenSSL, and adjusted neomutt for complete static compilation.
     37 
     38 [x] Add isync
     39 
     40 [x] Add neomutt
     41 	[x] Determine minimal set of dependencies to run Luke Smith's
     42 	    mutt-wizard and add those first
     43 	[x] xapian-core
     44 	[x] notmuch (rabbit hole...)
     45 		[x] gmime
     46 			[x] glib
     47 				[x] xmlto
     48 					[x] docbook-xml
     49 					    - Every bloated program eventually
     50 					      ends up requiring XML crap.
     51 					[x] docbook-xsl-nons
     52 	-   Compiles (after workarounds to support netbsd-curses), but
     53 	    segfaults.
     54 	-   Look for alternative? aerc is out of the question since Go is out of
     55 	    the question.
     56 	-   The segfault happens because tigetstr("tsl") in gui/terminal.c:63
     57 	    returns an invalid pointer, which is *not* (char*)-1 nor NULL
     58 	-   Create a debug version of netbsd-curses and debug that? With
     59 	    now-added gdb
     60 	-   The problem is in __UNCONST - the cast appears to strip the initial
     61 	    2 bytes, rendering the pointer invalid - -fPIC related perhaps? -
     62 	    Recompiled everything with -fPIC, still segfaults
     63 	-   Mock test program tigetstr-test.c which initializes ncurses, then
     64 	    calls the same tigetstr("tsl") runs fine. (??)
     65 	    Compile it with
     66 		gcc -O0 -g -Wall tigetstr-test.c -o tigetstr-test \
     67 			-lncurses -lterminfo
     68 	-   Things to try:
     69 		1.   [x] Check placeholder stubs (use_extended_names...)
     70 			 - Not related to them
     71 		2.   [x] Use a more thorough mockup, with more included code up
     72 			 to segv
     73 			 - Mockup still works, Neomutt doesn't
     74 		3.   [x] Ask neomutt devs
     75 			 - No answer yet
     76 		4.a. [/] Introduce ncurses (worst option, avoid if possible)
     77 			 - Still contemplating
     78 			 - Ultimately decided against it, as the solution was
     79 			   found
     80 		4.b. [x] Orthogonal, more in line with basic philosophy: try
     81 			 with S-nail (mailx) for now; all the dependencies above
     82 			 are then not needed
     83 			 - Added; leaving dependencies though
     84 	- **Solved** by adding `#include <term.h>` in gui/terminal.c, which
     85 	  adds the exact prototype of tigetstr, so the cast by __UNCONST works.
     86 	  Inspiration from
     87 		https://stackoverflow.com/a/8553162/
     88 
     89 [x] Add gdb!
     90 	[x] Add patches
     91 	[x] https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/
     92 	    msg1824486.html
     93 
     94 [x] Investigate why is install sometimes incorrectly defined as ../install in
     95     Makefiles
     96     - Auto*hell crap; can be overridden by `make INSTALL=install install`
     97     - Precise cause is INSTALL=install; autoconf slaps path relative to base src
     98       dir in front of install cmd for some reason. When set to, for example,
     99       INSTALL=/bin/install, it works.
    100 
    101 [/] Create separate .mk for Auto*hell packages (standard.mk is not applicable)
    102     - It would complicate things instead of simplifying. Better to create custom
    103       rules.