You are not logged in.

#1 2017-09-08 17:28:13

diraria
Member
Registered: 2017-09-08
Posts: 8

Dependency checks skip not working in pacman when `pacman -Udd package

I have Arch Linux with package `babel-cli` installed (this package conflicts with package `openbabel`, which is NOT installed).

I write custom PKGBUILD:

    pkgname=openbabel-fake
    pkgver=9.99
    pkgrel=1
    pkgdesc="Fake package, that provides openbabel"
    arch=('x86_64')
    provides=(openbabel)

Then I run `makepkg` and get file `openbabel-fake-9.99-1-x86_64.pkg.tar`.

Then I try to install this package via

pacman -Udd openbabel-fake-9.99-1-x86_64.pkg.tar

and get error, that packages `openbabel-fake` and `babel-cli` conflicts. From `man pacman`:

    -d, --nodeps
       Skips dependency version checks.
       ...
       Specify this option twice to skip all dependency checks.

Can you say, please, how can I install `openbabel-fake-9.99-1-x86_64.pkg.tar` without getting error about conflicts? Thanks if answer something!

Offline

#2 2017-09-08 17:33:04

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,545
Website

Re: Dependency checks skip not working in pacman when `pacman -Udd package

Er ... the error you actually got has nothing to do with the -d flags or a dependency issue.  It is quite clearly due to the conflict (not dependencies).  Though I'm not sure why you are using -dd at all as there are no depdencies in your -fake package, so -dd is completely irrelevant and a complete red herring.

You cannot install your -fake package and babel-cli at the same time: they conflict (specifically babel-cli lists the package provided by -fake as a conflict).

More importantly though, your -fake package most certainly does not provide openbabal: it doesn't provide anything at all!

What are you really trying to do?  I assume you need openbable as a dependency for some other package.  That other package could be installed with -dd (though this is almost certainly not the best approach).


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#3 2017-09-08 17:36:03

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Dependency checks skip not working in pacman when `pacman -Udd package

Dependencies are totally different from conflicts. Why do you want two different packages that both try to install the same file?

This is madness.

Last edited by eschwartz (2017-09-08 17:38:14)


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#4 2017-09-08 17:41:00

diraria
Member
Registered: 2017-09-08
Posts: 8

Re: Dependency checks skip not working in pacman when `pacman -Udd package

Thanks for reply!

There are packets `openbabel` and `babel-cli`, which conflicts. Packet `openbabel` is dependency of `kalzium`, which is dependency of `kde-meta-kdeedu`, which is dependency of `kde-applications-meta`:

    kde-applications-meta
    |
    v
    kde-meta-kdeedu
    |
    v
    kalzium
    |
    v
    openbabel

I don't need `openbabel` at all. But I need `kde-applications-meta` and `babel-cli`. So, I remove `openbabel` (via `pacman -Rdd openbabel`). But now when I try to upgrade pacman (via `pacman -Syu`) pacman tries to instal `openbabel` (as `kalzium` dependency) and I got error:

    checking conflicts...
    error: find packages conflict
    error: can't make transaction (packages conflicts)
    :: 'babel-cli' and 'openbabel' conflicts

I think that I should make fake package that provides `openbabel`

Last edited by diraria (2017-09-08 17:42:42)

Offline

#5 2017-09-08 18:07:32

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: Dependency checks skip not working in pacman when `pacman -Udd package

Well, how about you don't use kde-applications-meta then? Install the members of that metapackage that you actually use, or just use the group instead of the metapackage and deselect kalzium.

Anything that provides openbabel will conflict with babel-cli, and anything that doesn't provide openbabel won't meet the dependency needs of kalzium.
There is no way to have both kalzium and babel-cli installed unless you mess with pacman -dd every time kalzium is affected.

Last edited by eschwartz (2017-09-08 18:10:34)


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#6 2017-09-08 18:08:32

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,545
Website

Re: Dependency checks skip not working in pacman when `pacman -Udd package

No.  If you are absolutely sure that kalzium can function without openbabel (I doubt it can based on the package descriptions) then you should modify kalzium to remove the dependency ... call it kalzium-crippled and have it provide kalzium.

The real solution here would be far simpler, though.  kde-applications-meta is just a meta-package listing a bunch of dependencies to be installed all together, clearly you don't actually want all of those, so remove kde-applications-meta, and just keep the things you want:

pacman -R kde-applications-meta
pacman -Rsn kalzium

Then all should be set.  You'll likely have some orphan packages that you could change the install reason to explit for if you really want them:

pacman -D --asexplicit  kde-meta-kdeaccessibility  kde-meta-kdeadmin  kde-meta-kdebase  kde-meta-kdegames  kde-meta-kdegraphics  kde-meta-kdemultimedia  kde-meta-kdenetwork kde-meta-kdepim  kde-meta-kdesdk  kde-meta-kdeutils  kde-meta-kdewebdev artikulate  blinken  cantor  kalgebra  kanagram  kbruch  kgeography  khangman  kig  kiten  klettres  kmplot  kstars  ktouch  kturtle  kwordquiz  marble  minuet parley  rocs  step

Last edited by Trilby (2017-09-08 18:09:30)


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

#7 2017-09-08 19:13:23

diraria
Member
Registered: 2017-09-08
Posts: 8

Re: Dependency checks skip not working in pacman when `pacman -Udd package

Thanks a lot!

I removed `kde-applications-meta` as you suggested and changed the install reason for other meta packages (I don't know whether I need them, but I think that I shouldn't remove them until I be sure)

Offline

Board footer

Powered by FluxBB