Bug 1512213

Summary: Move header file gdm-pam-extensions.h to separate package with minimal dependencies
Product: Red Hat Enterprise Linux 7 Reporter: Lukas Slebodnik <lslebodn>
Component: gdmAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 7.5CC: alexl, bgollahe, caillon+fedoraproject, extras-qa, gnome-sig, john.j5live, mboisver, mclasen, nobody+bgollahe, rhughes, rstrode, tpelka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gdm-3.26.2.1-3.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1512212 Environment:
Last Closed: 2018-04-10 13:07:25 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:
Bug Depends On: 1512212    
Bug Blocks: 1507614    
Attachments:
Description Flags
proposed change none

Description Lukas Slebodnik 2017-11-11 16:17:44 UTC
+++ This bug was initially created as a clone of Bug #1512212 +++

Description of problem:
The header file gdm-pam-extensions.h (/usr/include/gdm/gdm-pam-extensions.h) is a minimal header file which requires only glibc-headers and pam-devel. it provides few C macros + few definitions of structures and it does not depends on any gdm(gnome) library.

This header file should be used in pam_sss which has minimal dependency.
And there is a sssd ticket to separate it from daemon.
https://pagure.io/SSSD/sssd/issue/2240

So installing whole gdm including all dependencies would huge complication.

Please move this header file (+related pkgconfig file) to separate package
which depends only on glibc and pam-devel


However it is part of gdm-devel which pull many dependencies

Version-Release number of selected component (if applicable):
sh$ rpm -q gdm-devel
gdm-devel-3.26.2.1-1.fc27

How reproducible:
Deterministic

Steps to Reproduce:
1. yum install 'pkgconfig(gdm-pam-extensions)'
2. rpm -q pam-devel

Actual results:
//318 packages installed including many X11 and wayland related packages
//and pam-devel is not installed as a dependency
sh$ # yum install 'pkgconfig(gdm-pam-extensions)'             
Last metadata expiration check: 0:12:31 ago on Sat Nov 11 15:55:58 2017.
Dependencies resolved.
================================================================================
 Package                         Arch   Version                   Repository
                                                                           Size
================================================================================
Installing:
 gdm-devel                       x86_64 1:3.26.2.1-1.fc27         updates  31 k
