summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* opkg_install_by_name: Support multiarch coinstallationfeature/multiarch-coinstallationP. J. McDermott2014-07-061-9/+43
| | | | Signed-off-by: P. J. McDermott <pj@pehjota.net>
* pkg_hash_fetch_installed_by_name_vec: New functionP. J. McDermott2014-07-052-0/+23
| | | | Signed-off-by: P. J. McDermott <pj@pehjota.net>
* Add architecture to package control file namesP. J. McDermott2014-07-053-0/+43
| | | | Signed-off-by: P. J. McDermott <pj@pehjota.net>
* configure.ac: Add --enable-multiarch optionP. J. McDermott2014-07-051-0/+10
| | | | Signed-off-by: P. J. McDermott <pj@pehjota.net>
* configure.ac: Bump version to 0.2.2v0.2.2Paul Barker2014-04-011-1/+1
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* NEWS: Prepare for releasePaul Barker2014-04-011-2/+2
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* NEWS: UpdatePaul Barker2014-03-181-0/+8
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* opkg-cl: Tidy alignment of help outputPaul Barker2014-03-181-55/+55
| | | | | | This improves the help output but it still needs a lot more work. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* opkg-cl: Arguments are globs not regexpsPaul Barker2014-03-182-23/+24
| | | | | | | | | | This patch fixes issue 107. The arguments taken by opkg are treated as shell-style globbing patterns, not as regular expressions. Both the manual page and the output of 'opkg --help' are changed to describe things correctly. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* opkg_remove: Differentiate between dirs and symlinks to dirsPaul Barker2014-03-181-1/+1
| | | | | | | Calling rmdir() on a symlink to a directory won't work so check whether something is a symlink before adding to to the list of installed dirs. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* file_util: Add file_is_symlink functionPaul Barker2014-03-182-0/+12
| | | | | | This function should be pretty self explanatory Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* pkg_hash: Fix invalid architecture noticesPaul Barker2014-03-181-1/+9
| | | | | | | | If pkg->architecture is NULL, the message "no valid architecture" is correct. However if pkg->architecture is not NULL but pkg->arch_priority is zero, then the architecture is valid but is not compatible with the current system. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* NEWS: UpdatePaul Barker2014-03-011-0/+6
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* opkg_install_check_downgrade: Refactor and improvePaul Barker2014-02-231-51/+70
| | | | | | | This function is tidied up and handling for force_reinstall is added so that the correct message is printed. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* opkg_prepare_url_for_install: Handle force_reinstall as upgradePaul Barker2014-02-232-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | The best way to handle force_reinstall is to make the reinstall look like an upgrade - because we already have a good package upgrade path. With the new per package force_reinstall flag this is now possible. In opkg_prepare_url_for_install, we set the per-package force_reinstall flag for the given package. As this function is only called for packages explicitly specified as arguments to 'opkg install' or 'opkg_install_package', the flag will only be applied to the indended packages. If a package name is given which exists in a package feed then we need to cheat a little. We lookup the package in the feed and get its local filename and then act as if that path were given as a URL. This function is the best place to handle the force_reinstall flag as it is responsible for setting the package hash table up so that pkg_hash_fetch_best_installation_candidate_by_name() returns the intended pacakge. The old logic in opkg_install_cmd which calls opkg_remove_cmd to remove the previously installed package is no longer needed and is removed. This solves issue #71 without causing a regression on issue #51. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* pkg: Add per-package force_reinstall flagPaul Barker2014-02-232-17/+27
| | | | | | | | | | | This flag allows two package object to share the same version information but be distinguishable from each other. It is never stored on disk or reported to the user but is used when comparing package versions. A new function, pkg_compare_versions_no_reinstall(), is added to compare versions without caring about this force_reinstall flag. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* configure.ac: Bump version to 0.2.2-SNAPSHOTPaul Barker2014-02-231-1/+1
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* Bump version to 0.2.1v0.2.1Paul Barker2014-02-091-1/+1
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* Makefile.am: Include 'CONTRIBUTING' in distPaul Barker2014-02-091-1/+1
| | | | | | | The automake file was not updated when 'CONTRIBUTORS' was merged into 'AUTHORS' and 'CONTRIBUTING' was added. This is fixed now. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* .gitignore: Fix ignore of stamp-h1Paul Barker2013-12-201-3/+2
| | | | | | | stamp-h1 moved with config.h to the top source directory but the ignore was still for libopkg/stamp-h1 Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* NEWS: Updated for 0.2.1 releasePaul Barker2013-12-171-0/+10
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* CONTRIBUTING: New guidelines for contributorsPaul Barker2013-12-171-0/+155
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* README: Updated with link to git repositoryPaul Barker2013-12-171-0/+1
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* ChangeLog: Update for the move to gitPaul Barker2013-12-171-1/+1
| | | | | | We now reference `git log` not `svn log`. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* AUTHORS: Update and merge CONTRIBUTORS filePaul Barker2013-12-172-37/+47
| | | | | | | The AUTHORS file is converted to Markdown format so that it can be easily rendered into other formats like HTML as required. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* .gitignore: Update for movement of config.hPaul Barker2013-12-171-2/+4
| | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* libopkg: cleanup inside the public header filesCarsten Schoenert2013-12-1736-107/+96
| | | | | | | | | | | | No functional changes! Just a cleanup like whitespaces, blank lines, tabs and reformating lines longer 76 characters. Also adding the missed comments at the closing bracket from the #ifndef HEADER_FOO_H ... #endif loop. This helps to identify the associated preprocessor elements like theay already exits in some files. Signed-off-by: Carsten Schoenert <c.schoenert@gmail.com> Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* libopkg: ensure symbol name mangling for C++Carsten Schoenert2013-12-1738-0/+299
| | | | | | | | | Users who use C++ code for theirs application have always to include external C functions with a 'extern "C" { }' assignment. We can take that need from the user by putting thees assignments into the public header files. Signed-off-by: Carsten Schoenert <c.schoenert@gmail.com> Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* Revert "Makefile.am: Remove libopkg/config.h from distribution archive"Paul Barker2013-12-171-9/+0
| | | | | | | | This reverts commit 1626f26e15b0e52fde34348f36e114a954a66565. The 'opkg-dist' and 'opkg-distdir' targets are no longer needed. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* config.h: remove needless inclusion in the libopkg header filesCarsten Schoenert2013-12-173-5/+0
| | | | | | | | | | There is no usage of variables from config.h inside the libopkg header files. If so it's wrong because the header files from the libopkg directory are installed to the target system and there is no config.h inside the installed directory. Signed-off-by: Carsten Schoenert <c.schoenert@gmail.com> Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* configure.ac: moving config.h to $(top_srcdir)Carsten Schoenert2013-12-171-1/+1
| | | | | | | | The generated config.h header doesn't belong to the libopkg directory so we can move it out there. Signed-off-by: Carsten Schoenert <c.schoenert@gmail.com> Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* libopkg: Don't install opkg_pathfinder.hPaul Barker2013-12-171-1/+42
| | | | | | | | | | opkg_pathfinder.h is an internal header and shouldn't be used by applications which link against libopkg. It is much simpler to make this decision and allow the header to check flags defined in config.h than to make it independent of config.h. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Cc: Carsten Schoenert <c.schoenert@gmail.com>
* libopkg: Drop config checks from structures in headersPaul Barker2013-12-173-9/+8
| | | | | | | | | Ensure that all structures are always the same size, regardless of configuration options so that applications which use libopkg don't need to be rebuilt if configuration options are changed. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Cc: Carsten Schoenert <c.schoenert@gmail.com>
* opkg_download: Drop config check from headerPaul Barker2013-12-172-3/+10
| | | | | | | | | | The function 'opkg_curl_cleanup' is unconditionally defined in the header and is implemented as an empty stub in the source file if curl is not enabled. This allows us to present a consistent API regardless of the configure options used to build opkg. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Cc: Carsten Schoenert <c.schoenert@gmail.com>
* configure.ac: Bump version to 0.2.1-SNAPSHOTPaul Barker2013-12-171-1/+1
| | | | | | | This ensures that git checkouts report a different version to the release tarball. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* NEWS: Added release notes for v0.2.0v0.2.0paul.betafive@gmail.com2013-09-131-0/+5
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@704 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Bump version to 0.2.0paul.betafive@gmail.com2013-09-131-1/+1
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@703 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* NEWS: Added release notes for v0.2.0-rc2v0.2.0-rc2paul.betafive@gmail.com2013-08-171-0/+6
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@665 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Bump version to 0.2.0-rc2paul.betafive@gmail.com2013-08-171-1/+1
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@664 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Makefile.am: Remove libopkg/config.h from distribution archivepaul.betafive@gmail.com2013-08-171-0/+9
| | | | | | | | | | | | A new target is added, opkg-dist, which creates a .tar.gz distribution archive without the file libopkg/config.h. This is a bit of a hack and is a temporary solution. The real solution will be to ensure config.h is not installed and not needed by public API headers. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@663 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Bump version to 0.2.0-rc1v0.2.0-rc1paul.betafive@gmail.com2013-08-151-1/+1
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@658 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Branch for v0.2 release seriespaul.betafive@gmail.com2013-08-150-0/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/branches/opkg-0.2.x@657 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg_install.c: Fix typopaul.betafive@gmail.com2013-08-111-1/+1
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@656 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* NEWS: Added initial release notes for 0.2.0-rc1paul.betafive@gmail.com2013-08-101-0/+29
| | | | | | Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@655 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Makefile.am: Add missing files to EXTRA_DISTpaul.betafive@gmail.com2013-08-101-1/+1
| | | | | | | | | Important files were missing in the distribution directory after 'make distdir', adding them to EXTRA_DIST fixes this. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@654 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* configure.ac: Revert accidental change to config header pathpaul.betafive@gmail.com2013-08-051-1/+1
| | | | | | | | | The change to the AC_CONFIG_HEADERS line shouldn't have been part of the previous commit. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@653 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* sha256: Switch to GPLv2+ codepaul.betafive@gmail.com2013-08-053-50/+39
| | | | | | | | | There's no need to use a GPLv3+ licensed sha256 implementation when a GPLv2+ licensed implementation exists in coreutils-6.9. Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@652 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Replace obsolete automake macropaul.betafive@gmail.com2013-08-021-1/+1
| | | | | | | Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> Signed-off-by: Paul Barker <paul@paulbarker.me.uk> git-svn-id: http://opkg.googlecode.com/svn/trunk@651 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Apply patch by Paul Barker <paul@paulbarker.me.uk>florian.boor@gmail.com2013-06-281-1/+1
| | | | | | | | | | | | | Fix libopkg header installation. When opkg is built outside the source directory, libopkg headers aren't all installed as the search path for headers only includes the directory that make is being ran in, not the source directory. So we fix this by adding $(srcdir)/*.h to the list of header files to install. git-svn-id: http://opkg.googlecode.com/svn/trunk@650 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* update-alternatives: use 'ln -n'pixdamix@gmail.com2012-11-221-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the '-n' option (--no-dereference) is a better way to solve the do-not-link-into-directory issue. Using only 'ln -sf' can cause problems on SELinux enabled hosts when target is inaccessible; e.g. when preparing an offline rootsystem: | $ cd <offline root> | $ ln -sf /lib/systemd/systemd sbin/init # alternative #1 | $ ln -sf /bin/busybox sbin/init # alternative #2 | ln: accessing `sbin/init': Permission denied | | --> strace: | brk(0) = 0x102b000 | stat("sbin/init", 0x7fffaa91c900) = -1 EACCES (Permission denied) | ... | exit_group(1) = ? Now with '-n': | $ ln -snf /bin/busybox sbin/init | lstat("sbin/init", {st_mode=S_IFLNK|0777, st_size=20, ...}) = 0 | lstat("sbin/init", {st_mode=S_IFLNK|0777, st_size=20, ...}) = 0 | stat("/bin/busybox", 0x7fff8c1a3bd0) = -1 ENOENT (No such file or directory) | symlink("/bin/busybox", "sbin/init") = -1 EEXIST (File exists) | unlink("sbin/init") = 0 | symlink("/bin/busybox", "sbin/init") = 0 The '-n' flag is well supported (coreutils have it at least since 1999, busybox at least since 0.60.3 (2002)) and it obsoletes the explicit check whether target is a directory. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> git-svn-id: http://opkg.googlecode.com/svn/trunk@649 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358