[Bug 959926] Review Request: libyui - GUI-abstraction library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Product: Fedora
https://bugzilla.redhat.com/show_bug.cgi?id=959926

--- Comment #6 from Michael Schwendt <mschwendt@xxxxxxxxx> ---
* Minor typo: s/pakage/package/  in the new -devel %description.


* About the PIE build, I'm not convinced that a GUI framework should enable
those build options (gtk3 and Qt don't do that either), but it's not a blocker.


* The following is an example of macro-madness: ;-p

  Patch0:         lib%{libsuffix}_honor_compiler_flags.patch

Files (such as these Patch files) typically have a fixed file name, especially
since the files get checked into git. Using macros here doesn't make anything
more convenient.


* It's good that you've made the yui-ui dependency use %_isa, but the idea
is somewhat half-baked. Let's see:

1) It's a circular dependency, which can become troublesome. 

Package libyui-$PLUGIN requires libyui/libyui-devel to build, and libyui
requires any libyui-$PLUGIN to even install - or else no UI implementation
would be available.

You cannot build a first libyui-$PLUGIN, because no plugin package
is available to satisfy the yui-ui dep in the libyui package when populating
the buildroot. Therefore you would need to bootstrap your builds:

  - build a first libyui _without_ the yui-ui Requires
  - build a first libyui-$PLUGIN
  - rebuild libyui _with_ the yui-ui Req added back

And the consequences are that you would need repeat that procedure whenever you
want to build an incompatible libyui. Assume you've built an upgrade from
libyui.so.5 to libyui.so.6. Any available plugin package would still need
the old libyui.so.5, so there would be a broken dependency in the buildroot
upon trying to (re)build the plugin packages.

2) It makes no sense to provide a "fake" yui-ui in libyui-devel. *Any* such
provider could be used by a dependency resolver to satisfy a requirement found
in another package. So, if libyui requires yui-ui, installing libyui-devel
would satisfy the dependency _without_ providing a UI. Not just theoretically,
it's real. This is what happens during a test-installation:

# yum list libyui\* --enablerepo=plague-needsign
Loaded plugins: langpacks, refresh-packagekit
Available Packages
libyui.x86_64                          3.0.3-2.fc19             
plague-needsign
libyui-devel.x86_64                    3.0.3-2.fc19             
plague-needsign
libyui-doc.noarch                      3.0.3-2.fc19             
plague-needsign
libyui-ncurses.x86_64                  2.43.8-1.fc19            
plague-needsign
libyui-ncurses-devel.x86_64            2.43.8-1.fc19            
plague-needsign
libyui-ncurses-doc.noarch              2.43.8-1.fc19            
plague-needsign

# yum list libyui\* --enablerepo=plague-needsign
Loaded plugins: langpacks, refresh-packagekit
Available Packages
libyui.x86_64                          3.0.3-2.fc19             
plague-needsign
libyui-devel.x86_64                    3.0.3-2.fc19             
plague-needsign
libyui-doc.noarch                      3.0.3-2.fc19             
plague-needsign
libyui-ncurses.x86_64                  2.43.8-1.fc19            
plague-needsign
libyui-ncurses-devel.x86_64            2.43.8-1.fc19            
plague-needsign
libyui-ncurses-doc.noarch              2.43.8-1.fc19            
plague-needsign
[root@localhost ~]# yum install libyui --enablerepo=plague-needsign
Loaded plugins: langpacks, refresh-packagekit
plague-needsign                                          | 2.9 kB     00:00 !!! 
Resolving Dependencies
--> Running transaction check
---> Package libyui.x86_64 0:3.0.3-2.fc19 will be installed
--> Processing Dependency: yui-ui(x86-64) for package:
libyui-3.0.3-2.fc19.x86_64
--> Running transaction check
---> Package libyui-devel.x86_64 0:3.0.3-2.fc19 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch         Version            Repository             Size
================================================================================
Installing:
 libyui             x86_64       3.0.3-2.fc19       plague-needsign       192 k
Installing for dependencies:
 libyui-devel       x86_64       3.0.3-2.fc19       plague-needsign       102 k

Transaction Summary
================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 294 k
Installed size: 1.2 M
Is this ok [y/N]: n
Exiting on user command

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=fz3dxdDjzb&a=cc_unsubscribe
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review





[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]