Installing dependencies:
 GConf2                          x86_64 3.2.6-19.fc27             fedora  1.0 M
 GeoIP-GeoLite-data              noarch 2017.10-1.fc27            fedora  517 k
 ModemManager-glib               x86_64 1.6.10-1.fc27             updates 238 k
 NetworkManager                  x86_64 1:1.8.4-6.fc27            updates 1.6 M
 NetworkManager-glib             x86_64 1:1.8.4-6.fc27            updates 1.1 M
 NetworkManager-libnm            x86_64 1:1.8.4-6.fc27            updates 1.2 M
 NetworkManager-wifi             x86_64 1:1.8.4-6.fc27            updates 158 k
 abattis-cantarell-fonts         noarch 0.0.25-3.fc27             fedora  154 k
 accountsservice                 x86_64 0.6.42-4.fc27             fedora   97 k
 accountsservice-libs            x86_64 0.6.42-4.fc27             fedora   83 k
 adwaita-cursor-theme            noarch 3.26.0-1.fc27             fedora  645 k
 adwaita-gtk2-theme              x86_64 3.22.3-5.fc27             updates 130 k
 adwaita-icon-theme              noarch 3.26.0-1.fc27             fedora   12 M
 alsa-lib                        x86_64 1.1.4.1-3.fc27            fedora  424 k
 argyllcms                       x86_64 1.9.2-4.fc27              fedora  2.0 M
 at-spi2-atk                     x86_64 2.26.1-1.fc27             updates  87 k
 at-spi2-core                    x86_64 2.26.2-1.fc27             updates 167 k
 atk                             x86_64 2.26.1-1.fc27             updates 269 k
 authconfig                      x86_64 7.0.1-4.fc27              fedora  227 k
 avahi-glib                      x86_64 0.7-3.fc27                fedora   13 k
 avahi-libs                      x86_64 0.7-3.fc27                fedora   60 k
 bluez                           x86_64 5.47-2.fc27               fedora  1.2 M
 bluez-libs                      x86_64 5.47-2.fc27               fedora   88 k
 bluez-obexd                     x86_64 5.47-2.fc27               fedora  199 k
 bubblewrap                      x86_64 0.1.8-3.fc27              fedora   42 k
 cairo                           x86_64 1.15.8-1.fc27             fedora  706 k
 cairo-gobject                   x86_64 1.15.8-1.fc27             fedora   31 k
 caribou                         x86_64 0.4.21-5.fc27             fedora  165 k
 caribou-gtk2-module             x86_64 0.4.21-5.fc27             fedora   27 k
 caribou-gtk3-module             x86_64 0.4.21-5.fc27             fedora   27 k
 cdparanoia-libs                 x86_64 10.2-24.fc27              fedora   58 k
 cheese-libs                     x86_64 2:3.26.0-1.fc27           fedora  1.1 M
 clutter                         x86_64 1.26.2-1.fc27             fedora  1.1 M
 clutter-gst3                    x86_64 3.0.24-3.fc27             fedora   80 k
 clutter-gtk                     x86_64 1.8.4-1.fc27              fedora   51 k
 cogl                            x86_64 1.22.2-7.fc27             fedora  470 k
 color-filesystem                noarch 1-19.fc27                 fedora  9.1 k
 colord                          x86_64 1.4.1-2.fc27              fedora  520 k
 colord-gtk                      x86_64 0.1.26-6.fc27             fedora   31 k
 colord-libs                     x86_64 1.4.1-2.fc27              fedora  230 k
 control-center                  x86_64 1:3.26.2-1.fc27           updates 4.5 M
 control-center-filesystem       x86_64 1:3.26.2-1.fc27           updates  26 k
 cpio                            x86_64 2.12-6.fc27               fedora  262 k
 cups-libs                       x86_64 1:2.2.4-6.fc27            fedora  421 k
 cups-pk-helper                  x86_64 0.2.6-4.fc27              fedora   89 k
 dbus-x11                        x86_64 1:1.12.0-1.fc27           updates  55 k
 dconf                           x86_64 0.26.1-1.fc27             fedora  103 k
 desktop-file-utils              x86_64 0.23-5.fc27               fedora   77 k
 enchant                         x86_64 1:1.6.0-18.fc27           fedora   61 k
 eosrei-emojione-fonts           noarch 1.0-5.fc27                fedora  2.5 M
 evolution-data-server           x86_64 3.26.2.1-1.fc27           updates 2.1 M
 evolution-data-server-langpacks noarch 3.26.2.1-1.fc27           updates 1.4 M
 exiv2-libs                      x86_64 0.26-6.fc27               fedora  799 k
 fedora-logos                    x86_64 26.0.1-3.fc27             fedora  8.2 M
 findutils                       x86_64 1:4.6.0-14.fc27           fedora  522 k
 flac-libs                       x86_64 1.3.2-4.fc27              fedora  213 k
 fontconfig                      x86_64 2.12.6-3.fc27             fedora  253 k
 fontpackages-filesystem         noarch 1.44-19.fc27              fedora   14 k
 freetype                        x86_64 2.8-6.fc27                fedora  380 k
 gcr                             x86_64 3.20.0-6.fc27             fedora  669 k
 gdk-pixbuf2                     x86_64 2.36.11-1.fc27            fedora  464 k
 gdk-pixbuf2-modules             x86_64 2.36.11-1.fc27            fedora  105 k
 gdm                             x86_64 1:3.26.2.1-1.fc27         updates 525 k
 geoclue2                        x86_64 2.4.7-1.fc27              fedora  113 k
 geoclue2-libs                   x86_64 2.4.7-1.fc27              fedora   47 k
 geocode-glib                    x86_64 3.25.4.1-1.fc27           fedora   69 k
 gjs                             x86_64 1.50.2-1.fc27             updates 343 k
 glib-networking                 x86_64 2.54.1-1.fc27             updates 141 k
 glx-utils                       x86_64 8.3.0-9.fc27              updates  40 k
 gmime30                         x86_64 3.0.3-1.fc27              updates 202 k
 gnome-bluetooth                 x86_64 1:3.26.1-1.fc27           fedora   57 k
 gnome-bluetooth-libs            x86_64 1:3.26.1-1.fc27           fedora  320 k
 gnome-desktop3                  x86_64 3.26.2-1.fc27             updates 564 k
 gnome-keyring                   x86_64 3.20.1-3.fc27             fedora  911 k
 gnome-keyring-pam               x86_64 3.20.1-3.fc27             fedora   45 k
 gnome-online-accounts           x86_64 3.26.1-2.fc27             updates 576 k
 gnome-session                   x86_64 3.26.1-1.fc27             fedora  369 k
 gnome-session-wayland-session   x86_64 3.26.1-1.fc27             fedora   11 k
 gnome-session-xsession          x86_64 3.26.1-1.fc27             fedora   12 k
 gnome-settings-daemon           x86_64 3.26.2-1.fc27             updates 1.0 M
 gnome-shell                     x86_64 3.26.2-1.fc27             updates 2.0 M
 gnome-themes-standard           x86_64 3.22.3-5.fc27             updates 2.7 M
 gobject-introspection           x86_64 1.54.1-1.fc27             fedora  251 k
 graphite2                       x86_64 1.3.10-3.fc27             fedora  119 k
 grilo                           x86_64 0.3.4-1.fc27              fedora  216 k
 gsettings-desktop-schemas       x86_64 3.24.1-1.fc27             fedora  592 k
 gsm                             x86_64 1.0.17-3.fc27             fedora   35 k
 gssdp                           x86_64 1.0.2-3.fc27              fedora   55 k
 gstreamer1                      x86_64 1.12.3-1.fc27             fedora  1.2 M
 gstreamer1-plugins-bad-free     x86_64 1.12.3-1.fc27             fedora  1.9 M
 gstreamer1-plugins-base         x86_64 1.12.3-1.fc27             fedora  1.6 M
 gtk-update-icon-cache           x86_64 3.22.25-1.fc27            updates  33 k
 gtk2                            x86_64 2.24.31-6.fc27            fedora  3.4 M
 gtk3                            x86_64 3.22.25-1.fc27            updates 4.5 M
 gupnp                           x86_64 1.0.2-3.fc27              fedora  100 k
 gupnp-av                        x86_64 0.12.10-4.fc27            fedora   94 k
 gupnp-dlna                      x86_64 0.10.5-5.fc27             fedora   91 k
 harfbuzz                        x86_64 1.4.8-1.fc27              fedora  260 k
 harfbuzz-icu                    x86_64 1.4.8-1.fc27              fedora   21 k
 hicolor-icon-theme              noarch 0.17-1.fc27               fedora   47 k
 hostname                        x86_64 3.18-4.fc27               fedora   28 k
 hunspell                        x86_64 1.5.4-4.fc27              fedora  328 k
 hunspell-en-GB                  noarch 0.20140811.1-9.fc27       fedora  244 k
 hunspell-en-US                  noarch 0.20140811.1-9.fc27       fedora  195 k
 hwdata                          noarch 0.306-1.fc27              updates 1.4 M
 hyphen                          x86_64 2.8.8-8.fc27              fedora   31 k
 ibus-libs                       x86_64 1.5.16-11.fc27            fedora  241 k
 iio-sensor-proxy                x86_64 2.3-1.fc27                fedora   51 k
 initscripts                     x86_64 9.77-1.fc27               fedora  392 k
 ipcalc                          x86_64 0.2.0-3.fc27              fedora   35 k
 iproute                         x86_64 4.12.0-3.fc27             fedora  493 k
 iputils                         x86_64 20161105-7.fc27           fedora  157 k
 iso-codes                       noarch 3.75-2.fc27               fedora  3.2 M
 jansson                         x86_64 2.10-4.fc27               fedora   42 k
 jasper-libs                     x86_64 2.0.14-1.fc27             fedora  163 k
 jbigkit-libs                    x86_64 2.1-8.fc27                fedora   52 k
 json-c                          x86_64 0.12.1-4.fc27             fedora   30 k
 json-glib                       x86_64 1.4.2-1.fc27              fedora  140 k
 kbd-legacy                      noarch 2.0.4-4.fc27              fedora  479 k
 kbd-misc                        noarch 2.0.4-4.fc27              fedora  1.4 M
 kmod                            x86_64 24-3.fc27                 fedora  113 k
 lcms2                           x86_64 2.8-5.fc27                fedora  161 k
 libICE                          x86_64 1.0.9-11.fc27             fedora   71 k
 libSM                           x86_64 1.2.2-7.fc27              fedora   43 k
 libX11                          x86_64 1.6.5-4.fc27              fedora  616 k
 libX11-common                   noarch 1.6.5-4.fc27              fedora  166 k
 libX11-xcb                      x86_64 1.6.5-4.fc27              fedora   22 k
 libXau                          x86_64 1.0.8-9.fc27              fedora   33 k
 libXcomposite                   x86_64 0.4.4-11.fc27             fedora   27 k
 libXcursor                      x86_64 1.1.14-10.fc27            fedora   34 k
 libXdamage                      x86_64 1.1.4-11.fc27             fedora   25 k
 libXdmcp                        x86_64 1.1.2-8.fc27              fedora   38 k
 libXext                         x86_64 1.3.3-7.fc27              fedora   43 k
 libXfixes                       x86_64 5.0.3-4.fc27              fedora   23 k
 libXfont2                       x86_64 2.0.2-1.fc27              updates 146 k
 libXft                          x86_64 2.3.2-7.fc27              fedora   64 k
 libXi                           x86_64 1.7.9-4.fc27              fedora   45 k
 libXinerama                     x86_64 1.1.3-9.fc27              fedora   18 k
 libXmu                          x86_64 1.1.2-7.fc27              fedora   76 k
 libXrandr                       x86_64 1.5.1-4.fc27              fedora   31 k
 libXrender                      x86_64 0.9.10-4.fc27             fedora   31 k
 libXt                           x86_64 1.1.5-6.fc27              fedora  182 k
 libXtst                         x86_64 1.2.3-4.fc27              fedora   25 k
 libXv                           x86_64 1.0.11-4.fc27             fedora   22 k
 libXxf86misc                    x86_64 1.0.3-14.fc27             fedora   24 k
 libXxf86vm                      x86_64 1.1.4-6.fc27              fedora   22 k
 libasyncns                      x86_64 0.8-13.fc27               fedora   31 k
 libcanberra                     x86_64 0.30-15.fc27              fedora   91 k
 libcanberra-gtk3                x86_64 0.30-15.fc27              fedora   37 k
 libcroco                        x86_64 0.6.12-3.fc27             fedora  110 k
 libdatrie                       x86_64 0.2.9-6.fc27              fedora   31 k
 libdrm                          x86_64 2.4.85-1.fc27             updates 161 k
 libdvdnav                       x86_64 5.0.3-7.fc27              fedora   59 k
 libdvdread                      x86_64 5.0.3-7.fc27              fedora   73 k
 libepoxy                        x86_64 1.4.3-3.fc27              fedora  201 k
 libevdev                        x86_64 1.5.7-3.fc27              fedora   40 k
 libexif                         x86_64 0.6.21-13.fc27            fedora  352 k
 libfontenc                      x86_64 1.1.3-6.fc27              fedora   35 k
 libgdata                        x86_64 0.17.9-1.fc27             fedora  448 k
 libgee                          x86_64 0.20.0-3.fc27             fedora  276 k
 libglvnd                        x86_64 1:0.2.999-24.20170818git8d4d03f.fc27
                                                                  fedora   92 k
 libglvnd-egl                    x86_64 1:0.2.999-24.20170818git8d4d03f.fc27
                                                                  fedora   46 k
 libglvnd-gles                   x86_64 1:0.2.999-24.20170818git8d4d03f.fc27
                                                                  fedora   37 k
 libglvnd-glx                    x86_64 1:0.2.999-24.20170818git8d4d03f.fc27
                                                                  fedora  128 k
 libgnomekbd                     x86_64 3.26.0-1.fc27             fedora  166 k
 libgomp                         x86_64 7.2.1-2.fc27              fedora  198 k
 libgtop2                        x86_64 2.38.0-1.fc27             fedora  139 k
 libgudev                        x86_64 232-1.fc27                fedora   31 k
 libgusb                         x86_64 0.2.11-3.fc27             fedora   47 k
 libgweather                     x86_64 3.26.0-1.fc27             fedora  3.0 M
 libical                         x86_64 2.0.0-12.fc27             fedora  216 k
 libicu                          x86_64 57.1-8.fc27               fedora  8.4 M
 libimobiledevice                x86_64 1.2.0-11.fc27             fedora   75 k
 libinput                        x86_64 1.9.0-1.fc27              updates 165 k
 libjpeg-turbo                   x86_64 1.5.1-4.fc27              fedora  151 k
 libldb                          x86_64 1.3.0-2.fc27              updates 151 k
 libmcpp                         x86_64 2.7.2-19.fc27             fedora   79 k
 libmediaart                     x86_64 1.9.4-1.fc27              fedora   44 k
 libmnl                          x86_64 1.0.4-4.fc27              fedora   28 k
 libmodman                       x86_64 2.0.1-16.fc27             fedora   33 k
 libmpcdec                       x86_64 1.2.6-19.fc27             fedora   35 k
 libndp                          x86_64 1.6-4.fc27                fedora   36 k
 libnl3                          x86_64 3.3.0-3.fc27              fedora  298 k
 libnma                          x86_64 1.8.4-1.fc27              fedora  103 k
 libnotify                       x86_64 0.7.7-4.fc27              fedora   45 k
 liboauth                        x86_64 1.0.3-8.fc27              fedora   27 k
 libogg                          x86_64 2:1.3.2-8.fc27            fedora   29 k
 libpciaccess                    x86_64 0.13.4-6.fc27             fedora   30 k
 libpkgconf                      x86_64 1.3.10-1.fc27             updates  31 k
 libplist                        x86_64 2.0.0-3.fc27              fedora   72 k
 libpng                          x86_64 2:1.6.31-1.fc27           fedora  123 k
 libproxy                        x86_64 0.4.15-4.fc27             fedora   67 k
 libquvi                         x86_64 0.9.4-11.fc27             fedora   89 k
 libquvi-scripts                 noarch 0.9.20131130-8.fc27       fedora  108 k
 librsvg2                        x86_64 2.40.19-1.fc27            fedora  139 k
 libselinux-utils                x86_64 2.7-2.fc27                fedora  162 k
 libsmbclient                    x86_64 2:4.7.1-0.fc27            updates 131 k
 libsndfile                      x86_64 1.0.28-6.fc27             fedora  191 k
 libsoup                         x86_64 2.60.2-1.fc27             updates 413 k
 libsrtp                         x86_64 1.5.4-6.fc27              fedora  293 k
 libtalloc                       x86_64 2.1.10-4.fc27             fedora   47 k
 libtdb                          x86_64 1.3.15-1.fc27             fedora   53 k
 libtevent                       x86_64 0.9.33-3.fc27             fedora   41 k
 libthai                         x86_64 0.1.25-4.fc27             fedora  199 k
 libtheora                       x86_64 1:1.1.1-18.fc27           fedora  190 k
 libtiff                         x86_64 4.0.8-3.fc27              fedora  181 k
 libunwind                       x86_64 1.2.1-3.fc27              updates  67 k
 libusbmuxd                      x86_64 1.0.10-8.fc27             fedora   33 k
 libvdpau                        x86_64 1.1.1-6.fc27              fedora   38 k
 libvisual                       x86_64 1:0.4.0-23.fc27           fedora  143 k
 libvorbis                       x86_64 1:1.3.5-4.fc27            fedora  196 k
 libwacom                        x86_64 0.26-1.fc27               fedora   37 k
 libwacom-data                   noarch 0.26-1.fc27               fedora   67 k
 libwayland-client               x86_64 1.14.0-1.fc27             fedora   36 k
 libwayland-cursor               x86_64 1.14.0-1.fc27             fedora   24 k
 libwayland-server               x86_64 1.14.0-1.fc27             fedora   42 k
 libwbclient                     x86_64 2:4.7.1-0.fc27            updates 106 k
 libwebp                         x86_64 0.6.0-4.fc27              fedora  261 k
 libxcb                          x86_64 1.12-5.fc27               fedora  224 k
 libxkbcommon-x11                x86_64 0.7.1-5.fc27              fedora   23 k
 libxkbfile                      x86_64 1.0.9-6.fc27              fedora   88 k
 libxklavier                     x86_64 5.4-9.fc27                fedora   68 k
 libxshmfence                    x86_64 1.2-6.fc27                fedora   11 k
 libxslt                         x86_64 1.1.29-4.fc27             fedora  252 k
 linux-atm-libs                  x86_64 2.5.1-19.fc27             fedora   40 k
 lua                             x86_64 5.3.4-6.fc27              updates 190 k
 lua-expat                       x86_64 1.3.0-10.fc27             fedora   36 k
 lua-json                        noarch 1.3.2-8.fc27              fedora   27 k
 lua-lpeg                        x86_64 1.0.1-4.fc27              fedora   65 k
 lua-socket                      x86_64 3.0-0.15.rc1.fc27         fedora  181 k
 mcpp                            x86_64 2.7.2-19.fc27             fedora   30 k
 mesa-libEGL                     x86_64 17.2.4-1.fc27             updates 113 k
 mesa-libGL                      x86_64 17.2.4-1.fc27             updates 171 k
 mesa-libgbm                     x86_64 17.2.4-1.fc27             updates  49 k
 mesa-libglapi                   x86_64 17.2.4-1.fc27             updates  55 k
 mesa-libwayland-egl             x86_64 17.2.4-1.fc27             updates  29 k
 mobile-broadband-provider-info  noarch 1.20170105git-3.fc27      fedora   54 k
 mozilla-filesystem              x86_64 1.9-17.fc27               fedora  9.3 k
 mozjs17                         x86_64 17.0.0-21.fc27            fedora  1.4 M
 mozjs52                         x86_64 52.4.0-1.fc27             fedora  6.6 M
 mtdev                           x86_64 1.1.5-9.fc27              fedora   22 k
 mutter                          x86_64 3.26.2-1.fc27             updates 2.3 M
 nm-connection-editor            x86_64 1.8.4-1.fc27              fedora  922 k
 openssl                         x86_64 1:1.1.0f-9.fc27           fedora  544 k
 opus                            x86_64 1.2.1-3.fc27              fedora  197 k
 orc                             x86_64 0.4.27-3.fc27             fedora  172 k
 pango                           x86_64 1.40.13-2.fc27            updates 295 k
 pipewire                        x86_64 0.1.5-2.fc27              fedora  279 k
 pipewire-libs                   x86_64 0.1.5-2.fc27              fedora   20 k
 pixman                          x86_64 0.34.0-4.fc27             fedora  252 k
 pkgconf                         x86_64 1.3.10-1.fc27             updates  31 k
 pkgconf-m4                      noarch 1.3.10-1.fc27             updates  13 k
 pkgconf-pkg-config              x86_64 1.3.10-1.fc27             updates  13 k
 policycoreutils                 x86_64 2.7-1.fc27                fedora  705 k
 polkit                          x86_64 0.113-15.fc27             fedora  129 k
 polkit-libs                     x86_64 0.113-15.fc27             fedora   71 k
 polkit-pkla-compat              x86_64 0.1-10.fc27               fedora   44 k
 procps-ng                       x86_64 3.3.10-15.fc27            fedora  395 k
 psmisc                          x86_64 23.1-2.fc27               fedora  148 k
 pulseaudio                      x86_64 11.1-3.fc27               fedora  983 k
 pulseaudio-gdm-hooks            x86_64 11.1-3.fc27               fedora   18 k
 pulseaudio-libs                 x86_64 11.1-3.fc27               fedora  666 k
 pulseaudio-libs-glib2           x86_64 11.1-3.fc27               fedora   26 k
 pulseaudio-module-bluetooth     x86_64 11.1-3.fc27               fedora   79 k
 python3-cairo                   x86_64 1.15.3-1.fc27             fedora   79 k
 python3-caribou                 noarch 0.4.21-5.fc27             fedora   50 k
 python3-gobject                 x86_64 3.26.1-1.fc27             updates  23 k
 python3-gobject-base            x86_64 3.26.1-1.fc27             updates 302 k
 python3-pyatspi                 noarch 2.26.0-2.fc27             fedora   92 k
 python3-sssdconfig              noarch 1.16.0-2.fc27             updates 107 k
 realmd                          x86_64 0.16.3-7.fc27             fedora  227 k
 rest                            x86_64 0.8.1-1.fc27              updates  68 k
 rtkit                           x86_64 0.11-17.fc27              fedora   58 k
 rygel                           x86_64 0.36.0-1.fc27             fedora  1.0 M
 samba-client-libs               x86_64 2:4.7.1-0.fc27            updates 4.9 M
 samba-common                    noarch 2:4.7.1-0.fc27            updates 200 k
 sbc                             x86_64 1.3-7.fc27                fedora   63 k
 sound-theme-freedesktop         noarch 0.8-8.fc27                fedora  380 k
 soundtouch                      x86_64 1.9.2-6.fc27              fedora   71 k
 soxr                            x86_64 0.1.2-4.fc27              fedora   82 k
 speexdsp                        x86_64 1.2-0.12.rc3.fc27         fedora  454 k
 startup-notification            x86_64 0.12-14.fc27              fedora   44 k
 switcheroo-control              x86_64 1.1-4.fc27                fedora   28 k
 systemd-udev                    x86_64 234-9.fc27                updates 1.3 M
 tcp_wrappers-libs               x86_64 7.6-87.fc27               fedora   72 k
 telepathy-filesystem            noarch 0.0.2-11.fc27             fedora  8.4 k
 telepathy-glib                  x86_64 0.24.1-7.fc27             fedora  730 k
 telepathy-logger                x86_64 0.8.2-6.fc27              fedora  104 k
 totem-pl-parser                 x86_64 3.26.0-1.fc27             fedora  188 k
 upower                          x86_64 0.99.6-1.fc27             fedora  166 k
 vino                            x86_64 3.22.0-4.fc27             fedora  463 k
 vte-profile                     x86_64 0.50.2-2.fc27             updates  13 k
 vte291                          x86_64 0.50.2-2.fc27             updates 246 k
 webkitgtk4                      x86_64 2.18.2-2.fc27             updates  13 M
 webkitgtk4-jsc                  x86_64 2.18.2-2.fc27             updates 4.4 M
 webrtc-audio-processing         x86_64 0.3-4.fc27                fedora  286 k
 wpa_supplicant                  x86_64 1:2.6-12.fc27             updates 1.7 M
 xcb-util                        x86_64 0.4.0-8.fc27              fedora   20 k
 xml-common                      noarch 0.6.3-46.fc27             fedora   30 k
 xorg-x11-server-Xwayland        x86_64 1.19.5-1.fc27             fedora  947 k
 xorg-x11-server-common          x86_64 1.19.5-1.fc27             fedora   49 k
 xorg-x11-server-utils           x86_64 7.7-23.fc27               fedora  191 k
 xorg-x11-xauth                  x86_64 1:1.0.9-9.fc27            fedora   36 k
 xorg-x11-xinit                  x86_64 1.3.4-16.fc27             fedora   56 k
 xorg-x11-xkb-utils              x86_64 7.7-21.fc27               fedora  111 k
 zenity                          x86_64 3.24.0-3.fc27             fedora  756 k
