Package Details: pacman-git

Git Clone URL: (read-only)
Package Base: pacman-git
Description: A library-based package manager with dependency support. git version.
Upstream URL:
Licenses: GPL
Conflicts: pacman
Provides: pacman=
Submitter: None
Maintainer: Eschwartz
Last Packager: Eschwartz
Votes: 21
Popularity: 0.004450
First Submitted: 2009-09-07 17:32
Last Updated: 2018-04-24 14:04

Required by (152)

Sources (5)

Latest Comments

EndlessEden commented on 2018-04-23 01:53

@Eschwartz - Fair enough. Thank you for all your work. - I wasnt aware that they were using package signing right now. Ill switch my repos to signed. thank you for that info as well.

(P.S. - Gosh those edits are so clean. Amazing work.)

Eschwartz commented on 2018-04-22 18:42

I've asked on their IRC channel, and they were sort of vague about why they wanted the sync patch but admitted it "may not be needed as much anymore with most installations shipping with initramfs".

The stdin patch reverts which we added to pacman for good reason, and they indicated that while some packages prompt the user in the install script to e.g. flash the u-boot images, their install scripts know how to handle lack of stdin. I see no reason to revert this, since the user can very well follow the fallback prompts and this "feature" is broken in many cases.

For the signature checking I was told "it's up to the user to initialize their keys". I have even less than zero interest in supporting this use case.

I'm uploading a new version which adds the necessary CARCH support and uses pacman.conf.arm configured with their repositories. This seems sufficient to me.

EndlessEden commented on 2018-04-22 18:22

@Eschwartz - "Split contrib" Ahh, sorry for the confusion. - I was unaware of that, as its not something i have any interest in normally.

"Stock Configurations" - ^_^ makes sense, ty for clarifying.

