4 Commits

Author SHA256 Message Date
e1b02be26c Accepting request 1323416 from system:packagemanager
OBS-URL: https://build.opensuse.org/request/show/1323416
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/apk-tools?expand=0&rev=4
2025-12-18 17:32:56 +00:00
0c616986c2 - Update to version 3.0.2:
* applet: stylistic changes and some code reduction for help.
  * applet: Auto-detect help gzip/zlib compression.
  * db: fix chroot proc setup for scripts when in user namespace.
  * db, pkg: add fallback to not needing unshare() when running as
    root.
  * commit: dynamic unit for installed_bytes.
  * apk: fix compile when using C89.
  * mkpkg: implement --xattrs[=BOOL] to disable xattr recording.
  * io_url_libfetch: do not map error to zero.
  * package: add F_SEAL_EXEC to memfd script.
  * db: drop use of fexecve for scripts.
  * commit: don't sync with --simulate.

OBS-URL: https://build.opensuse.org/package/show/system:packagemanager/apk-tools?expand=0&rev=9
2025-12-17 20:31:19 +00:00
7bf06c0250 Accepting request 1321357 from system:packagemanager
OBS-URL: https://build.opensuse.org/request/show/1321357
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/apk-tools?expand=0&rev=3
2025-12-08 10:54:33 +00:00
9326a0fd48 - Update to version 3.0.1:
User facing changes:
  * Support for new package and index format: designed for
    improved security, performance and extensibility in future.
    + The index supports newer hash algorithms.
    + Supports for newer signature algorithms.
    + Supports for the zstd compression.
    + Designed to support additional features in the future, e.g.
      audit can verify all data in the installed database using
      original package signatures.
  * Compatibility related changes
    + Support for ftp urls in the libfetch backend has been removed
    + Support for the original "alpine v1" packages and for broken
      v2 packages from foreign tools has been removed.
    + Support for md5 hashes has been removed.
    + The package arch is now validated and must be compatible to
      install. See man page for etc/apk/arch.
    + The script output is now processed by apk, each output line
      is prefixed with * to disambiguate the script output from apk
      output.
    + The scripts are executed from a memfd if possible. This means
      $0 is no longer reliable method to determine the hook name.
      Use $APK_SCRIPT instead
  * Improved configuration and repository configuration
    + The repositories file format now supports definition and
      usage of variables.
    + Support for config file for default options (overriding
      configuration can be provided in APK_CONFIG specified file).
    + Various configuration files and repositories are now searched
      from etc/apk and lib/apk so distributions can provision

OBS-URL: https://build.opensuse.org/package/show/system:packagemanager/apk-tools?expand=0&rev=7
2025-12-06 12:15:51 +00:00
6 changed files with 242 additions and 27 deletions

View File

@@ -1,16 +1,16 @@
<services>
<service mode="manual" name="tar_scm">
<service name="tar_scm" mode="manual">
<param name="url">https://git.alpinelinux.org/apk-tools</param>
<param name="scm">git</param>
<param name="revision">v2.14.4</param>
<param name="revision">v3.0.2</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionformat">@PARENT_TAG@</param>
</service>
<service mode="manual" name="recompress">
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="manual" name="set_version"/>
<service name="set_version" mode="manual"/>
</services>

View File

@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://git.alpinelinux.org/apk-tools</param>
<param name="changesrevision">de114558a5d8fa15350b1b3d440712fab6bae817</param></service></servicedata>
<param name="changesrevision">d093f7c198a64bff0cd58afeaf638909fda24ca8</param></service></servicedata>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:80cafef2a98ec5e59fc726794f9ae023133d36ddfff7b1b70fd111f3f47b6e5e
size 156448

3
apk-tools-3.0.2.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cf0b659a901d07b047c2da49722888e6d1e48fe5fa0f1e1ec29bd7f28ca504c
size 719104

View File