Installing weak dependencies:
 GeoIP                           x86_64 1.6.11-3.fc27             fedora  124 k
 exiv2                           x86_64 0.26-6.fc27               fedora  893 k
 gnome-color-manager             x86_64 3.26.0-1.fc27             fedora  1.6 M
 hunspell-en                     noarch 0.20140811.1-9.fc27       fedora  198 k
 iproute-tc                      x86_64 4.12.0-3.fc27             fedora  370 k
 kbd                             x86_64 2.0.4-4.fc27              fedora  385 k
 pinentry-gtk                    x86_64 0.9.7-4.fc27              fedora   49 k
 systemd-bootchart               x86_64 233-1.fc27                fedora   67 k
 webkitgtk4-plugin-process-gtk2  x86_64 2.18.2-2.fc27             updates 9.7 M

Transaction Summary
================================================================================
Install  316 Packages

Total download size: 170 M
Installed size: 573 M


Expected results:
sh$ yum install 'pkgconfig(gdm-pam-extensions)'       
Last metadata expiration check: 0:15:36 ago on Sat Nov 11 15:55:58 2017.
Dependencies resolved.
================================================================================
 Package              Arch         Version                  Repository     Size
================================================================================
Installing:
 gdm-pam-devel        x86_64       1:3.26.2.1-1.fc27        updates        31 k
