чување 9e459ed723fd7ef153aac171b8821c42a77f8ef9
родитељ d3ecc0bd39faf1b222805e74d592381160512599
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Sun, 23 Apr 2023 18:15:58 +0200
galeb-howtos: Update version; split TODO into TODO and TODO.done
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
| M | TODO | | | 79 | ------------------------------------------------------------------------------- |
| A | TODO.done | | | 77 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | galeb-howtos/config.mk | | | 2 | +- |
измењених датотека: 3, додавања: 78(+), брисања: 80(-)
diff --git a/TODO b/TODO
@@ -8,82 +8,3 @@ TODO
[ ] Add X (quite a task!)
< > Add framebuffer?
-
-
-Done
-----
-
-[x] Add SASL, rebuild s-nail, neomutt, isync
-
-[x] neomutt: Add real code of missing ncurses functions instead of placeholders?
- What would be the license of the combined work? Alternatively, revisit one
- more time replacing netbsd-curses with ncurses?
- - Ultimately decided to add ncurses after all. Also replaced LibreSSL with
- OpenSSL, and adjusted neomutt for complete static compilation.
-
-[x] Add isync
-
-[x] Add neomutt
- [x] Determine minimal set of dependencies to run Luke Smith's
- mutt-wizard and add those first
- [x] xapian-core
- [x] notmuch (rabbit hole...)
- [x] gmime
- [x] glib
- [x] xmlto
- [x] docbook-xml
- - Every bloated program eventually
- ends up requiring XML crap.
- [x] docbook-xsl-nons
- - Compiles (after workarounds to support netbsd-curses), but
- segfaults.
- - Look for alternative? aerc is out of the question since Go is out of
- the question.
- - The segfault happens because tigetstr("tsl") in gui/terminal.c:63
- returns an invalid pointer, which is *not* (char*)-1 nor NULL
- - Create a debug version of netbsd-curses and debug that? With
- now-added gdb
- - The problem is in __UNCONST - the cast appears to strip the initial
- 2 bytes, rendering the pointer invalid - -fPIC related perhaps? -
- Recompiled everything with -fPIC, still segfaults
- - Mock test program tigetstr-test.c which initializes ncurses, then
- calls the same tigetstr("tsl") runs fine. (??)
- Compile it with
- gcc -O0 -g -Wall tigetstr-test.c -o tigetstr-test \
- -lncurses -lterminfo
- - Things to try:
- 1. [x] Check placeholder stubs (use_extended_names...)
- - Not related to them
- 2. [x] Use a more thorough mockup, with more included code up
- to segv
- - Mockup still works, Neomutt doesn't
- 3. [x] Ask neomutt devs
- - No answer yet
- 4.a. [/] Introduce ncurses (worst option, avoid if possible)
- - Still contemplating
- - Ultimately decided against it, as the solution was
- found
- 4.b. [x] Orthogonal, more in line with basic philosophy: try
- with S-nail (mailx) for now; all the dependencies above
- are then not needed
- - Added; leaving dependencies though
- - **Solved** by adding `#include <term.h>` in gui/terminal.c, which
- adds the exact prototype of tigetstr, so the cast by __UNCONST works.
- Inspiration from
- https://stackoverflow.com/a/8553162/
-
-[x] Add gdb!
- [x] Add patches
- [x] https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/
- msg1824486.html
-
-[x] Investigate why is install sometimes incorrectly defined as ../install in
- Makefiles
- - Auto*hell crap; can be overridden by `make INSTALL=install install`
- - Precise cause is INSTALL=install; autoconf slaps path relative to base src
- dir in front of install cmd for some reason. When set to, for example,
- INSTALL=/bin/install, it works.
-
-[/] Create separate .mk for Auto*hell packages (standard.mk is not applicable)
- - It would complicate things instead of simplifying. Better to create custom
- rules.
diff --git a/TODO.done b/TODO.done
@@ -0,0 +1,77 @@
+Done TODOs
+==========
+
+[x] Add SASL, rebuild s-nail, neomutt, isync
+
+[x] neomutt: Add real code of missing ncurses functions instead of placeholders?
+ What would be the license of the combined work? Alternatively, revisit one
+ more time replacing netbsd-curses with ncurses?
+ - Ultimately decided to add ncurses after all. Also replaced LibreSSL with
+ OpenSSL, and adjusted neomutt for complete static compilation.
+
+[x] Add isync
+
+[x] Add neomutt
+ [x] Determine minimal set of dependencies to run Luke Smith's
+ mutt-wizard and add those first
+ [x] xapian-core
+ [x] notmuch (rabbit hole...)
+ [x] gmime
+ [x] glib
+ [x] xmlto
+ [x] docbook-xml
+ - Every bloated program eventually
+ ends up requiring XML crap.
+ [x] docbook-xsl-nons
+ - Compiles (after workarounds to support netbsd-curses), but
+ segfaults.
+ - Look for alternative? aerc is out of the question since Go is out of
+ the question.
+ - The segfault happens because tigetstr("tsl") in gui/terminal.c:63
+ returns an invalid pointer, which is *not* (char*)-1 nor NULL
+ - Create a debug version of netbsd-curses and debug that? With
+ now-added gdb
+ - The problem is in __UNCONST - the cast appears to strip the initial
+ 2 bytes, rendering the pointer invalid - -fPIC related perhaps? -
+ Recompiled everything with -fPIC, still segfaults
+ - Mock test program tigetstr-test.c which initializes ncurses, then
+ calls the same tigetstr("tsl") runs fine. (??)
+ Compile it with
+ gcc -O0 -g -Wall tigetstr-test.c -o tigetstr-test \
+ -lncurses -lterminfo
+ - Things to try:
+ 1. [x] Check placeholder stubs (use_extended_names...)
+ - Not related to them
+ 2. [x] Use a more thorough mockup, with more included code up
+ to segv
+ - Mockup still works, Neomutt doesn't
+ 3. [x] Ask neomutt devs
+ - No answer yet
+ 4.a. [/] Introduce ncurses (worst option, avoid if possible)
+ - Still contemplating
+ - Ultimately decided against it, as the solution was
+ found
+ 4.b. [x] Orthogonal, more in line with basic philosophy: try
+ with S-nail (mailx) for now; all the dependencies above
+ are then not needed
+ - Added; leaving dependencies though
+ - **Solved** by adding `#include <term.h>` in gui/terminal.c, which
+ adds the exact prototype of tigetstr, so the cast by __UNCONST works.
+ Inspiration from
+ https://stackoverflow.com/a/8553162/
+
+[x] Add gdb!
+ [x] Add patches
+ [x] https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/
+ msg1824486.html
+
+[x] Investigate why is install sometimes incorrectly defined as ../install in
+ Makefiles
+ - Auto*hell crap; can be overridden by `make INSTALL=install install`
+ - Precise cause is INSTALL=install; autoconf slaps path relative to base src
+ dir in front of install cmd for some reason. When set to, for example,
+ INSTALL=/bin/install, it works.
+
+[/] Create separate .mk for Auto*hell packages (standard.mk is not applicable)
+ - It would complicate things instead of simplifying. Better to create custom
+ rules.
diff --git a/galeb-howtos/config.mk b/galeb-howtos/config.mk
@@ -1,6 +1,6 @@
PKGBASE= galeb-howtos
DOCS= LICENSE `{ find . -name '*.howto' }
-PKGVER= 0.1
+PKGVER= 0.2
LEGALFILES= LICENSE
PREFIX= /
SRCREPOS= https://git.sr.ht/~strahinja/galeb-howtos