"signature checking completely disabled" - While I do agree on that, it is the way their repositories are set up ( I don't know who currently maintaining packages, but I don't believe they are currently signed. Thats something I would ask Kevin Mihelich about. But, I would recommend you did, as I am not very familiar with arch repos and packaging security. it's typically not my concern, as in, not a packager.

patches -

0001-Sychronize-filesystem.patch From what I can tell Sync was added to prevent data loss. As a precaution on slow-writing mediums(Or poor flash media) - As I was just raising compliance, in my GitHub version of this package and not focused on reasons for its use.(as its just harmless sync() before starting package operations.) In the patch-notes dating back to 2014, it states ###[Since many problems arise from improper flushing of the filesystem, particularly package installations followed by a reboot very shortly after, this will perform a sync() after installations and removals to ensure a consistent filesystem state after package operations.]###

0002-Revert-close-stdin-before-running-install-scripts.patch Specifically, on ArchlinuxArm, closing stdin can be an issue during install/remove scripts and some other functions. But again I am not a developer and this function seems harmless, although could potentially be an issue for security if done on the archlinux-x86 platforms as there is no cleanup process. As Taken from the notes.

[This reverts commit e374e6829cea3512f0b4a4069c5a6168f0f8d8a0.

Arch Linux ARM packages have use cases for this feature, such as prompting the user to flash a new kernel to a bare partition. Removing this feature will undoubtedly cause more problems than it intends to solve.]### - If you want me to ask I can ask them for clarification?

0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch - This is no longer required, as these changes have already occurred upstream. As such I've removed it.

Eschwartz commented on 2018-04-22 03:31

Regarding contrib, the Arch package version did not "supply it as part of its package", the contrib stuff was simply included in the pacman codebase and therefore enabled. Current development versions have split it out again, which is why it is a separate package, but it hasn't been decided whether to make it mandatory...

Stock configurations won't work, they assume pacman can be run by any consumer and don't contain the necessary options... like configured repository names.

But these ARM changes look sort of fishy to me, why is signature checking completely disabled with references to something that was changed in arch, 6 years ago, why is libalpm patched to add some questionable feature and remove another one, why is makepkg.conf only modified in order to remove -mtune=generic?

EndlessEden commented on 2018-04-21 00:51

@Eschwartz: "Potentially incorrect what?" - Upstream changes that dont find their way back into the static configurations. (Which i experienced last year, when a option was not documented. Although, i cannot recall what it was, offhand). //// "There's a reason the repo package also provides its own non-stock configurations." - Im confused, why is that? //// "I'm unmotivated to support the arm pacman.conf" - i already have a local version of this package with all the patches, etc. converted. if you were interested ( //// "pacman-contrib is already ... why it should be a hard dependency" - The Arch Package Version, has supplied this as part of its package since commit "b41b136a3"@2013-04-04 / Inclusion of it just makes more sense to me. But this i think is personal. I apologize if my opinion seems inaccurate.

Eschwartz commented on 2018-04-20 21:06

Potentially incorrect what? There's a reason the repo package also provides its own non-stock configurations.

I'm unmotivated to support the arm pacman.conf, but feel free to submit PRs here: -- I won't hunt down the necessary conf files myself, for a system I don't use.

pacman-contrib is already an optdepends, I don't see why it should be a hard dependency especially given it would be a circular dependency.

EndlessEden commented on 2018-04-20 19:52

I have a few questions... 1. This package already generates pacman.conf and makepkg.conf, why include it? (its only included in the Generic packages from arch-team, to be more CPU generic and include additional mirror info for x86_64) - Wouldnt it be much cleaner to just sed or patch the data in, rather than replace with potentially incorrect files.

  1. Since this is a git package, why not add additional support for non-x86 platforms(IE: Arm). Its not hard to merge their patches here.

  2. Since Pacman-contrib was merged into Pacman, wouldn't it be smarter to make Pacman-contrib-git a dependency or include it into your package?

timofonic commented on 2017-07-23 05:01

pactree is missing. Is it in pacman-contrib-git?

polyzen commented on 2016-10-11 12:39

contrib/ was removed from pacman. Please update the pkgbuild so a pacman-contrib package can be added.

Edit: Once there's a release, pacman-contrib will be available in the repos.

AWhetter commented on 2016-05-01 20:10

Please could we start patching /etc/pacman.conf to replace 'pacman' in the HoldPkg list with 'pacman-git'.

eworm commented on 2016-01-29 09:27

makepkg bails out with an error:

==> ERROR: pkgver is not allowed to contain colons, hyphens or whitespace.
==> ERROR: Could not download sources.

Can we remove the colon, please?

Scimmia commented on 2016-01-05 18:46

pkgver is invalid.

abandonedaccount commented on 2014-10-11 16:23

pacman-db-upgrade broke packages whose 'files' (file) contains %BACKUP%
for example %BACKUP% is right on the next line after %FILES% as if some kind of sorting happened. And this causes pacman -Qo and -Ql to not see any files and thus attempting to upgrade/downgrade those affected packages causes `exists in filesystem` for each file.
This happened after I upgraded from commit d9cf14ff1d69ac8834b84015c7971f55ce77645b
to commit(latest currently): 7ee01c86669327b2af63c8ed9390bcbf071cdac5

Ok someone(demize) just notified me of this:

but may be worth to know if someone else if about to update from this

abandonedaccount commented on 2014-09-07 19:47

that pacman-git bug is tracked here:

abandonedaccount commented on 2014-09-07 18:06

Looks like noextract option inside PKGBUILD prevents that file from being softlinked into ${srcdir} and thus the need to use ${SRCDEST} to access it.
As an example of this try chromium-dev package.
Tested with: Pacman v4.1.2-406-g3e19-dirty - libalpm v8.0.2
Without noextract it is symlinked, with noextract it isn't.

rafaelff commented on 2013-04-01 07:26

Pacman 4.1.0 in [testing] since today.

graysky commented on 2013-03-31 19:42

@maggie: I believe Allan was targeting the Easter weekend for 4.1's release but likely to [testing]. I took a stab at a PKGBUILD for pacman-git that will work with the current 4.0.3 series:

Dave - feel free to check my math :p

graysky commented on 2013-03-31 15:05

@j - That needs to be captured in the PKGBUILD somehow, versioned dependency or at the very least, a comment.

rafaelff commented on 2013-03-31 14:24

@graysky: May I guess? 1) This is AUR and a GIT PKGBUILD is development-based; 2) Once you install pacman-git, eventual PKGBUILD updates will require the current format, otherwise will fail; -- anyway, one just have to follow the migration task using Allan's pkg tarball and it is all done.

graysky commented on 2013-03-31 14:07

@dave - why would you post a PKGBUILD that depends on development software to the AUR if what the previous poster said is true?