Installing dependencies:
 glibc-headers        x86_64       2.26-15.fc27             fedora        500 k
 pam-devel            x86_64       1.3.0-6.fc27             fedora        188 k
 kernel-headers       x86_64       4.13.11-300.fc27         updates       1.2 M

Transaction Summary
================================================================================
Install  4 Packages

Total download size: 1.8 M
Installed size: 6.9 M

Comment 2 Lukas Slebodnik 2017-11-11 16:26:07 UTC
There are less packages installed in rhel7 then in fedora 27
but it is still huge disadvantage for compilation of file which depends only on glibc and pam.

sh# yum install 'pkgconfig(gdm-pam-extensions)'
Loaded plugins: ovl
Resolving Dependencies
--> Running transaction check
---> Package gdm-devel.x86_64 1:3.26.2.1-1.el7 will be installed
--> Processing Dependency: gdm(x86-64) = 1:3.26.2.1-1.el7 for package: 1:gdm-devel-3.26.2.1-1.el7.x86_64

//snip

 xml-common            noarch 0.6.3-39.el7           RHEL-7.5-x86_64-main  26 k
 xorg-x11-server-utils x86_64 7.7-20.el7             RHEL-7.5-x86_64-main 178 k
 xorg-x11-xauth        x86_64 1:1.0.9-1.el7          RHEL-7.5-x86_64-main  30 k
 xorg-x11-xinit        x86_64 1.3.4-2.el7            RHEL-7.5-x86_64-main  59 k
 xorg-x11-xkb-utils    x86_64 7.7-12.el7             RHEL-7.5-x86_64-main 103 k
 zenity                x86_64 3.22.0-1.el7           RHEL-7.5-x86_64-main 744 k