@@ -1,3 +1,216 @@
-------------------------------------------------------------------
Mon Dec 15 08:24:10 UTC 2025 - Martin Hauke <mardnh@gmx.de>
- Update to version 3.0.2:
* applet: stylistic changes and some code reduction for help.
* applet: Auto-detect help gzip/zlib compression.
* db: fix chroot proc setup for scripts when in user namespace.
* db, pkg: add fallback to not needing unshare() when running as
root.
* commit: dynamic unit for installed_bytes.
* apk: fix compile when using C89.
* mkpkg: implement --xattrs[=BOOL] to disable xattr recording.
* io_url_libfetch: do not map error to zero.
* package: add F_SEAL_EXEC to memfd script.
* db: drop use of fexecve for scripts.
* commit: don't sync with --simulate.
-------------------------------------------------------------------
Wed Dec 03 19:07:56 UTC 2025 - Martin Hauke <mardnh@gmx.de>
- Update to version 3.0.1:
User facing changes:
* Support for new package and index format: designed for
improved security, performance and extensibility in future.
+ The index supports newer hash algorithms.
+ Supports for newer signature algorithms.
+ Supports for the zstd compression.
+ Designed to support additional features in the future, e.g.
audit can verify all data in the installed database using
original package signatures.
* Compatibility related changes
+ Support for ftp urls in the libfetch backend has been removed
+ Support for the original "alpine v1" packages and for broken
v2 packages from foreign tools has been removed.
+ Support for md5 hashes has been removed.
+ The package arch is now validated and must be compatible to
install. See man page for etc/apk/arch.
+ The script output is now processed by apk, each output line
is prefixed with * to disambiguate the script output from apk
output.
+ The scripts are executed from a memfd if possible. This means
$0 is no longer reliable method to determine the hook name.
Use $APK_SCRIPT instead
* Improved configuration and repository configuration
+ The repositories file format now supports definition and
usage of variables.
+ Support for config file for default options (overriding
configuration can be provided in APK_CONFIG specified file).
+ Various configuration files and repositories are now searched
from etc/apk and lib/apk so distributions can provision
defaults in lib/apk.
* New commands:
+ To create packages mkpkg, to create index mkndx, to manage
signatures adbsign and to dump the structure adbdump.
+ The new index format can index also old packages, and
supports additional features such as --pkgname-spec which
allows creating repositories with differing package naming
scheme or even an index referring to different URL from
where to download the packages.
+ A new query applet (a superset of info, list and search) is
provided to interrogate the installed database and indexes.
+ Outputs human readable format in addition to json and yaml
output.
Other new features:
+ Write transactions are now logged to /var/log/apk.log, see
also logfile configuration option.
+ apk add --initdb --usermode can create and manage chroot
environments as a non-root user by using mount namespaces.
+ A new --cache-preload mode, which will first download all
packages to cache, and only after start installing them.
+ A new --preupgrade-depends mechanism to allow distributions
to mark certain packages to be "preupgraded".
+ Filesystem cache is now committed to disk if committing
changes to non-containerized root system (see --sync=auto).
+ Support for packages with disk volumes managed by the
OpenWRT uvol volume manager.
Changes affecting building/packaging, and other note worthy
changes:
* Build should be done with the Meson build system
+ Support for additional configuration such as minimal build
mode without package/index creation commands.
+ Support to execute wget for downloading files instead if the
built-in libfetch http library (to avoid openssl dependency).
+ Support to use mbedtls crypto library instead of openssl for
the signatures and hashing.
* Python bindings for version comparison.
* Rewritten options handling with support for yes/no and
yes/no/auto options.
* Numerous performance improvements, bug fixes, and code cleanups
* Improved test suite.
* Improved man pages.
* Bash completion is automatically generated.
- Run testsuite.
-------------------------------------------------------------------
Wed Jun 18 12:15:09 UTC 2025 - Martin Hauke <mardnh@gmx.de>
- Update to version 2.14.10:
* apk-tools-2.14.10
* libfetch: allow obsolete date format in http timestamps
* libfetch/http: reuse fetch_netrc_auth for http(s)
* apk-tools-2.14.9
* apk, db: rework dbopts cache_max_age default handling
* db: remove leftover fprintf
* apk-tools-2.14.8
* info: fix -W with symlinks
* update: make --update-cache and and 'update' behave the same
* db: handle not found names in __apk_db_foreach_sorted_package
* solver: fix name resolving order of pure virtual names
* db: fix non-repository reverese dependency indexing
* apk-tools-2.14.7
* solver: rework solver name ordering to fix install_if handling
* build: use the VERSION directly as the soname
* solver: make dependencies only packages selectable
* doc: fix pre/post commit hook documentation
* db: fix apk_cache_download to work with APK_SIGN_VERIFY_IDENTITY
* apk-tools-2.14.6
* io: backport APK_ISTREAM_TEE_OPTIONAL from master
* io: fix apk_istream_tee to handle error in from
* hash: remove bad cast of delete_item to enumerator callback
* Improve make test and run CI tests on x86 also
* commit: use %llu and unsigned long long in printf instead of off_t
* apk-tools-2.14.5
* fetch: validate downloaded package against repository
* add: error when added constrain is broken
* lua: expose more package fields
* blob: stop parsing '=' as 0 when decoding digits
* lua: use lua_Integer when appropriate
* lua: fix memory leak from setting blobs
* lua: safe cast from size_t to long
* add: check version of virtual packages
* use 2-argument static_assert form for older compilers
* del: Don't show kept packages when --quiet is set
* io: ignore fifos when reading xattr
* io: use O_NONBLOCK when reading xattrs
* db: preserve sha256_160 flag with a warning
* db, solver: move name priority calculation to solver
* test: fix provides repository format
* commit: remove unused struct print_state member
* db: fix a minor memory leak in triggers reset
* solver: fix conflicts to prevent install_if trigger
* commit: simulate installed packages
* test: add provides test case from #10973
* commit: simulate installed bytes
* dot, list: optimize --installed to not load repositories
* del, solver: introduce and use solver hint to remove package
* fetch: fix selecting concrete package in non-recursive mode
* dot: don't error on missing conflict provider
* db: remove unused field data_csum in struct install_ctx
* doc: fix description of apk cache --upgrade
* doc: apk(8): speak of world constraints
* db: honor 'verify' mode in apk_cache_download()
- Temporarily force usage of gcc13 on leap16- and TW-systems to
workaround build failures.
-------------------------------------------------------------------
Wed Jun 18 11:44:57 UTC 2025 - Martin Hauke <mardnh@gmx.de>
- Update to version 2.14.10
* libfetch: allow obsolete date format in http timestamps.
* libfetch/http: reuse fetch_netrc_auth for http(s).
- Update to version 2.14.9
* apk, db: rework dbopts cache_max_age default handling
* db: remove leftover fprintf
- Update to version 2.14.8
* info: fix -W with symlinks
* update: make --update-cache and and 'update' behave the same
* db: handle not found names in __apk_db_foreach_sorted_package
* solver: fix name resolving order of pure virtual names
* db: fix non-repository reverese dependency indexing
- Update to version 2.14.7
* solver: rework solver name ordering to fix install_if handling
* build: use the VERSION directly as the soname
* solver: make dependencies only packages selectable
* db: fix apk_cache_download to work with APK_SIGN_VERIFY_IDENTITY
- Update to version 2.14.6
* io: backport APK_ISTREAM_TEE_OPTIONAL from master
* io: fix apk_istream_tee to handle error in from
* hash: remove bad cast of delete_item to enumerator callback
* Improve make test and run CI tests on x86 also
* commit: use %llu and unsigned long long in printf instead of
off_t
- Update to version 2.14.5
* fetch: validate downloaded package against repository
* add: error when added constrain is broken
* lua: expose more package fields
* blob: stop parsing '=' as 0 when decoding digits
* lua: use lua_Integer when appropriate
* lua: fix memory leak from setting blobs
* lua: safe cast from size_t to long
* add: check version of virtual packages
* use 2-argument static_assert form for older compilers
* del: Don't show kept packages when --quiet is set
* io: ignore fifos when reading xattr
* io: use O_NONBLOCK when reading xattrs
* db: preserve sha256_160 flag with a warning
* db, solver: move name priority calculation to solver
* test: fix provides repository format
* commit: remove unused struct print_state member
* db: fix a minor memory leak in triggers reset
* solver: fix conflicts to prevent install_if trigger
* commit: simulate installed packages
* test: add provides test case from #10973
* commit: simulate installed bytes
* dot, list: optimize --installed to not load repositories
* del, solver: introduce and use solver hint to remove package
* fetch: fix selecting concrete package in non-recursive mode
* dot: don't error on missing conflict provider
* db: remove unused field data_csum in struct install_ctx
* doc: fix description of apk cache --upgrade
* doc: apk(8): speak of world constraints
* db: honor 'verify' mode in apk_cache_download()
-------------------------------------------------------------------
Sat Jun 22 09:12:45 UTC 2024 - Martin Hauke <mardnh@gmx.de>