rafaelff commented on 2013-03-31 12:43

@maggie: Are you trying to install this package with pacman 4.0.3 ? I had this problem too and @RunningDroid's answer helped me - you need 4.1.0rc installed to support urls from VCS, like GIT.

maggie commented on 2013-03-31 11:28

I get errors when building: ==> ERROR: pkgver is not allowed to contain colons, hyphens or whitespace.

When I change the pkgver to remove the -32: ==> ERROR: There is no agent set up to handle git URLs. Check /etc/makepkg.conf.

maggie commented on 2013-03-31 11:01

@falconindy Can you please make this package build latest git rather than point to a static tarball? I do not know enough about it to do it myself. Your commands are different from standard git packages. Thank you.

RunningDroid commented on 2013-03-20 17:20

@josephgbr You should use one of the packages here to add the features you need to install pacman-git:

@falconindy Can you add fakechroot as a checkdepends, enough tests fail without it that makepkg --check fails.

rafaelff commented on 2013-03-10 06:11

Can someone please point me out how to get over the current lack of GIT download agent for this package?

I'm translating pacman and, therefore, willing to test the translations. I'm not normally a user of this package, so I'm not following changes here, but I understand and read about changes in download methods, and now it fails to build as expected. Please help me on this subject?

AlD commented on 2013-02-05 09:47

If you depend on http access:

falconindy commented on 2012-12-02 13:55

Bleh, yeah. Fixed. Didn't want to clobber my existing clone when testing.

eworm commented on 2012-12-02 13:48

The repo is cloned to "pman", not "pacman". This is a typo, no?

falconindy commented on 2012-12-02 03:49

You're welcome. Please don't mark this out of date because the provides array is "wrong".

luolimao commented on 2012-12-02 03:47

Thanks for the update

luolimao commented on 2012-12-02 03:22

Please, as RetroX mentions, do add the version to the provides array

luolimao commented on 2012-11-25 20:29

How do you install this package? makepkg throws me an error about git URLs not being handled. I tried
DLAGENTS=('git::/usr/bin/git clone %u %o')
combined with --skipinteg, but then it said that for the cd command, that the 'pacman' directory was nonexistent.
DLAGENTS=('git::/usr/bin/git clone %u pacman')
didn't work either.

Anonymous comment on 2011-10-18 00:05

Please change the "provides" option in the PKGBUILD for the pacman-git package to pacman=4.0.

misc commented on 2011-03-27 20:44

Since curl replaced wget as makepkg's default, shouldn't it be added as dependency (and switched from the extra into the core repo, as is wget)?

falconindy commented on 2011-02-14 21:29

This isn't the place for such reports. Bring this to the bug tracker.

haagch commented on 2011-02-14 21:23

I have a problem.
On 64 bit everything still works fine but on my 32 bit netbook I got a problem with installing or upgrading packages.

"pacman -Suu --debug" ("pacman -S" too) gives

I am pretty sure that I am not "out of memory"...

Here the culprit got introduced:

I don't know the code of pacman but there seems to be another reason that _alpm_pkghash_create(est_count * 2) returns NULL. Before that commit (03.02.2011) it worked fine, after the commit (08.02.2011) it doesn't, though I have not checked yet if _alpm_pkghash_create returned NULL before.

falconindy commented on 2011-01-15 14:36

Expected behavior. Please subscribe to pacman-dev if you are to be using this package.

Anonymous comment on 2011-01-15 11:39

Some of the repos have only <repo-name>.db.tar.gz and no <repo-name>.db . pacman-git does not recognize those repos (see ). Is this a bug or a design change in the pacman git version?

falconindy commented on 2011-01-03 14:40

Please make sure you run pacman-db-upgrade to update your local DB to the new pacman 3.5 format, otherwise your local DB will not be recognized properly.

falconindy commented on 2010-12-21 11:14

Well, there's a bigger issue with the db-upgrade script -- you put in a check to see if pacman is running. If this is intended to be run as part of an install scriptlet, there's going to be a lot of broken databases. Pulling it out for now.

Allan commented on 2010-12-21 04:27

I'm not sure the vercmp line in your install script works... comparing the version to 3.5.0 will not work for the git package.

You might also want to add "--enable-git-version" to the configure line.