summaryrefslogtreecommitdiff
path: root/src/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2020-08-25build: make soname explicit and simplify and fix soname linkTimo Teräs1-18/+10
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äs1-1/+1
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äs1-5/+15
fixes #10696
2020-05-06add script to autogenerate help from man pagesTimo Teräs1-1/+14
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-01build: fix includedir in pkgconfig fileRasmus Thomsen1-2/+2
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-03-16build: enable building of development packageRasmus Thomsen1-39/+67
- 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-14rename all iostream source to io_*.cTimo Teräs1-3/+4
2020-02-14rename all applets sources to app_*.cTimo Teräs1-3/+7
2019-12-30lua: fix build and update to lua5.3Timo Teräs1-1/+1
Fixes #8360
2018-01-28list: new appletWilliam Pitcock1-1/+1
The list applet provides a convenient way of inspecting both the available and installed package databases by listing their contents. In some ways, it is similar to `apk search` but is considered to be a superset of `apk search` functionality. A few `apk list` criterion are not yet ready though, such as `apk list --depends` which searches by runtime dependency (replacing `apk info --rdepends`).
2017-10-05build and use bundled libfetch nativelyTimo Teräs1-4/+7
2017-05-20manifest: new applet which dumps checksums in sha1sum format for a packageWilliam Pitcock1-1/+1
2016-07-06fix cross-compiling to pick right libfetch.aTimo Teräs1-1/+1
2016-06-13build: allow override compiler/linker flags for external libsNatanael Copa1-9/+11
Make it possible to individually override openssl, zlib and libfetch cflags and linker flags. This makes it possible to build apk-tools without having pkg-config installed.
2015-06-12add simple stats appletTimo Teräs1-1/+1
2014-10-08url: use libfetch to retrieve http/https/ftp filesTimo Teräs1-1/+2
2014-05-12finally fix building PIE binariesTimo Teräs1-2/+2
the dynamic applet registration never worked with PIE, and as a temporary hack -nopie was added to default link flags in 2008. this commit reworks the applet registration mechanism to something that is compatible with PIE, and removes the hack. finally!
2013-06-26build: lua module build fixesNatanael Copa1-2/+5
- do not link with -llua. We should not link apk or lua module with it. - default to lua 5.2 - allow override the lua version with LUA_VERSION - allow override the lua pkg-config package with LUA_PC - only add the pkg-config lua --cflags to the lua module
2013-06-18policy: new appletTimo Teräs1-1/+1
to show different versions of package and the repositories from which it is available from.
2013-06-13solver: rewrite as deductive solver -- core featuresTimo Teräs1-1/+1
Implementing basic dependency handling, install_if and awareness of pinning.
2012-03-28build: openssl seems to require -ldl for now, so add thatTimo Teräs1-0/+1
2012-02-28lua: fix bindings, and build by defaultTimo Teräs1-0/+1
2012-02-23test: rewrite the testing framework to use the real appletsTimo Teräs1-3/+6
also merge the expected output to the *.test files.
2011-09-16build: fix make install of shared lib and lua moduleNatanael Copa1-2/+2
2011-09-14build: support building lua module without shared libapkNatanael Copa1-3/+4
Use the build option SHARED_LIBAPK for building shared.
2011-09-13solver: add per-name specific flags, and fix the fix appletTimo Teräs1-1/+1
2011-09-09applets: start using solver codeTimo Teräs1-2/+2
still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
2011-08-05solver: move topology sorting to solver codeTimo Teräs1-1/+1
this allows quite some optimizations to running time and memory requirements.
2011-07-27Makefile: make it possible to override pkg-config via PKG_CONFIGNatanael Copa1-3/+4
2011-07-26solver: new package selection logic (which is not yet used)Timo Teräs1-3/+10
* basic code for a backtracking, forward checking dependency satisfier * works better when there are tricky dependencies to solve (when can't just upgrade everything to most preferred versions) * the new code always evaluates all of 'world' constraints (old code just does incremental updates based on heuristics) * is probably somewhat slower than old code (probably unnoticeable difference in most cases) * makes easier to write support for provides and repository pinning * test applet and a bunch of test cases added which uses the new code * from the old feature set install_if is not yet implemented
2011-07-24dot: applet to generate the dot attributed graph language filesTimo Teräs1-1/+1
This applet can be used to generate data for graphviz tools. Useful to visualize package dependencies, and possible errors in the repository. Usage examples: apk dot gnome-desktop | tred | dot -Tpng gnome-desktop.png -- to generate simplified dependency chart of gnome-desktop apk dot --errors | dot -Tpng index-errors.png -- to generate chart visualizing dependency errors in index
2010-06-30static build: do not use openssl enginesTimo Teräs1-1/+2
We want minimal static build. And this now also breaks with our openssl since it tries to automatically dlopen some of the engine modules.
2010-06-16Makefile: do not require lua pkgconfig unless you intend build lua moduleNatanael Copa1-5/+6
2010-06-14Makefile: Don't build or install the libapk and lua module by defaultNatanael Copa1-10/+29
Make the libapk and lua module optional at buildtime and off by default. This is because enabling libapk requires that mkinitfs also copies the libapk.so or the initramfs will not work. To build libapk: make LIBAPK=yes To build lua module (will enable LIBAPK=yes): make LUAAPK To link apk to libapk (will enable LIBAPK=yes): make SHARED_LIBAPK=yes All the above applies to make install target as well.
2010-06-11build: fix CFLAGS, and use pkg-config for luaTimo Teräs1-5/+4
2010-06-11lua: initial lua moduleNatanael Copa1-2/+10
2010-06-11First steps for libapkNatanael Copa1-7/+17
2010-06-05all: rework how arrays workTimo Teräs1-1/+1
Instead of having a null pointer, use a dummy array which just says the array is empty. This helps in multiple places of the code which would otherwise need explicitly need to check first if the array exists. This has been cause of multiple seg.faults in the past as the array check is easily omitted. This also removes (or fixes) all existing checks accordingly.
2009-08-04fix: new applet to reinstall and fix packageTimo Teras1-1/+1
also makes it possibly to upgrade package without adding it to top-level deps. fixes #69.
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-0/+1
this way we never change cwd, and relative filenames are always parsed consistently. this also helps filename construction in many places. this patch also changes '--root' to override location of all configuration to be in the new root. previously it depended on the file which one was used.
2009-07-29build: make install depend on main targetsTimo Teras1-1/+1
apparently the double colon rule dependencies affect only the specific rule-set.
2009-07-17verify: new applet (ref #46)Timo Teras1-1/+1
an utility to check package signature and integrity.
2009-07-08build: link zlib dynamically, use --as-neededTimo Teras1-3/+5
use pkgconfig of zlib instead of hard requiring it. and link in the pkg-config libs with --as-needed as not all of the openssl libs are really required.
2009-07-08csum: use openssl insteadTimo Teras1-3/+9
instead of having static md5 implemenation, use the openssl library for digest functions.
2009-06-29cache: new applet (ref #49)Timo Teras1-1/+1
Administrative tool to download or delete files to/from the cache.
2009-06-25upgrade: new appletTimo Teras1-1/+1
Currently just goes through all world dependencies and updates them where possible (ref #51).
2009-04-21Makefile: add -nopie to LDFLAGSNatanael Copa1-0/+1
2009-04-16db: cache index files, 'update' appletTimo Teras1-2/+2
Cache non-local index files always locally. Introduce 'update' applet to force refresh of cached index files. Fixes #19.
2009-04-16build: rewrite make system to something slightly similar to kbuildTimo Teras1-45/+12
Tracks now probler header file dependencies and command line parameters used to build files. E.g. changing CFLAGS rebuild all C-files. And changing version rebuild now the files where it's used.