You are not logged in.
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.tarand 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
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
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
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
openbabelI 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' conflictsI think that I should make fake package that provides `openbabel`
Last edited by diraria (2017-09-08 17:42:42)
Offline
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
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 kalziumThen 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 stepLast edited by Trilby (2017-09-08 18:09:30)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
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