Bug 1419234

Summary: Source not available, MATE 1.16 source not compiling under GTK3+ due to non existent function
Product: [Fedora] Fedora EPEL Reporter: Daniel Needles <dneedles>
Component: mate-control-centerAssignee: Wolfgang Ulbrich <fedora>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: epel7CC: dneedles, fedora, stefano
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-04 07:58:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Needles 2017-02-04 02:39:20 UTC
Description of problem:

The source code for the version in EPEL:
  mate-control-center.x86_64                  1.16.0-1.el7
Is not available here:   
  https://git.centos.org/project/rpms 
Using the alternative source taken via:
      curl http://pub.mate-desktop.org/releases/1.16/ | grep href | awk -F\" '{ print "http://pub.mate-desktop.org/releases/1.16/" $2 }' | xargs wget
The following error happens on Make after a autoconf using --with-GTK3.0:
       mate-control-center/capplets/display/xrandr-capplet.c:1819: undefined reference to `mate_rr_labeler_get_rgba_for_output'

  The following is the code snippet:

       /mate-control-center/capplets/display/xrandr-capplet.c
         #if GTK_CHECK_VERSION (3, 0, 0)
              mate_rr_labeler_get_rgba_for_output (app->labeler, app->current_output, &color);
         #else
             mate_rr_labeler_get_color_for_output (app->labeler, app->current_output, &color);
        #endif

     I assume the intent was to miror GNOME 3, but I cannot find this function.  I also noted a lot of deprecated calls.  Does this code compile with GTK3+ with minor modifications or is it in the same state as with GTK2+?  

   I originally decided to compile MATE with GTK2+, to work around the above problem, but that has become untenable due to all the macro code I'll need to include the Wacom Gnome 3.14 code and the allotted time to do it.


Version-Release number of selected component (if applicable):
  mate-control-center 1.16
  gnome-control-center 3.14.5

How reproducible:
  Try building mate-control-center and mate-settings-deamon


Steps to Reproduce:
1.  Obtain the two packages and put them in sister directories.
2.  cd mate-control-center
3.  ./autogen.sh --prefix=/usr --with-gtk=3.0 >FILEFORVIEWWING 2>&1
4.  make

Actual results:
   mate-control-center/capplets/display/xrandr-capplet.c:1819: undefined reference to `mate_rr_labeler_get_rgba_for_output'

Expected results:
   Successful make

Additional info:
   Mgr: Michael Rice & Proj Mgr: Ajay Phagura

Comment 1 Wolfgang Ulbrich 2017-02-04 07:58:14 UTC
sigh, exactly this is the reason why i provide a gtk3 repo for epel7.
You can't compile m-c-c as a single package with gtk3 and the rest of the dektop use gtk2.
Well, with f25 we switched to gtk3 already, let's have a look in spec files.
http://pkgs.fedoraproject.org/cgit/rpms/mate-control-center.git/tree/mate-control-center.spec?h=f25#n104
BuildRequires: mate-desktop-devel
BuildRequires: mate-menus-devel
BuildRequires: mate-settings-daemon-devel
BuildRequires: marco-devel
All this packages needs to compile first with gtk3 :-)
http://pkgs.fedoraproject.org/cgit/rpms/mate-control-center.git/tree/mate-control-center.spec?h=f25#n212
This are the configure options.
If you really want to compile for your own take a look at my spec files for f25.
For epel7 at corp (gtk3) i use the spec files from fedora rawhide.
As gtk2 code is completely dropped with mate-1.17.x.
So the compile option --with-gtk=3.0 does'nt exists anymore.

Comment 2 Daniel Needles 2017-02-04 16:08:21 UTC
So can I infer:
1.  mate-settings-daemon & mate-control-center are both compiled with GTK2 rather than GTK3 in the EPEL 1.16 build? Correct?
2.  It seemed as if some of the MATE components were in GTK3 on EPEL's compile of MATE 1.16 but thinking about it that is likely not the case.  Correct?

Comment 3 Wolfgang Ulbrich 2017-02-04 19:05:22 UTC
Why thinking so complicate :-)
With official epel7 repo from fedora all MATE components use gtk2.
The corps repo use gtk3 for 1.17.x. You can't mix it.

Comment 4 Daniel Needles 2017-02-04 19:22:17 UTC
Makes sense. Unfortunately, I don't live and breath GNOME/MATE regularly so the learning curve has been steep. Thanks! That does clarify. Options forward are now clear.

Comment 5 Wolfgang Ulbrich 2017-02-04 19:49:06 UTC
For your info, with MATE-1.18 the gtk2 code is dropped.
F26 will come with 1.18. Normal i upgrade previous fedora release and epel7 after the release if everything works well.
I am not sure to upgrade epel7 with 1.18 and switching to gtk3 this time.
As next debian releases will come with 1.16 chances are high that 1.16 will maintain much longer than normal.
What do you think?
Should i upgrade epel7 repo with Mate 1.18 compile with gtk3
or wait for next rhel version to switch Mate to gtk3 there?

Comment 6 Daniel Needles 2017-02-04 20:06:22 UTC
  I'm betting your perspective is larger and more complete than mine.  I need to the needs of one, albeit large, customer.  That said, of course I would love to have an EPEL7, such as MATE-1.17, compiled with GTK3+ in the near term. That would greatly simplify the port of Gnome 3.14 Wacom to the settings-deamon and control-center sources.
  Is it too much to wish for Santa in early Feb? 8-)

Comment 7 Daniel Needles 2017-02-05 03:19:41 UTC
Sorry one last question (put here for posterity)

Is the SPEC file,patches, etc for MATE 1.16 available? I forgot to explicitly ask as the source code for the version in EPEL:
  mate-control-center.x86_64                  1.16.0-1.el7
It is not here:   
  https://git.centos.org/project/rpms 
And these files are not included in the tar balls:
      curl http://pub.mate-desktop.org/releases/1.16/ | grep href | awk -F\" '{ print "http://pub.mate-desktop.org/releases/1.16/" $2 }' | xargs wget

Comment 8 Wolfgang Ulbrich 2017-02-05 08:45:35 UTC
epel7 builds you will find at koji.
https://koji.fedoraproject.org/koji/packageinfo?packageID=14800
for all fedora and epel7 branches.