summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-28Implement upgrade --prune to remove stale world dependenciesTimo Teräs4-6/+68
2020-08-29database: clarify the deprecation notice for checksum-less packagesAriadne Conill1-3/+7
Closes #10708.
2020-08-29update mailmap with my newer emailAriadne Conill1-0/+2
2020-08-26fix --repository short option to be -X as beforeTimo Teräs1-1/+1
unintentional regression from commit edb45ae464 fixes #10707
2020-08-25build: make soname explicit and simplify and fix soname linkTimo Teräs1-18/+10
2020-08-25apk-tools-2.12.0_rc1v2.12.0_rc1Timo Teräs2-1/+3
2020-08-24fix, simplify and document upgrade --ignoreTimo Teräs5-31/+24
2020-08-24solver: add more dbg_printfsOliver Smith1-19/+62
2020-08-24enforce options definitions to bind the enum and the descriptorTimo Teräs15-288/+175
This uses some macro trickery to make sure that there's one-to-one mapping with the option index enum and the descriptor. The down side is that enum's are generated via #define's and editors might not pick them up for auto completion, but the benefits are more: it's no longer possible have mismatching enum value and descriptor index, and the amount of source code lines is less.
2020-07-30test: add test for granular upgradeAriadne Conill3-0/+31
2020-07-30upgrade: allow for specified package upgradesAriadne Conill2-1/+23
Fixes #10667 and #10700
2020-05-29libfetch: implement default port for HTTPS.Ariadne Conill2-0/+3
If getservbyname() fails, libfetch will attempt to connect to port 0.
2020-05-28gitignore: add generated help.h headerAriadne Conill1-0/+1
2020-05-27database: create additional device nodes when initializing root fsAriadne Conill1-0/+4
Some triggers and maintainer scripts depend on /dev/random, /dev/urandom, /dev/zero and /dev/console.
2020-05-19fix logic to not compile lua module when it was not askedFredrik Gustafsson1-1/+1
fixes 12fdf6fc "allow building without help..."
2020-05-19make the atom functions not use global stateTimo Teräs24-179/+185
This greatly helps with memory management on applications that may want to daemonize and open/close database several times. Also the lifetime and "owner" of memory for all data is now explicitly bound to owning struct apk_database, which might be helpful when writing language bindings. As side effect, the interned "atoms" are unique only within what apk_database, so comparing packages from different apk_database may not work as expected. Fixes #10697
2020-05-19allow building without help when lua interpreter is not availableTimo Teräs2-6/+21
fixes #10696
2020-05-17Merge branch 'add-riscv-arch-defines' into 'master'Timo Teräs1-0/+4
define APK_DEFAULT_ARCH for riscv32 and riscv64 targets See merge request alpine/apk-tools!26
2020-05-17define APK_DEFAULT_ARCH for riscv32 and riscv64 targetsAriadne Conill1-0/+4
2020-05-07fix apk_blob_pull_csum to always initialize apk_checksumTimo Teräs1-9/+6
Fixes #10686 to not use uninitialized value in the error paths.
2020-05-07use SPDX-License-Identifier in source filesTBK49-141/+65
2020-05-07add LICENSETBK1-0/+319
2020-05-06index: add argument --no-warningsFredrik Gustafsson2-1/+16
When creating an index apk warns if a dependency is missing a provider. However when using a multi-arch repository, it's not an error that a certain architecture is missing a dependency because that dependency could be in an other architecture. Since apk index doesn't know about this, add an argument to disable that warning. Maintainer note: rebased for new option handling, and minor stylistic adjustments. Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com>
2020-05-06rewrite option descriptors to be single stringTimo Teräs16-435/+563
This reduces the number of relocations on PIE binaries, and also reduces the executable size. Parsing of the options is slightly sped up as only the exact matching option group parser is called.
2020-05-06man pages: make more friendly for help generationTimo Teräs12-74/+132
Also few minor fixups added.
2020-05-06add script to autogenerate help from man pagesTimo Teräs24-111/+385
This creates main help like: -- usage: apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...] Package installation and removal: add Add packages to WORLD and commit changes del Remove packages from WORLD and commit changes System maintenance: fix Check WORLD against the system and ensure consistency update Update repository indexes upgrade Install upgrades available from repositories cache Commands related to the management of an offline package cache Querying package information: info Give detailed information about packages or repositories list List packages matching a pattern or other criteria dot Generate graphviz graphs policy Show repository policy for packages Repository maintenance: index Create repository index file from packages fetch Download packages from global repositories to a local directory manifest Show checksums of package contents verify Verify package integrity and signature Miscellaneous: audit Audit directories for changes stats Show statistics about repositories and installations version Compare package versions or perform tests on version strings This apk has coffee making abilities. -- And applet specific help like: -- usage: apk add [<OPTIONS>...] PACKAGES... Description: apk add adds the requested packages to WORLD and installs (or upgrades) them if not already present, ensuring all dependencies are met. Options: --initdb Initialize a new package database -l, --latest Disables normal heuristics for choosing which repository to install a -u, --upgrade When adding packages which are already installed, upgrade them rather -t, --virtual NAME Instead of adding the specified packages to WORLD, create a new --no-chown Do not change file owner or group --
2020-04-28apk: do not manage file ownership as non-root or when asked soFredrik Gustafsson6-15/+40
If apk is run as a non-root user, it's not possible to chown files. Maintainers note: minor wording changes on commit log and man page. Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com>
2020-04-24man pages: fix apk-del section in the main indexTimo Teräs1-1/+1
2020-04-21man pages: format email addresses consistentlyFredrik Gustafsson22-22/+22
Some email addresses was underlined and some wasn't. Remove underline from all email addresses to be consistent. The reason for chosing no underline is that the email address isn't clickable and to be consistent with the output from git log.
2020-04-01build: fix includedir in pkgconfig fileRasmus Thomsen3-4/+4
We want to include via <apk/$headerfile> and not via <$headerfile>, so we want to add an include statement for the dir the apk folder which contains the headers is contained in.
2020-04-01libfetch: fix no_proxy domain name comparisionTimo Teräs1-1/+1
Fix comparing of the hostname portion that matches exactly. The no_proxy matching is pretty rudimentary though and probably could go through a bit of additional rework. Fixes #10681
2020-04-01db: fix database reading without scripts or triggersTimo Teräs1-6/+10
Most notably this happens after blank database is initialized with --initdb, but can happen also in other conditions. The error checking changes modified behaviour if the file does not exist. Explicitly check for ENOENT and ignore it. But the behaviour is improved from earlier as now e.g. EPERM will be detected and reported correctly. Fixes #10679 Fixes: 6da3e8eb15 "istream, archive, db: convert db and tar function to use istream"
2020-03-25libfetch: fixups to packetization socket option settingTimo Teräs1-26/+22
- split the code to a helper function - do not set sockets to corked state when putting back to cache so socket state is always deterministic - cork/uncork also when sending CONNECT to a proxy, this can reduce a little bit the latency how fast the packet gets sent out - also pair corking with uncorking in http_request to make it more obvious pairing
2020-03-25libfetch: minor HTTP handling improvementAlexander Wauck1-5/+2
The recent TCP_CORK change missed this bit of code. This change should improve performance a bit when making HTTP requests by calling http_cmd only once instead of three times.
2020-03-23build: add apk.pc.inRasmus Thomsen1-0/+10
2020-03-23build: inspect GitLab CI variables for version stringTimo Teräs1-3/+9
2020-03-23build: fix 'make check' for libfetchTimo Teräs1-0/+2
2020-03-21lower min-width to 25 columnsAntoine Fontaine1-1/+1
Some screen size are quite small. For example, the default phosh terminal is less than 50 character wide on Pinephone. This lowers the minimum loading bar size to 25 characters. For comparison, 25 character wide is just as wide as "apk add firefox linux-lts" without the quotes. Here's a bad picture to illustrate the result gitlab.alpine.org/uploads/48c20f746fbf685b62b6bd73585ecbf2/pinephone-phosh.png
2020-03-21fix glibc buildTBK1-0/+1
fixes #10677 src/apk_defines.h:152:15: error: unknown type name 'uint32_t' static inline uint32_t get_unaligned32(const void *ptr) ^~~~~~~~
2020-03-16build: enable building of development packageRasmus Thomsen4-49/+102
- always create .so and .a with the apk libary code - create .pc file - install headers and above mentioned files Maintainers edit: merged commits, cleaned up sed script logic, and few other minor fixes.
2020-02-23readme: fix name of doc directoryJakub Jirutka1-1/+1
I'm sorry about that. :/
2020-02-23readme: rename to .md and add some contentJakub Jirutka2-0/+5
2020-02-23remove empty NEWSJakub Jirutka1-0/+0
2020-02-23fix test6.sh - linux-vanilla was renamed to linux-lts in v3.11Jakub Jirutka1-3/+3
2020-02-21db: fix unaligned memory access in csum_hash()Timo Teräs3-11/+13
2020-02-18libfetch: support TCP_CORKTimo Teräs1-23/+22
Unfortunately libfetch operates on raw sockets and is sending each HTTP request line using separate syscall which causes the HTTP request to be sent as multiple packets over the wire in most configurations. This is not good for performance, but can also cause subtle breakage if there's DPI firewall that does not get the Host header. Incidentally, it seems that on BSDs libfetch already sets TCP_NOPUSH optimize the packetization. This commit adds same logic for using TCP_CORK if available. When using TCP_CORK there is no requirement to set TCP_NODELAY as uncorking will also cause immediate send. Keep TCP_NODELAY in the fallback codepaths. Long term, it might make sense to replace or rewrite libfetch to use application level buffering.
2020-02-17fix murmur3 hash unaligned memory accessTimo Teräs1-29/+39
- do not do unaligned accesses on non-x86 hardware - clean up the code a little bit
2020-02-14rename all iostream source to io_*.cTimo Teräs4-6/+7
2020-02-14rename all applets sources to app_*.cTimo Teräs19-21/+25
2020-02-14io: add stream copy helperTimo Teräs3-8/+37