diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | TODO | 69 | ||||
-rw-r--r-- | configure.ac | 5 |
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)'; \ @@ -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: @@ -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]) |