opkg-0.3.1 ========== - Libsolv backend support. Add --enable-solver=libsolv config option to have opkg use the external solver libsolv. This feature is fully functional, but in experimental stage. - Cache filenames are now based on the path md5sum instead of the full path, to fix errors on long filepaths. - Fix several memory leaks - Add --host-cache-dir and --cache-dir command line flag to change the cache directory location - Fix error when processing empty Package.gz files. opkg-0.3.0 ========== - Fix exit status when upgrading multiple packages with inter-dependencies (issue 154). opkg-0.3.0-rc2 ============== - Ensure `libopkg/xfuncs.h`, `tests/` and `scripts/` are included in the release archive! opkg-0.3.0-rc1 ============== - Reformat all C code so that it is easier to read (issue 119). - Fix a few minor logic bugs. - Tidy up `autogen.sh` and ensure it runs correctly with old versions of `aclocal` and non-bash shells. - Rearrange test scripts into logical categories. - Fix segfault when reinstalling a package with `force_reinstall` set (issue 153). opkg-0.3.0-rc0 ============== Dependency changes: - opkg now depends on libarchive. opkg: - Rename `opkg-cl` to `opkg`. - Add config option `autoremove` equivalent to `--autoremove` command line flag. - Add config option `overwrite_no_owner` allowing un-owned files to be overwritten during package install (issue 99). - Add config options `connect_timeout_ms`, `transfer_timeout_ms` and `follow_location` for use with CURL. - Add command line option `--volatile-cache`. - Add config option `no_install_recommends` and command line option `--no-install-recommends` to prevent the installation of packages listed as Recommends. - Add command line option `--add-exclude` to add packages to an exclusion list. - Add config option `ignore_maintainer` to silently ignore changes to files listed as Conffiles during a package upgrade (issue 128, part 2). - Add config option `lock_file`. This option replaces the configure script argument `--with-opkglockfile`, allowing the lock file path to be specified at run-time. - Add config options `info_dir` and `status_file`. Together with the config option `lists_dir` which existed previously, these options replace the configure script argument `--with-opkglibdir`, allowing the paths to the the data files and directories to be specified at run-time and with better granularity. - Add config option `signature_type` allowing the signature verification backend to be selected at runtime. Both openssl and gpg support may not coexist within a single build of opkg. - Add config option `check_pkg_signature` which allows individual package files to be signed and verified. - Add config option `cache_local_files` to copy local files into the cache when downloading. If this option is not set, any URL with a `file://` is symlinked into the cache rather than downloaded (issue 139). - Drop support for the old `lists_dir` config option syntax. The new syntax introduced in v0.2.3 must now be used. - Add support for passing package filename arguments to `opkg info` (issue 125). - Add support for implicit and explicit FTP-over-SSL when using the curl download backend. - Add support for a https proxy using the curl download backend. - Add support for http basic authentication when using the CURL download backend. - Add support for ASCII-armored gpg signatures. - Change the default cache directory to `/var/cache` (issue 131). - Improve package and package feed verification. - Improve download caching. - Improve heuristics to determine whether an argument is a package name, remote URI or local path. - Improve detection and handling of package conflicts. - Improve handling of package flags (such as hold) and status. - Improve proxy authentication when using the curl download backend. - Allow interrupted downloads to be resumed when curl is enabled (issue 115). - Only upgrade installed packages during `opkg upgrade` (issue 127). - Correctly handle pacakges which list a virtual package in Provides, Replaces and Conflicts (issue 89). - Ensure that the lock file can be created by creating the parent directory if it does not already exist (issue 110). - Issue a NOTICE message not an ERROR message if files listed as Conffiles have been changed by the user prior to a package upgrade but the `force_maintainer` option has not been set (issue 128, part 1). - Call prerm and postrm scripts on package upgrade (issue 104). opkg-key: - Only install `opkg-key` when gpg support is enabled. - Add `opkg-key reset` command to remove all trusted keys. - Add `opkg-key populate` command to populated the list of trusted keys using the contents of `/usr/share/opkg/keyrings`. - Improve usage output of `opkg-key`. update-alternatives: - `update-alternatives` has been moved out of opkg and into opkg-utils. Developer visible: - Add functions `opkg_conf_get_option` and `opkg_conf_set_option`, direct access to `options` array is no longer allowed. - Add documentation in `developer-doc` directory. - Add `scripts/checkpatch.pl`, adapted from the Linux kernel. This script may be used to check that patches match the expected coding style and are free from some common mistakes. - Remove confusing `from_upgrade` argument from `opkg_remove_pkg`. - Drop the configure script arguments `--with-opkglockfile`, `--with-opkglibdir` and `--with-opkgtcdir`. - Drop unnecessary source files under 'tests'. - Deprecate the libopkg API defined in 'libopkg/opkg.c'. The configure script argument `--enable-libopkg-api` must be given to build this API. - Improve testsuite with more tests, `make check` now runs the testsuite and exits non-zero if any test fails. - Improve `autogen.sh` script for developers & maintainers, no longer runs configure directly. `./autogen.sh --clean` now removes all generated files without requiring configure to have been ran. - Rename `conf` -> `opkg_config` to prevent global symbol clashes (issue 92). - Allow pkg-config to be used to find the gpg-error library. - Use libarchive to extract packages instead of hand-rolled tar, ar and gzip handling (adds dependency on libarchive). - Remove libbb! - Lots of code refactoring and minor improvements. opkg-0.2.4 ========== - Improve handling of failed installs. Package status is now set to 'install reinst-required half-installed' and advice on how to rectify the situation is now given. - Improve handling of upgrades, and fix detection of orphan packages. Orphan RECOMMENDS will now be removed during an upgrade, as well as orphan DEPENDS, if autoremove is enabled. However, packages which move from DEPENDS to RECOMMENDS will now be kept. (issue 144) - Improve handling of package flags. - Fix 'opkg whatconflicts'. - Fix handling of '--force-removal-of-dependent-packages'. (issue 140) - Fix selection between multiple providers of the same abstract package. (issue 152) - Fix uname and gname caching during package extraction. - Fix verification of release metadata files. - Fix possible segfault in 'pkg_hash_fetch_conflicts()'. - Use 'sh' instead of 'bash' as the interpreter for 'opkg-check-config'. opkg-0.2.3 ========== - New, optional syntax for setting lists_dir in config files. This new syntax will be required in v0.3.0 and later, the old syntax is now deprecated. The new syntax is: option lists_dir - New 'opkg-check-config' helper script to check and update config files. Currently this just changes the old lists_dir syntax to the new syntax. - Add the 'combine' option and '--combine' command line argument. These options combine the installation or upgrade of multiple packages so that dependency evaluation is carried out for the whole transaction rather than separately for each package. This resolves the case of issue 124 where multiple packages depend on a common package with version constraints in such a way that all dependent packages need to be upgraded together. - Don't select packages for installation which break the dependencies of already installed packages (issue 124). - Fix epoch:version split so that a colon is only interpreted as the epoch separator in a version string if it is the first non-numeric character. - Fix package flags after failed upgrade. This ensures that subsequent installs or upgrades do not consider the old package as scheduled for removal. - Prevent packages listed in RECOMMENDS of an installed package from being removed automatically when autoremove is set. - Fix 'extern "C"' wrapping in header files. - Improve check for gpgme in configure script. Now either pkg-config or gpgme-config can be used to find gpgme. - Fix internal usage of 'config.h', this ensures building opkg and its dependencies with large file support will work correctly. - Fix internal memory leaks and suboptimal code. opkg-0.2.2 ========== - Fix '--force-reinstall' flag so that it acts as an upgrade rather than removing possibly critical packages before reinstall (issue 71) - Symlinks are now correctly removed during package uninstall (issue 91) - Fixed help and manual pages to reflect that shell globs not true regexps are accepted by opkg (issue 107) - The error message "no valid architecture" is no longer given when the architecture of a package is valid but incompatible with the current system. opkg-0.2.1 ========== - Updated AUTHORS, README, CONTRIBUTING, etc - Dropped "config.h" from the list of installed headers and removed checks for HAVE_* symbols from all installed headers - Made libopkg usable from C++ via `extern "C"` wrapping opkg-0.2.0 ========== - No changes opkg-0.2.0-rc2 ============== - Remove libopkg/config.h from the distribution archive, it's generated by configure and doesn't belong in there opkg-0.2.0-rc1 ============== - Added basic regression test suite - Added man pages for opkg-cl and opkg-key - Added the `overlay_root` config option - Added the `--prefer-arch-to-version` option - Added the `--force-postinstall` option - Added the `list-changed-conffiles` command - Added the `opkg_compare_versions` function to libopkg - Allow external gunzip binary to be used to perform decompression if the OPKG_USE_VFORK environment variable is set - Do not read /etc/opkg/*.conf if -f option is specified - Detect and handle circular dependencies - Replaced GPLv3+ licensed sha256 implementation with GPLv2+ implementation - Use `ln -snf` rather than `ln -sf` in update-alternatives - Many other bugfixes, improvements and cleanups...