summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--NEWS7
-rw-r--r--TODO69
-rw-r--r--configure.ac5
4 files changed, 73 insertions, 10 deletions
diff --git a/Makefile.am b/Makefile.am
index 80993b2..56f506b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -198,7 +198,7 @@ release:
sed "s/^Released: ????-??-??\$$/Released: $$(date '+%Y-%m-%d')/" \
'$(srcdir)/NEWS' >'$(srcdir)/NEWS~'
mv '$(srcdir)/NEWS~' '$(srcdir)/NEWS'
- $(MAKE) dist # Not distcheck
+ $(MAKE) distcheck
set -e; \
export GIT_DIR='$(srcdir)/.git'; \
export GIT_WORK_TREE='$(srcdir)'; \
diff --git a/NEWS b/NEWS
index d09cf81..84a5f9f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,11 @@
-opkhelper version 3.1.4
+opkhelper version 3.1.4+dev
---------------------------
+Released: ????-??-??
+
+opkhelper version 3.1.4
+-----------------------
+
Released: 2021-01-02
Changes in this release:
diff --git a/TODO b/TODO
index f2cba70..8e70f76 100644
--- a/TODO
+++ b/TODO
@@ -1,12 +1,69 @@
-Future Tasks
-------------
+Build System and Test Suite Overhaul
+------------------------------------
- * Don't list library and helper configuration files as `_SCRIPTS` (this makes
- them executable).
+ * Consider finally replacing `oh_use()` with shpp and shld. Allow running in
+ place. Make building rules optionally (and by default) silent.
+ * Make libopkbuild and opkg optional, without which oh-shlibdeps will be
+ disabled (excluded from building and installation). Currently, running
+ tests requires:
+ $ ./autogen.sh --prefix="${PWD}/_inst/usr" \
+ > --with-libopkbuild=false --with-opkg=false
+ $ make install
+ $ make test
+ * Replace the custom test suite harness with the TAP library and harness from
+ Automake. Rewrite test library and tests.
+ * Greatly expand test suite coverage.
+
+Automating Away Boilerplate Code/Lists
+--------------------------------------
-For opkhelper 3.1.0
--------------------
+ * Add support for the CMake build system.
+ * A test suite with mature coverage should be completed first.
+ * oh-installfiles: If `<binpkg>.pkg/files` is missing, try to figure out which
+ files should be installed, based on package name and/or section. For
+ example:
+ - A single package in section "boot" can provide `/boot/`.
+ - A single package in section "dbg" can provide `/usr/lib/debug/`.
+ - A single package in section "doc" can provide `/usr/share/man/`,
+ `/usr/share/info/`, and `/usr/share/doc/` (subdirectory/-ies of which must
+ not be the name of the binary package).
+ - "libfoo.1" in section "lib" can provide
+ `/usr/lib/${OPK_HOST_ARCH}/libfoo.so.1.*`.
+ - "libfoo.1-dev" in section "libdev" can provide `/usr/bin/*-config`
+ (TODO: or optionally remove custom config scripts, like src:freetype does?
+ also, src:tcl8.6 uses a different naming style), `/usr/include/`,
+ `/usr/lib/${OPK_HOST_ARCH}/libfoo.so.1`, and
+ `/usr/lib/${OPK_HOST_ARCH}/pkgconfig/*.pc`.
+ - A single package in section "locale" can provide `/usr/share/locale/`.
+ - A single package in section "share" can provide `/usr/share/` (after files
+ are installed into any packages in sections "doc" and "locale").
+ - A single package in either section "dev" or "util" can provide `/usr/bin/`
+ (after any files matching `/usr/bin/*-config` are installed into any
+ packages in section "libdev").
+ If there are multiple packages in any of sections "boot", "dbg", "doc",
+ "locale", "share", or "dev" and "util", then all such packages must specify
+ files to install.
+ * oh: A new automatic build command driver/sequencer like debhelper's dh.
+ Support options -s, -B, and -d and arguments for oh-autoconfigure,
+ oh-autobuild, oh-autotest, oh-autoinstall, and oh-autoclean. Support
+ targets "nop", "configure", "build" (which also runs "configure" and
+ "test"), "test", "install", and "clean". If cross building, don't run
+ oh-autotest. If no binary package exists in section "dbg",
+ don't pass option -k to oh-strip. Maybe support override (e.g.
+ `override-oh-autoconfigure`) and/or hook (e.g. "post-oh-autoinstall")
+ targets. Maybe also automate common tasks like:
+ - `rm -f "${dest}/usr/lib/${OPK_HOST_ARCH}/"*.a`
+ - `rm -f "${dest}/usr/lib/${OPK_HOST_ARCH}/"*.la`
+ - `rm -f "${dest}/usr/share/info/dir"`
+ - Maybe provide a way to list file patterns to remove.
+ - Maybe (in oh-installfiles?) provide a way to move files (e.g.
+ `/usr/share/doc/` files).
+Other Future Tasks
+------------------
+
+ * Don't list library and helper configuration files as `_SCRIPTS` (this makes
+ them executable).
* Write oh-compress.
Possible Future Tasks
diff --git a/configure.ac b/configure.ac
index 3a9ce99..b540679 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([opkhelper], [3.1.4],
+AC_INIT([opkhelper], [3.1.4+dev],
[mailto:proteanos-dev@lists.proteanos.com], [opkhelper],
[http://www.proteanos.com/dev/opkhelper/])
AC_CONFIG_AUX_DIR([build-aux])
@@ -90,7 +90,8 @@ AC_ARG_WITH(
[
case "${withval}" in
'yes'|'')
- AC_MSG_ERROR([--with-readelf requires an argument])
+ AC_MSG_ERROR(
+ [--with-readelf requires an argument])
;;
'no')
AC_MSG_ERROR([readelf is required])