lp:pacman-pm

Created by Thomas Karl Pietrowski on 2014-01-14 and last modified on 2019-03-19
Get this branch:
bzr branch lp:pacman-pm

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Thomas Karl Pietrowski
Project:
pacman
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://projects.archlinux.org/pacman.git.

The next import is scheduled to run in 4 hours.

Last successful import was 1 hour ago.

Import started 1 hour ago on izar and finished 1 hour ago taking 15 seconds — see the log
Import started 7 hours ago on alnitak and finished 7 hours ago taking 20 seconds — see the log
Import started 13 hours ago on alnitak and finished 13 hours ago taking 20 seconds — see the log
Import started 19 hours ago on izar and finished 19 hours ago taking 20 seconds — see the log
Import started on 2019-03-23 on alnitak and finished on 2019-03-23 taking 20 seconds — see the log
Import started on 2019-03-23 on alnitak and finished on 2019-03-23 taking 20 seconds — see the log
Import started on 2019-03-22 on izar and finished on 2019-03-22 taking 20 seconds — see the log
Import started on 2019-03-22 on alnitak and finished on 2019-03-22 taking 20 seconds — see the log
Import started on 2019-03-22 on izar and finished on 2019-03-22 taking 20 seconds — see the log
Import started on 2019-03-22 on alnitak and finished on 2019-03-22 taking 20 seconds — see the log

Recent revisions

5560. By Eli Schwartz <email address hidden> on 2019-03-19

doc: generalize description of the bash nature of PKGBUILD functions

Currently this is scoped to the build() function, which is simply wrong
as it equally applies to any function. Simply moving the paragraphs up
to the main manpage section makes this clear.

Signed-off-by: Eli Schwartz <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5559. By quequotion on 2019-03-19

Clarify that build_options only apply during build()

Signed-off-by: Que Quotion <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5558. By Eli Schwartz <email address hidden> on 2019-03-19

libmakepkg: fix reporting of invalid archive extensions in compress.sh

In commit 1825bd6716c2a51c92642e8b96beac0101e83805 this was split out
from makepkg, but the warning was not properly migrated; $ext did not
ever exist.

As a result, no matter what you did, the only possible warning was:

==> WARNING: '' is not a valid archive extension.

Fix to filter based on the presence of .tar in the argument, and
building the $ext variable for all checking and messaging purposes
within the function.

Signed-off-by: Eli Schwartz <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5557. By Eli Schwartz <email address hidden> on 2019-03-19

makepkg: use "shared" git clones when checking out sources

In order to cache sources offline, makepkg creates *two* copies of every
git repo. This is a useful tradeoff for network time, but comes at the
cost of increased disk space.

Normally, git can smooth this over automagically. Whenever possible, git
objects are hardlinked to save space, but this does not work when
SRCDEST and BUILDDIR are on separate filesystems.

When the repo in question is both very large (linux.git for example is
2.2 GB) and crosses filesystem boundaries, this results in a lot of
extra disk space being used; the most likely scenario is where BUILDDIR
is a tmpfs for bonus ouch.

git(1) has a builtin feature which serves this case handily: the
--shared flag will create the info/alternates file instructing git to
not copy or hardlink or create objects/packs at all, but merely look for
them in an external location (that being the source of the clone).

The downside of using shared clones, is that if you modify and drop
commits from the original repo, or simply delete the whole repo
altogether, you break the copy. But we don't care about that here,
because

1) the BUILDDIR copy is meant to be a temporary copy strictly derived
   via PKGBUILD syntax from the SRCDEST, and must be able to be
   recreated at any time,
2) if the SRCDEST disappears, makepkg will redownload it, thus restoring
   the objects needed by the BUILDDIR clone,
3) if the user does non-default things like hacking on the BUILDDIR copy
   then deleting and re-cloning the SRCDEST may result in momentary
   breakage, but ultimately should be fine -- the unique objects they
   created will be stored in the BUILDDIR copy.

While it's theoretically possible that upstream will force-push to
overwrite the base tree from which makepkg is building (which they
should not do), *and* the user deleted their SRCDEST which they should
not do, *and* they saved work in makepkg's working directory which they
should not do either...
... this is an unlikely chain of events for which we should not care.

Using --shared is therefore helpful in immediately useful ways and IMHO
has no actual downsides; we should use it.

An alternative implementation would be to use worktrees. I've rejected
this since it is essentially the same as shared clones, except adding
additional restrictions on the branch namespace, and could potentially
break existing use cases such as manually handling the SRCDEST in order
to share repositories with normal working copies.

Signed-off-by: Eli Schwartz <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5556. By Eli Schwartz <email address hidden> on 2019-03-19

build: check for gpgme with pkg-config before gpgme-config

gpgme in git master now supports pkg-config and with the next release we
can and should prefer its use. However, retain the legacy code that
enables building with older versions of gpgme, as a fallback.

Signed-off-by: Eli Schwartz <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5555. By Santiago Torres <email address hidden> on 2019-03-19

drop DU* config variables

Since DUFLAGS and DUPATH are not needed anymore remove them from the
source

Signed-off-by: Santiago Torres <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5554. By Eli Schwartz <email address hidden> on 2019-03-19

build: remove references to variable replacements from pacman-optimize

MODECMD and OWNERCMD are not used by pacman itself, so we don't need to
check for and replace them now that pacman-optimize is removed.

Signed-off-by: Eli Schwartz <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5553. By Santiago Torres <email address hidden> on 2019-03-19

Make makepkg compute sizes properly

Makepkg used to use du --apparent-size to compute the size of the
package. Unfortunately, this would result in different sizes depending
on the filesystem used (e.g., btrfs vs ext4), which would affect
reproducible builds. Use a wc-based approach to compute sizes

Signed-off-by: Santiago Torres <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5552. By Florian Wehner <email address hidden> on 2019-03-19

Reformatting log timestamp to include time-zone

The time logged is currently given as localtime without any timezone
information. This is confusing in various scenarios.

Examples:
* If one is travelling across time-zones and the timestamps in the log
appear out of order.
* Comparing dates with `datediff` gives an offset by the time-zone

This patch would reformat the time-stamp to a full ISO-8601 version.
It includes the 'T' separating date and time including seconds.

Old: [2019-03-04 16:15]
New: [2019-03-04T16:15:45-05:00]

Signed-off-by: Florian Wehner <email address hidden>
Signed-off-by: Allan McRae <email address hidden>

5551. By Allan McRae on 2019-03-07

Remove support for deltas from libalpm

Signed-off-by: Allan McRae <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.