Transaction Summary
================================================================================
Install  1 Package (+253 Dependent packages)

Total download size: 199 M
Installed size: 662 M

Comment 3 Lukas Slebodnik 2017-11-11 16:27:45 UTC
BTW it adds 220 build dependencies for sssd + 0 runtime dependencies.

Expected result is 1 additional build dependency for sssd (because sssd already depends on pam-devel and glibc-headers

Comment 4 Ray Strode [halfline] 2017-11-13 14:52:08 UTC
So the approach we ended up with was decided on in bug 1413900 comment 8 and bug 1413900 comment 9.

As you point out the current approach doesn't add any runtime dependencies, and I don't think it adds any build loops, so it's not actually, practically speaking, a real problem is it?

i don't really want to create new upstream module, and add a whole new package to rhel for this.  That's a lot of overhead for a file with a few convenience macros in it. If the build dependencies are actually an issue, can sssd just copy the header file in tree ?

Alternatively, I guess I could create a new subpackage, 

%package pam-extensions
Summary: macros for developing pam extensions that GDM supports
Group: Development/Libraries
Requires: pam-devel

And not have an explict

Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}

for the subpackage.  I think that would eliminate the build deps, but it might make rpmdiff balk.  I'm not sure.

so three possibilities: 

1) new module, new package, maitai process, etc
2) sssd copies header in tree
3) new subpackage

