Skip to content
This repository has been archived by the owner on May 31, 2018. It is now read-only.

vcs packages installation without git/svn/hg/.. installed fails #253

Closed
rmarquis opened this issue Jul 21, 2014 · 7 comments
Closed

vcs packages installation without git/svn/hg/.. installed fails #253

rmarquis opened this issue Jul 21, 2014 · 7 comments

Comments

@rmarquis
Copy link
Owner

From the forums:

If packages rely on VCS code and the corresponding client isn't installed yet, building will fail even if the client is stated as makedep as the packages from the repos are only installed after pacaur tries to fetch the VCS code:

$  pacaur -S libqtxdg-qt5-git
:: Package(s) libqtxdg-qt5-git not found in repositories, trying AUR...
:: resolving dependencies...
:: looking for inter-conflicts...

AUR Packages  (1): libqtxdg-qt5-git-latest  
Repo Packages (1): git-2.0.2-1  

Repo Download Size:    0.00 MiB
Repo Installed Size:  22.58 MiB

:: Proceed with installation? [Y/n] 

:: Retrieving package(s)...
:: View libqtxdg-qt5-git PKGBUILD? [Y/n] n
==> Making package: libqtxdg-qt5-git 0.5.3.17.gb3ccf52-1 (Sun Jul 20 15:36:59 CEST 2014)
==> Retrieving sources...
  -> Cloning libqtxdg git repo...
/usr/bin/makepkg: line 543: git: command not found
==> ERROR: Failure while downloading libqtxdg git repo
    Aborting...
:: Building libqtxdg-qt5-git package(s)...
==> Making package: libqtxdg-qt5-git 0.5.3.17.gb3ccf52-1 (Sun Jul 20 15:36:59 CEST 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for inter-conflicts...

Packages (1): git-2.0.2-1

Total Installed Size:   22.58 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                                              [###########################################] 100%
(1/1) checking package integrity                                            [###########################################] 100%
(1/1) loading package files                                                 [###########################################] 100%
(1/1) checking for file conflicts                                           [###########################################] 100%
(1/1) checking available disk space                                         [###########################################] 100%
(1/1) installing git                                                        [###########################################] 100%
Optional dependencies for git
    tk: gitk and git gui
    perl-libwww: git svn
    perl-term-readkey: git svn
    perl-mime-tools: git send-email
    perl-net-smtp-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    python2: various helper scripts [installed]
    subversion: git svn
    cvsps: git cvsimport
    gnome-keyring: GNOME keyring credential helper
==> WARNING: Using existing src/ tree
==> Starting build()...
/tmp/pacaurtmp-peter/libqtxdg-qt5-git/PKGBUILD: line 24: cd: /tmp/pacaurtmp-peter/libqtxdg-qt5-git/src/libqtxdg: No such file or directory
==> ERROR: A failure occurred in build().
    Aborting...
:: libqtxdg-qt5-git cleaned
:: git is a new orphan package

Installation of the very same packages works smoothly if git was installed before. Problem does not affect building packages by 'makepkg -s'.

@rmarquis rmarquis added this to the 4.2.x - maintenance milestone Jul 21, 2014
@rmarquis rmarquis added the bug label Jul 21, 2014
@rmarquis
Copy link
Owner Author

This issue happens because pacaur extracts the package (source pull) first with makepkg -o before continuing with normal build and installatio (including installation of makedeps) if necessary.

A few possible way to handle this:

  • install all deps and makedeps prior to checking VCS version,
    • Should all the deps and makedeps be really installed now (makepkg -so)?
    • How to deal with conflict issues?
  • install the missing VCS software only
    • Isn't this a complete, but overcomplex solution?
  • skip the VCS version check entirely if the package isn't installed yet
    • What if the VCS software has been removed prior to a new update?

@rmarquis
Copy link
Owner Author

Fixed in f3771d8 (option 3). Situations where the VCS software has been removed prior to an update aren't taken into account, but I guess those won't happen often.

If the need arise, the more complex solution (option 2) could be implemented instead. The simpler makepkg -so fix (option 1) has many drawbacks regarding conflict issues, and thus isn't worth implementing.

@rmarquis
Copy link
Owner Author

See also this makepkg patch. This might be relevant here, since makepkg will simply stop if the software isn't installed yet.

@rmarquis
Copy link
Owner Author

rmarquis commented Sep 5, 2014

Reopening, since this is partially fixed only. I'm actually not sure if the above patches will fix it the issue or will prevent makepkg to continue.

In case it doesn't, it might be possible to use this new VCSCLIENT field to install the VCS software in case it is missing from the (make)depends array. Let's keep an eye on this issue and implement a fix or close this issue when the next makepkg will be released.

@rmarquis rmarquis reopened this Sep 5, 2014
@rmarquis rmarquis added todo and removed bug labels Sep 5, 2014
@rmarquis rmarquis modified the milestones: 4.3.x - new features, 4.2.x - maintenance Sep 5, 2014
@rmarquis
Copy link
Owner Author

rmarquis commented Oct 9, 2014

Fixing #273 correctly required to remove the partial fix introduced above (f3771d8).

@rmarquis
Copy link
Owner Author

This is now implemented in 7f798a7 (option 2).
This is a temporary workaround that will be removed once makepkg 4.2 is released.

Also note that only supported protocols can update pkgver() through makepkg -o now (svn, git, hg and bzr). The cvs and darcs protocols have been removed as they aren't supported by makepkg 4.1.

@rmarquis
Copy link
Owner Author

The temporary check has now been removed in e2d4f6a, as this is correctly handled by pacman/makepkg 4.2.0-2 (see also this bug report).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant