You are not logged in.
Pages: 1
I just upgraded to pacman-3.0.5-3 after a few weeks of offline time, and on the following system upgrade pacman told me that it wanted to remove my custom build "ffmpeg-svn" because it conflicts with "ffmpeg". In the "ffmpeg-svn" PKGBUILD there is this line: "provides=('ffmpeg')", which in my understanding should tell pacman that ffmpeg is installed or that it is being provided by ffmpeg-svn.
Have I completely misunderstood what "provides" means in this context? Or is it a pacman bug?
Offline
From the PKGBUILD man page:
conflicts (array)
An array of packages that will conflict with this package (i.e.
they cannot both be installed at the same time). This directive
follows the same format as depends, except you cannot specify
versions.
provides (array)
An array of "virtual provisions" that this package provides.
This allows a package to provide dependencies other than its own
package name. For example, the dcron package can provide 'cron',
which allows packages to depend on 'cron' rather than 'dcron OR
fcron'.
replaces (array)
An array of packages that this package should replace, and can
be used to handle renamed/combined packages. For example, if the
'j2re' package is renamed to 'jre', this directive allows future
upgrades to continue as expected even though the package has
moved.
The above tells you that you should add a 'conflicts' array as I read it
Offline
I just upgraded to pacman-3.0.5-3 after a few weeks of offline time, and on the following system upgrade pacman told me that it wanted to remove my custom build "ffmpeg-svn" because it conflicts with "ffmpeg". In the "ffmpeg-svn" PKGBUILD there is this line: "provides=('ffmpeg')", which in my understanding should tell pacman that ffmpeg is installed or that it is being provided by ffmpeg-svn.
Have I completely misunderstood what "provides" means in this context? Or is it a pacman bug?
Its hard to tell without more informations. Maybe output of "pacman -Qi ffmpeg-svn" and "pacman -Su --debug" will do.
pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))
Offline
Its hard to tell without more informations. Maybe output of "pacman -Qi ffmpeg-svn" and "pacman -Su --debug" will do.
Doing "pacman -Su --debug | grep ffmpeg" showed the problem:
debug: 'ffmpeg-svn' not found in sync db -- skipping
debug: depcmp: ffmpeg-svn-10024-1 ~= ffmpeg => match
debug: depcmp: ffmpeg-svn-10024-1 >= ffmpeg-20070131 => no match
debug: depcmp: ffmpeg-svn-10024-1 >= ffmpeg-20070131 => no match
debug: missing dependency 'ffmpeg' for package 'vlc'
debug: pulling dependency ffmpeg (needed by vlc)
debug: package 'ffmpeg' not found in sync
debug: adding package ffmpeg-20070505-4 to the transaction targets
debug: sorting ffmpeg
debug: sorting ffmpeg
debug: sorting ffmpeg
debug: sorting ffmpeg
debug: cannot find package installed 'ffmpeg'
debug: depcmp: ffmpeg-svn-10024-1 ~= ffmpeg => match
debug: depcmp: ffmpeg-svn-10024-1 ~= ffmpeg => match
debug: checkconflicts: db vs target 'ffmpeg'
debug: found conflict 'ffmpeg' : package 'ffmpeg'
debug: CONFLICTS:: ffmpeg conflicts with ffmpeg-svn
debug: package 'ffmpeg' conflicts with 'ffmpeg-svn'
debug: found package 'ffmpeg-20070505-4' in sync
debug: resolving package 'ffmpeg' conflicterror: unresolvable package conflicts detected:: ffmpeg: conflicts with ffmpeg-svn
vlc requires a specific version of ffmpeg. Can the "provides" option provide versions as well?
Offline
debug: depcmp: ffmpeg-svn-10024-1 >= ffmpeg-20070131 => no match
vlc requires a specific version of ffmpeg. Can the "provides" option provide versions as well?
Well, thats quite what I expected... Unfortunately, no, versioned provisions are not supported yet.
Maybe they will in the future, there is even an entry on the bug tracker for it :
http://bugs.archlinux.org/task/6508
Maybe you could try cheating by using a number >= 20070131 for the version of the ffmpeg-svn package.
pacman roulette : pacman -S $(pacman -Slq | LANG=C sort -R | head -n $((RANDOM % 10)))
Offline
Pages: 1