I'm okay with 2 or 3, but you'll have to convince me harder for 1.

Thoughts?

Comment 5 Lukas Slebodnik 2017-11-14 12:57:49 UTC
(In reply to Ray Strode [halfline] from comment #4)
> So the approach we ended up with was decided on in bug 1413900 comment 8 and
> bug 1413900 comment 9.
> 
> As you point out the current approach doesn't add any runtime dependencies,
> and I don't think it adds any build loops, so it's not actually, practically
> speaking, a real problem is it?
> 
> i don't really want to create new upstream module, and add a whole new
> package to rhel for this.  That's a lot of overhead for a file with a few
> convenience macros in it. If the build dependencies are actually an issue,
> can sssd just copy the header file in tree ?
> 
> Alternatively, I guess I could create a new subpackage, 
> 
> %package pam-extensions
> Summary: macros for developing pam extensions that GDM supports
> Group: Development/Libraries
> Requires: pam-devel
> 
> And not have an explict
> 
> Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
What would be purpose of this requires?

Because it will if gdm-pam-extensions will depend on gdm than it would still pull many x11/wayland related dependencies.


> for the subpackage.  I think that would eliminate the build deps, but it
> might make rpmdiff balk.  I'm not sure.
> 
> so three possibilities: 
> 
> 1) new module, new package, maitai process, etc
> 2) sssd copies header in tree
> 3) new subpackage
> 
> I'm okay with 2 or 3, but you'll have to convince me harder for 1.
> 
> Thoughts?

