Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 576550 - dev-libs/libgit2-glib-0.23.10: breaks with dev-libs/libgit2-0.24.0 due to API changes
Summary: dev-libs/libgit2-glib-0.23.10: breaks with dev-libs/libgit2-0.24.0 due to API...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-05 21:56 UTC by Konstantin (elxa)
Modified: 2016-04-05 17:28 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin (elxa) 2016-03-05 21:56:21 UTC
Emerging dev-libs/libgit2-0.24.0 breaks dev-libs/libgit2-glib-0.23.10 breaks due to API [1] changes.

[1] https://github.com/libgit2/libgit2/blob/master/CHANGELOG.md

Reproducible: Always

Steps to Reproduce:
1. emerge =dev-libs/libgit2-0.24.0 (succeeds)
2. emerge =dev-libs/libgit2-glib-0.23.10 (fails)
Actual Results:  
ggit-merge-options.c: In function ‘ggit_merge_options_set_tree_flags’:
ggit-merge-options.c:123:30: error: ‘git_merge_options {aka struct <anonymous>}’ has no member named ‘tree_flags’
  merge_options->merge_options.tree_flags = (git_merge_tree_flag_t)tree_flags;
                              ^
ggit-merge-options.c:123:45: error: ‘git_merge_tree_flag_t’ undeclared (first use in this function)
  merge_options->merge_options.tree_flags = (git_merge_tree_flag_t)tree_flags;
                                             ^
ggit-merge-options.c:123:45: note: each undeclared identifier is reported only once for each function it appears in
ggit-merge-options.c:123:67: error: expected ‘;’ before ‘tree_flags’
  merge_options->merge_options.tree_flags = (git_merge_tree_flag_t)tree_flags;
                                                                   ^
ggit-merge-options.c: In function ‘ggit_merge_options_get_tree_flags’:
ggit-merge-options.c:139:57: error: ‘git_merge_options {aka struct <anonymous>}’ has no member named ‘tree_flags’
  return (GgitMergeTreeFlags)merge_options->merge_options.tree_flags;
                                                         ^
ggit-merge-options.c: In function ‘ggit_merge_options_set_file_flags’:
ggit-merge-options.c:300:45: error: ‘git_merge_file_flags_t’ undeclared (first use in this function)
  merge_options->merge_options.file_flags = (git_merge_file_flags_t)file_flags;
                                             ^
ggit-merge-options.c:300:68: error: expected ‘;’ before ‘file_flags’
  merge_options->merge_options.file_flags = (git_merge_file_flags_t)file_flags;
                                                                    ^
ggit-merge-options.c: In function ‘ggit_merge_options_get_tree_flags’:
ggit-merge-options.c:140:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
Makefile:778: recipe for target 'ggit-merge-options.lo' failed

Expected Results:  
The dependencies of dev-libs/libgit2-glib-0.23.10 should specify dev-libs/libgit2:0/23 instead of >=dev-libs/libgit2-0.23.0:=
Comment 1 Alexandre Rostovtsev (RETIRED) gentoo-dev 2016-03-06 03:35:52 UTC
Fixed by pinning to <0.24 until a newer version of libgit2-glib is released upstream. Thanks for reporting.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=112c2f6c7e1921971a449d317d74c8fdfe593440
Comment 2 Pacho Ramos gentoo-dev 2016-03-07 10:14:25 UTC
We will probably need to start always depending on something like =dev-libs/libgit2-0.23* always in the future to prevent this revbumps for adding the blockers from being needed when libgit2 upstream releases a new major version broken the reverse deps :(
Comment 3 Alexandre Rostovtsev (RETIRED) gentoo-dev 2016-04-05 04:37:07 UTC
(In reply to Pacho Ramos from comment #2)
> We will probably need to start always depending on something like
> =dev-libs/libgit2-0.23* always in the future to prevent this revbumps for
> adding the blockers from being needed when libgit2 upstream releases a new
> major version broken the reverse deps :(

I think it's better to use the subslot here, since libgit2 provides one; I've added libgit2-glib-0.24.0 with a depency on >=dev-libs/libgit2-0.24.0:0/24

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9a91c3a39d23ba34203fe4bebc72310a53079e3
Comment 4 Pacho Ramos gentoo-dev 2016-04-05 17:28:02 UTC
Umm, interesting, thanks for the tip