Age | Commit message (Collapse) | Author |
|
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>
|
|
Fixes issue introduced in 9dd42dc0
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
Small alphabeticalization issue in options passable to pacman.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
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>
|
|
This will make the checksum of man pages match across architectures
despite different build times.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
Creating the working directory can waste a lot of space.
Fixes FS#31221.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
* 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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Supported fragments are branch, revision and tag.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
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>
|
|
myver is a bit generic for an internal variable name.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
VCS sources should have "SKIP" for their checksum value
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Extract the download protocol from a source entry. Returns "local"
for local source files.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
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>
|
|
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>
|
|
This reduces code duplication and also makes --populate a non-interactive function.
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
|
|
|
prepare is run after the source extraction, and is not run with
--noextract option.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
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 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>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
Update the documentation accordingly to mention that users can expect
huamn readable sizes to be acceptable.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
|
|
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>
|
|
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>
|
|
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>
|
|
directories.
Signed-off-by: Jeremy Huntwork <jhuntwork@lightcubesolutions.com>
|