Sorry when it was not clear but but I meant new sub-package.

Comment 6 Lukas Slebodnik 2017-11-14 13:18:27 UTC
(In reply to Lukas Slebodnik from comment #5)
> (In reply to Ray Strode [halfline] from comment #4)
> > So the approach we ended up with was decided on in bug 1413900 comment 8 and
> > bug 1413900 comment 9.
> > 
> > As you point out the current approach doesn't add any runtime dependencies,
> > and I don't think it adds any build loops, so it's not actually, practically
> > speaking, a real problem is it?
> > 
> > i don't really want to create new upstream module, and add a whole new
> > package to rhel for this.  That's a lot of overhead for a file with a few
> > convenience macros in it. If the build dependencies are actually an issue,
> > can sssd just copy the header file in tree ?
> > 
> > Alternatively, I guess I could create a new subpackage, 
> > 
> > %package pam-extensions
> > Summary: macros for developing pam extensions that GDM supports
> > Group: Development/Libraries
> > Requires: pam-devel
> > 
> > And not have an explict
> > 
> > Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
> What would be purpose of this requires?
> 
> Because it will if gdm-pam-extensions will depend on gdm than it would still
> pull many x11/wayland related dependencies.
>
Because if gdm-pam-extensions depends on gdm then it will pull many x11/wayland related dependencies.

And it would not solve anything. It woudl be the same situation as with gdm-devel.

[root@ec786a0148ff /]# rpm -q gdm
gdm-3.26.2.1-1.el7.x86_64
[root@ec786a0148ff /]# yum install gdm-devel
Loaded plugins: ovl
Resolving Dependencies
--> Running transaction check
---> Package gdm-devel.x86_64 1:3.26.2.1-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch      Version               Repository                   Size
================================================================================
Installing:
 gdm-devel    x86_64    1:3.26.2.1-1.el7      RHEL-7.5-x86_64-optional     28 k

Transaction Summary
================================================================================
Install  1 Package

Comment 7 Ray Strode [halfline] 2017-11-14 16:15:00 UTC
(In reply to Lukas Slebodnik from comment #5)

> > And not have an explict
> > 
> > Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
> What would be purpose of this requires?
> 
> Because it will if gdm-pam-extensions will depend on gdm than it would still
> pull many x11/wayland related dependencies.
Exactly, we can't have the requires for that reason.

Normally subpackages do have the requires to make sure the subpackage always gets upgraded in lockstep with the main package.

> Sorry when it was not clear but but I meant new sub-package.
okay sure. though i'm still curious why the extra build requirements are a problem.  even if it were hundreds of build requirements, why would it matter (unless it creates build loops, i mean)?

Comment 8 Lukas Slebodnik 2017-11-14 17:03:09 UTC
(In reply to Ray Strode [halfline] from comment #7)
> (In reply to Lukas Slebodnik from comment #5)
> 
> > > And not have an explict
> > > 
> > > Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
> > What would be purpose of this requires?
> > 
> > Because it will if gdm-pam-extensions will depend on gdm than it would still
> > pull many x11/wayland related dependencies.
> Exactly, we can't have the requires for that reason.
> 
> Normally subpackages do have the requires to make sure the subpackage always
> gets upgraded in lockstep with the main package.
> 

I am not rpm package expert but you might use following as well
Conflicts: %{name}%{?_isa} < %{epoch}:%{version}-%{release}

> > Sorry when it was not clear but but I meant new sub-package.
> okay sure. though i'm still curious why the extra build requirements are a
> problem.  even if it were hundreds of build requirements, why would it
> matter (unless it creates build loops, i mean)?

A) It adds unnecessary 600+ MiB of build dependencies to sssd which causes little issues to our CI
B) I do  not use GNOME/GDM but I want to develop sssd with all available features
C) Extra additional dependencies increase probability of problems in rawhide(but that's different BZ)

And minimal devel package gdm-pam-devel(gdb-pam-extensions-devel or whatever name) is a win-win situation.

Comment 10 Ray Strode [halfline] 2017-11-14 17:37:14 UTC
Created attachment 1352086 [details]
proposed change

Comment 11 Ray Strode [halfline] 2017-11-14 17:38:33 UTC
will push attachment 1352086 [details] if Brian is okay with this going in and gives a pm ack.

Comment 12 Lukas Slebodnik 2017-11-15 10:34:35 UTC
(In reply to Ray Strode [halfline] from comment #10)
> Created attachment 1352086 [details]
> proposed change

Do you think it make sense to have suffix "-devel" in the name of new sub-package?

Otherwise thank you very much. I really appreciate it.

Comment 13 Ray Strode [halfline] 2017-11-15 15:47:08 UTC
i don't think it really matters to be honest. we have lots of prior art where -devel isn't used (atleast xorg-x11-util-macros and kernel-headers off the top of my head).  But I don't care either way, so I'll throw -devel in the name when i push.

Comment 15 Michael Boisvert 2018-01-17 20:25:30 UTC
I can confirm that both the large list of dependencies is gone and pam-devel is now installed as a dependency, using the reproducer in the description.

Comment 18 errata-xmlrpc 2018-04-10 13:07:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0770