View File

@@ -1,8 +1,8 @@
#
# spec file for package apk-tools
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024, Martin Hauke <mardnh@gmx.de>
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2024-2025, Martin Hauke <mardnh@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,23 +17,28 @@
#
%define sover 2
%define soname 2_14_0
%define sover 3
%define soname 3_0_0
%define libname libapk%{soname}
Name: apk-tools
Version: 2.14.4
Version: 3.0.2
Release: 0
Summary: Alpine package manager
License: GPL-2.0-or-later
Group: System/Packages
URL: https://git.alpinelinux.org/apk-tools/
Source: %{name}-%{version}.tar.xz
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: lua53-devel
BuildRequires: lua53-zlib
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: scdoc
BuildRequires: python3-devel
BuildRequires: scdoc >= 1.10
BuildRequires: pkgconfig(cmocka)
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libzstd)
Provides: bundled(libfetch)
%description
@@ -72,31 +77,28 @@ This package contains headers and libraries required to build applications
that use libapk.
%prep
%setup -q
%autosetup
%build
%make_build
%meson
%meson_build
%install
%make_install \
SBINDIR=%{_sbindir} \
LIBDIR=%{_libdir} \
LUA_LIBDIR=%{_libdir}/lua/5.3 \
DOCDIR=%{_docdir}/apk-tools \
PKGCONFIGDIR=%{_libdir}/pkgconfig
%meson_install
rm -v %{buildroot}%{_libdir}/libapk.a
# remove spurious exec permissions from manpages
find %{buildroot}%{_mandir} -type f | xargs chmod -x
%check
%meson_test
%ldconfig_scriptlets -n %{libname}
%files
%license LICENSE
%doc README.md
%{_sbindir}/apk
%{_bindir}/apk
%{_mandir}/man8/apk.8%{?ext_man}
%{_mandir}/man[5,8]/apk-*.[5,8]%{?ext_man}
%{_datadir}/bash-completion/completions/_apk
%{python_sitearch}/apk.cpython-*.so
%files -n %{libname}
%{_libdir}/libapk.so.%{sover}*
@@ -107,7 +109,7 @@ find %{buildroot}%{_mandir} -type f | xargs chmod -x
%files -n apk-devel
%dir %{_includedir}/apk
%{_includedir}/apk/apk_*.h
%{_includedir}/apk/help.h
%{_includedir}/apk/adb.h
%{_libdir}/libapk.so
%{_libdir}/pkgconfig/apk.pc