summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAge
* 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>
* makepkg: fix warnings with --noextractAllan McRae2012-09-18
| | | | | | | | | Three warnings after someone deliberately typed --noextract is a tad excessive... Also, an empty $srcdir is perfectly valid when the source array is empty, although using --noextact then is wasteful. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: implement dir_is_empty for dir content checksDave Reisner2012-09-18
| | | | | | | Rather than calling upon ls for this, use a proper shell function which uses globbing to determine the existance of files in a directory. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* pkgdelta: pass correct args to create_deltaDave Reisner2012-09-18
| | | | | | | | Somewhere in the arg parse refactoring, the args array went away and we simply stashed our remaining parameters as positionals. Fix this up so that pkgdelta doesn't mysteriously hang in read_pkginfo(). Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* makepkg: delay checking for build package with pkgver()Allan McRae2012-08-04
| | | | | | | If a pkgver() function is specified, delay checking the package is built until the pkgver is updated.. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add hg url supportAllan McRae2012-08-04
| | | | | | Supported fragments are branch, revision and tag. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: check pkgver validity after updatingAllan McRae2012-08-04
| | | | | | | If a PKGBUILD has a pkgver() function, skip checking the pkgver validity until it has been updated. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: only update pkgver when all sources are availableAllan McRae2012-08-04
| | | | Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add --holdver to control VCS source updatingAllan McRae2012-08-04
| | | | | | | Do not update VCS sources if --holdver is used. If the VCS checkout is not present, it will still be downloaded. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: do not download VCS sources unless neededAllan McRae2012-08-04
| | | | | | | | VCS sources are not needed for --geninteg or --source operations. This also prevents VCS downloads outputting to stdout, which prevented piping -g output to the PKGBUILD. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: rename myverAllan McRae2012-08-04
| | | | | | myver is a bit generic for an internal variable name. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add support for SVN urlsAllan McRae2012-08-04
| | | | | | | | | | | Allow SVN repo sources in the form: source=("<folder>::<repo>#<fragment>") where <repo> must start with svn (e.g svn+http://) and a <fragment> can specify a revision (e.g. revision=22). Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: provide mechanism for auto-updating pkgverAllan McRae2012-08-04
| | | | | | | | | | | | | | | Now that VCS repos are provided in the source array, it becomes too complicated to have automatic updating pkgver as was the case with the old VCS PKGBUILDs (there can be multiple repos of different types in the source array, the VCS repo may not be the package primary source, etc). Instead provide an optional way for a PKGBUILD to update the pkgver value through the specifing of a pkgver() function that returns the new version string. This is run after all source files are downloaded so can access the VCS repo if needed. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: modify get_filepath to handle VCS sourcesAllan McRae2012-08-04
| | | | | | | | With VCS sources, get_filepath should return the directory of the checkout. This allows backing up of the VCS checkout when using --allsource. Fixes FS#21098. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: modify get_filename to handle VCS sourcesAllan McRae2012-08-04
| | | | | | | Modify get_filename to return the name of the folder with VCS sources. This fixes output issues in checksum checking. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: fix checksum generation with VCS sourcesAllan McRae2012-08-04
| | | | | | VCS sources should have "SKIP" for their checksum value Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: allow using GIT source URLsAllan McRae2012-08-04
| | | | | | | | | | | | | | | | | Allow specifing GIT sources using the following syntax source=('<folder>::<repo>#<fragment>') This will download the git repo <repo> into <folder> (into $SRCDIR if set, otherwise $startdir). <repo> must start with "git", but non-git protocols are handled using (e.g.) "git+http://...". The <fragment> can be used to specify a branch, tag, or commit to build from. e.g. branch=maint. Checksum entries for git sources should be "SKIP". Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: skip integrity checking earlyAllan McRae2012-08-04
| | | | | | | | | If "SKIP" is provided for an integrity check, abort checking as soon as possible. Also swap fork to tr for bash4 conversion. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: generalize download_sourcesAllan McRae2012-08-04
| | | | | | | | | | | In order to treat all VCS sources as URLs, we need to be able to deal with more protocols. Rewrite download_sources to use a case statement so additional protocols are easily added. Also fix the use of scp to not pass the protocol in the URL (noticed by William J. Bowman <wjb@williamjbowman.com>) Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: add function to return download protocolAllan McRae2012-08-04
| | | | | | | Extract the download protocol from a source entry. Returns "local" for local source files. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: reorder source handling functionsAllan McRae2012-08-04
| | | | | | | There is no actual code change here, but these related functions were all over the place which makes this code difficult to adjust. Signed-off-by: Allan McRae <allan@archlinux.org>
* makepkg: remove VCS package supportAllan McRae2012-08-04
| | | | | | | The current VCS packaging support is really, really, really bad. It is best to strip it out completely before rewriting it. Signed-off-by: Allan McRae <allan@archlinux.org>
* pacman-key: Use lsign_keys function in --populatePierre Schmitz2012-08-02
| | | | | | This reduces code duplication and also makes --populate a non-interactive function. Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
* Merge branch 'maint'Dan McGee2012-08-01
|\
| * makepkg: remove unnecessary formattingAllan McRae2012-08-01
| | | | | | | | | | | | | | | | This extra newline leaves a gap that looks strange in of itself, but is highlighted when piping -g output to a PKGBUILD. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Add a function prepare() to PKGBUILDEnjolras2012-08-01
| | | | | | | | | | | | | | prepare is run after the source extraction, and is not run with --noextract option. Signed-off-by: Dan McGee <dan@archlinux.org>
* | asdeps flag passed from makepkg to pacmanDaniel Wallace2012-08-01
| | | | | | | | | | | | | | | | | | add the asdeps flag for makepkg so that it does pacman -U --asdeps [Allan: clean-up whitespace] Signed-off-by: Daniel Wallace <daniel.wallace12@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
* | paccache: adopt size_to_humanDave Reisner2012-06-25
| | | | | | | | Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | scripts/library: add size_to_humanDave Reisner2012-06-25
| | | | | | | | | | | | | | | | | | | | | | This function is the reverse of human_to_size, and converts integer byte sizes to human readable SI prefixed values. A logical extension of this might be to mimic the formatter that pacman uses and allow a second argument to be passed in which can coerce the size, rather than reducing until the unit count is below 1024. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | pkgdelta: use human_to_size to parse --min-pkg-sizeDave Reisner2012-06-25
| | | | | | | | | | | | | | Update the documentation accordingly to mention that users can expect huamn readable sizes to be acceptable. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | scripts/library: add human_to_sizeDave Reisner2012-06-25
| | | | | | | | | | | | | | | | This is a bash wrapper around an awk function that parses human readable sizes and returns their representative values in bytes, as a string. A small test harness is added to validate the functionality. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
* | repo-add: add checkdepends informationAllan McRae2012-06-25
| | | | | | | | | | | | | | Similar to the case for makedepends, it is useful to be able to access this information without parsing a PKGBUILD. Signed-off-by: Allan McRae <allan@archlinux.org>
* | makepkg: install deps with --repackageAllan McRae2012-06-25
| | | | | | | | | | | | | | | | | | I have noticed that quite a number of packages fail with "makepkg -R" when their (make)dependencies are not installed. Adjust makepkg to check for dependencies when used with -R. This can still be avoided by using --nodeps/-d. Signed-off-by: Allan McRae <allan@archlinux.org>
* | Allow wildcards in PURGE_TARGETS to match any type of file except for ↵Jeremy Huntwork2012-06-25
| | | | | | | | | | | | directories. Signed-off-by: Jeremy Huntwork <jhuntwork@lightcubesolutions.com>
* | makepkg: allow url to be overridden in split packagesAllan McRae2012-06-25
| | | | | | | | | | | | | | | | This is already being used (despite not working...) in packages in the Arch Linux repos. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Portability fixes for makepkgJeremy Huntwork2012-06-25
| | | | | | | | | | | | | | | | Allow makepkg to work correctly when used with find from busybox. Fix handling of cross directory symlinks. Signed-off-by: Jeremy Huntwork <jhuntwork@lightcubesolutions.com> Signed-off-by: Allan McRae <allan@archlinux.org>
* | pkgdelta: add missing --version longoptDave Reisner2012-06-25
| | | | | | | | | | | | | | This was missed in the switch to parseopts, and was caught by distcheck. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Create repo-remove symlink in scripts dirAllan McRae2012-06-25
| | | | | | | | | | | | | | | | Fix the creation of the repo-remove symlink in the scripts/ dir on building. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: rework libdependsAllan McRae2012-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the handling of libdepends. The primary advantage are: - Moves functionality from write_pkginfo() to find_libdepends(). - The order of the depends array in the PKGBUILD is kept in the package. - An unneeded libdepends is only a warning and not an error. This allows putting a libdepend on a library that is dlopened. - It is now modular so can be extended to library types other than ELF *.so. - Finding the list of libraries a package depends only occurs when a libdepend is specified in the depends array. Signed-off-by: Allan McRae <allan@archlinux.org>
* | repo-add: add makedepends informationAllan McRae2012-05-20
| | | | | | | | | | | | | | | | | | This is useful for tools that automatically rebuild packages and thus require to generate a build order. These entries are skipped by pacman. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: write makedepends into .PKGINFOAllan McRae2012-05-20
| | | | | | | | | | | | | | | | | | | | Currently there is no way to access the makedepends for a package apart from parsing its PKGBUILD. Put these into the .PKGINFO file with the idea of making them available in the repo dbs so that automated build tools can readily determine build order. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | makepkg: Add CPPFLAGS supportAllan McRae2012-05-20
| | | | | | | | | | | | | | | | | | Add CPPFLAGS support in addition to the current CFLAGS and CXXFLAGS. This keeps compiler flags split up in the same logical way done everywhere else. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
* | Merge branch 'maint'Dan McGee2012-05-20
|\| | | | | | | | | Conflicts: scripts/pacman-key.sh.in