summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* _alpm_filelist_resolve: use original filenames where possibleAndrew Gregory2012-12-14
| | | | | | | | If a filename isn't resolved, the original can be used instead of strdup()ing it. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* Add _alpm_filelist_resolveAndrew Gregory2012-12-14
| | | | | | | | The _alpm_filelist_resolve function takes a filelist and creates a list with any symlinks in directory paths resolved. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* Add resolved_path to alpm_filelist_tAllan McRae2012-12-14
| | | | | | | | Add an array to hold the resolved paths of the files in alpm_filelist_t. When the file name and its resolved file name are identical, the pointer to the original file name is used to avoid duplicate memory allocation. Signed-off-by: Allan McRae <allan@archlinux.org>
* Detect inter-package conflicts between files and directoriesAllan McRae2012-12-14
| | | | | | | | | | | | Detect a conflict between a file/symlink in one package and a directory in another when both are being installed at once. A side effect is the creation of conflicts between a directory symlink and a real directory (e.g lib -> usr/lib in pkg1 and /lib in pkg2). Given we can not guarantee pkg1 is installed before pkg2, this is a genuine conflict. Signed-off-by: Allan McRae <allan@archlinux.org>
* pactest: Provide a full filelist to the pactests that need itAllan McRae2012-12-14
| | | | | | | | | | It turns out when you set the filelist for a package to include "usr/lib/foo" in the pactest suite, it thinks there is only the file "usr/lib/foo" in there... No "usr/" or "usr/lib/" directory. This makes life difficult when testing code that scrolls through a filelist looking for directory entries. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: install debug symbol packages if requestedAllan McRae2012-11-27
| | | | | | | When using "makepkg -i", install the debugging symbol packages too if present. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: assign debugging symbol directory to a variableAllan McRae2012-11-27
| | | | | | Simplifies the stripping of files a lot. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: allow debug package suffix to be configurableAllan McRae2012-11-27
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: create package from stripped debug symbolsAllan McRae2012-11-27
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: output the name of the package being createdAllan McRae2012-11-27
| | | | | | | | | | Although it should be currently quite obvious what package is being created when "Creating package..." is printed, it will not be in the future when a debug package is potentially created too. Also, given $pkgname is always correctly set when split packaging now, we no longer need to pass that around. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: strip debugging symbols into separate folderAllan McRae2012-11-27
| | | | | | | | | | | When using the "debug" option in combination with "strip", move the debugging symbols into a separate directory ($pkgdir-debug/usr/lib/debug) suitable for creating a package from. Create hardlinks between debugging symbols of hardlinked files and add symlinks in the .build_id directory if the binary has a build ID. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: always use pkg/$pkgname as $pkgdirAllan McRae2012-11-27
| | | | | | | | Unify split and single packages to always use a folder within pkg/ as thier $pkgdir. This will allow a folder for storing a package with stripped debug symbols to be added within pkg/ too. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: move debug symbol stripping to separate functionAllan McRae2012-11-27
| | | | | | | Move stripping of files to a spearate function that will be expanded for the handling of creating debug symbol packages. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add option to include debugging compiler flagsAllan McRae2012-11-27
| | | | | | | | Add a "debug" option that appends the compiler flags specified in the variables DEBUG_CFLAGS and DEBUG_CXXFLAGS in makepkg.conf to their counterpart buildflags. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: always run tidy_install on repackagingAllan McRae2012-11-27
| | | | | | | | | | When using "makepkg -R" without a packge function, we should still run tidy_install as the user might have added other packaging options such as (e.g.) '!emptydir' to remove empty directories on repackaging. Of course we can not revert some options when repackaging without a package function. Signed-off-by: Allan McRae <allan@archlinux.org>
* pactree: unindent first limbAndrew Gregory2012-11-27
| | | | | | | | Removing the leader for the toplevel package shifted the name left but not it's limb. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* pactree: unify output between utf8 and asciiDave Reisner2012-11-27
| | | | | | | | | Ensure that both output formats have equal spacing, and therefore an equivalent layout. This change also removes the styling from the toplevel package being searched for. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* pactree: fix style violationsDave Reisner2012-11-27
| | | | | | | | Stick to c89 and avoid mixed code and declarations, and always brace block statements, even if they're only 1 line. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* pactree: autodetect and use unicode line drawing charactersDave Reisner2012-11-27
| | | | | | | | | | Add a compile time check for langinfo.h so that we can possibly use unicode line drawing characters if the current locale is supportive of them. This can be explicitly disabled at runtime with the use of a new switch: -a, --ascii. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* pactree: style last branch node differentlyAndrew Gregory2012-11-27
| | | | | | | | | | | | | | | | | Also removes the less helpful provides-specific branch tip. Old: New: |--pkg |--pkg +--dep1 provides dep5 |--dep1 provides dep5 | |--dep2 | `--dep2 |--dep3 `--dep3 |--dep4 `--dep4 [dreisner@archlinux.org: switch original suggestion of \-- to `--] Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* pactree: fix --sync getopt valueAndrew Gregory2012-11-27
| | | | | | | The long --sync options has apparently never worked. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* Add --needed option to makepkgwgiokas2012-11-27
| | | | | | | | | | | | Simply add the option to pass the --needed flag to pacman when using -i with makepkg. When using makepkg in scripts, particularly for git packages with the new version functions and not just a date, this can save disk io and time instead of reinstalling. This would mostly be useful with the --noconfirm option. Signed-off-by: wgiokas <1007380@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* Use sentence case in makepkgJason St. John2012-11-27
| | | | | | | | Most of makepkg already uses sentence case. This cleans up the last few stragglers. Signed-off-by: Jason St. John <jstjohn@purdue.edu> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: save path to PACMAN and test availabilityAllan McRae2012-11-27
| | | | | | | | | | | | After we install dependencies, we source /etc/profile so that new elements get added to the path. As this can override any local setting of PATH, we store the full path of the PACMAN variable passed to makepkg. Also, add a check for PACMAN availability if it is needed to deal with any dependency operations. Reported-by: Martin Panter <vadmium à gmail·com> Signed-off-by: Allan McRae <allan@archlinux.org>
* Remove last traces of handling command arguments in $PACMANMartin Panter2012-11-27
| | | | | | | | | | | | | | | This resolves an inconsistency with how the $PACMAN variable was interpreted. Previously “makepkg” would extract the first word from the $PACMAN variable and check that it existed as a command. This appears to have been happening ever since the variable was implemented in revision 66c6d28 (makepkg: allow to specify an alternative pacman command). Thus it looks like command arguments were originally allowed in the variable. However the run_pacman() function now quotes $PACMAN, so the whole variable has to be just the command name. This quoting was introduced more recently, perhaps in revision 622326b (makepkg: fix sudo/su calling of pacman). Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: fix signing built packageChristian Hesse2012-11-27
| | | | | | Fixes issue introduced in 9dd42dc0 Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: deprecate PKGBUILDs without a package() functionAllan McRae2012-11-27
| | | | | | | | | The package() function has been around since pacman-3.3 and has significant advantages including limited fakeroot usage and correct repackaging. The ability to use PKGBUILDs without a package function will be removed in a future release. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: print "SKIP" for signature checksumsAllan McRae2012-11-27
| | | | | | | | | | | | There are valid reasons for a source files PGP signature to be changed (expired key, expired signature, additional person signing...). Thus providing a checksum for signature files can potentially cause a PKGBUILD to require unnecessary updating. Avoid this issue by using "SKIP" for the signature checksum. Fixes FS#31590. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: use last match in BUILDENV/OPTIONS arrayAllan McRae2012-11-27
| | | | | | | | | | Using the last match in the BUILDENV and OPTIONS arrays allows the user to easily override these values without specifying the entire array. For example add "BUILDENV+=(sign)" in ~/.makepkg.conf. Fixes FS#26701. Signed-off-by: Allan McRae <allan@archlinux.org>
* pacman: add -n/--native filter to -QSimon Gomizelj2012-11-27
| | | | | Signed-off-by: Simon Gomizelj <simongmzlj@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* doc: PKGBUILD.5 - fix output of bzr commandAllan McRae2012-11-27
| | | | | | | Add quotes around 'bzr help revisionspec' to make it clearer that this is a command to be run. Signed-off-by: Allan McRae <allan@archlinux.org>
* fixed erroneous memory access to newurl in alpm_db_remove_serverPaul Barbu Gheorghe2012-11-27
| | | | | Signed-off-by: Barbu Paul - Gheorghe <barbu.paul.gheorghe@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* repo-add: quote filename for consistent output styleAllan McRae2012-11-27
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* etc/Makefile: simplify build rule for conf filesDave Reisner2012-11-27
| | | | | | | | This lets us define the build rule and the dependency all at once, and additionally removes the need for an intermediate temp file. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* buildsys: eschew use of DEFS, prefer AM_CPPFLAGSDave Reisner2012-11-27
| | | | | | | This is redundant, and any usage of -D should belong to CPPFLAGS. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* configure.ac: cleanup duplication in --enable-git-versionDave Reisner2012-11-27
| | | | | | | | | Avoid adding our own messaging, as autoconf will add this for us with the result of the AC_CHECK_FILE test. Reuse the cache variable from autoconf to set our local variable. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* m4/po.m4: Remove use of deprecated macroAllan McRae2012-11-27
| | | | | | Switch from AM_PROG_MKDIR_P to AC_PROG_MKDIR_P to avoid automake warning. Signed-off-by: Allan McRae <allan@archlinux.org>
* Fix thinko in configure.ac CFLAGS empty checkingDan McGee2012-11-27
| | | | | | | | | | Since commit d2669b47, CFLAGS specified on the command line haven't been respected at all, resulting in no optimization being applied to builds. This exposed one warning flag issue in some new code, which is also fixed here. Signed-off-by: Dan McGee <dan@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* Fix typo in acinclude.m4 fs_old_*flagsDan McGee2012-11-27
| | | | | | | Introduced in commit d2669b47. Signed-off-by: Dan McGee <dan@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: fix incorrect bracket usageAllan McRae2012-09-18
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Add Bazaar VCS supportGary van der Merwe2012-09-18
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: fix order of --help outputAllan McRae2012-09-18
| | | | | | Small alphabeticalization issue in options passable to pacman. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: allow fragment to contain a "#" characterAllan McRae2012-09-18
| | | | | | | The frament element of a vcs url may contain the "#" charcter in the (e.g) branch or tag name. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: always check makepkg.conf for match to download protocolAllan McRae2012-09-18
| | | | | | | | | The list of which download protocol should look in makepkg.conf for the download agent was hard coded into makepkg. Instead, fallback to checking the the download agents array for any non-local or (implemented) vcs source. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: do not embed timestamps in compressed manpagesAllan McRae2012-09-18
| | | | | | | This will make the checksum of man pages match across architectures despite different build times. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: check if hg and svn directories are non-empty before updatingAllan McRae2012-09-18
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: do not create hg working directory on checkoutAllan McRae2012-09-18
| | | | | | | Creating the working directory can waste a lot of space. Fixes FS#31221. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: Improvements to get_filename:Gary van der Merwe2012-09-18
| | | | | | | | * For any vcs other that git, the fall through resulted in being handled by the code for std url, hence fragments were being left on. * Handle vcs urls than end in a slash correctly, eg http://example.com/project/ Signed-off-by: Gary van der Merwe <garyvdm@gmail.com>
* makepkg: check if $dir is a local clone of the right git repoMohammad Alsaleh2012-09-18
| | | | | | | | | | | | | | | | Before this patch, makepkg does not check if $dir is a local clone of the right repo. For example, git fetch would be run even if $dir is not a local bare clone of a git repo in present in source(), but a subdir of a checked-out one. That means makepkg can potentially fetch from a completely unrelated remote and update completely unrelated dirs/files. This patch adds a check to make sure we are fetching from the right remote. Signed-off-by: Mohammad Alsaleh <msal@i2pmail.org>
* makepkg: git clone instead of git fetch if $dir exists but emptyMohammad Alsaleh2012-09-18
| | | | | | | | | | | Before this patch, makepkg would only check if $dir exists as an indication that a local clone exists. And if $dir does exist, makepkg will run git fetch inside it unconditionally. After applying this patch, makepkg will check if the existent $dir is empty. And if it is, it will be used to store a local clone. Signed-off-by: Mohammad Alsaleh <msal@i2pmail.org>