Spec URL: http://vicodan.fedorapeople.org/matespec/mate-corba.spec SRPM URL: http://vicodan.fedorapeople.org/materpms/srpms/mate-corba-1.4.0-4.fc17.src.rpm Description: CORBA Object Request Broker for MATE Desktop
my suggestion: This spec file is based from the original from Eric Smith. %define libidl_version 0.8.2-1 %define glib2_version 2.2.0 Summary: A high-performance CORBA Object Request Broker Name: mate-corba Version: 1.4.0 Release: 1%{?dist} Source: http://pub.mate-desktop.org/releases/1.4/%{name}-%{version}.tar.xz Group: System Environment/Daemons License: LGPLv2+ and GPLv2+ URL: http://pub.mate-desktop.org BuildRequires: libIDL-devel >= %{libidl_version} BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: pkgconfig >= 0.14 BuildRequires: libtool BuildRequires: autoconf BuildRequires: automake BuildRequires: gtk-doc BuildRequires: mate-common # handle ref leaks in the a11y stack more gracefully Patch0: mate-corba-2.14.3-ref-leaks.patch %description mate-corba is a high-performance CORBA (Common Object Request Broker Architecture) ORB (object request broker). It allows programs to send requests and receive replies from other programs, regardless of the locations of the two programs. CORBA is an architecture that enables communication between program objects, regardless of the programming language they're written in or the operating system they run on. You will need to install this package and mate-corba-devel if you want to write programs that use CORBA technology. %package devel Summary: Development libraries, header files and utilities for mate-corba Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: indent Requires: libIDL-devel >= %{libidl_version} Requires: glib2-devel >= %{glib2_version} # we install a pc file Requires: pkgconfig # we install an automake macro Requires: automake %description devel mate-corba is a high-performance CORBA (Common Object Request Broker Architecture) ORB (object request broker) with support for the C language. This package contains the header files, libraries and utilities necessary to write programs that use CORBA technology. %prep %setup -q -n %{name}-%{version} %patch0 -p1 -b .ref-leaks NOCONFIGURE=1 ./autogen.sh %build # let's use the ./autogen.sh hammer for now. %configure \ --disable-static \ --enable-gtk-doc \ --enable-purify make %{?_smp_mflags} %install make install DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/matecorba-2.0/*.*a # fix multilib conflict caused by matecorba-config.h %ifarch x86_64 s390x ia64 ppc64 alpha sparc64 %define wordsize 64 %else %define wordsize 32 %endif mv $RPM_BUILD_ROOT%{_includedir}/matecorba-2.0/matecorba/matecorba-config.h \ $RPM_BUILD_ROOT%{_includedir}/matecorba-2.0/matecorba/matecorba-config-%{wordsize}.h cat >$RPM_BUILD_ROOT%{_includedir}/matecorba-2.0/matecorba/matecorba-config.h <<EOF ifndef MATECORBA_MULTILIB define MATECORBA_MULTILIB include <bits/wordsize.h> if __WORDSIZE == 32 include "matecorba-config-32.h" elif __WORDSIZE == 64 include "matecorba-config-64.h" else error "unexpected value for __WORDSIZE macro" endif endif EOF %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS COPYING README TODO %{_libdir}/*.so.* %dir %{_libdir}/matecorba-2.0 %{_libdir}/matecorba-2.0/*.so* %files devel %defattr(-,root,root,-) %{_libdir}/*.so # this is needed by matecomponent %{_libdir}/libname-matecorba-server-2.a %{_libdir}/pkgconfig/* %{_bindir}/matecorba-idl-2 %{_bindir}/matecorba-typelib-dump %{_bindir}/matecorba2-config %{_bindir}/matecorba-ior-decode-2 %{_includedir}/* %{_datadir}/aclocal/* %{_datadir}/idl/matecorba-2.0 %{_bindir}/matecorba-linc-cleanup-sockets %{_datadir}/gtk-doc %changelog * Thu Jul 05 2012 Wolfgang Ulbrich <chat-to-me> - 1.4.0-1 - update to 1.4.0 * Tue Mar 27 2012 Wolfgang Ulbrich <chat-to-me> - 1.2.2-1 - update to 1.2.2 * Thu Mar 01 2012 Wolfgang Ulbrich <chat-to-me> - 1.2.1-1 -update verion to 1.2 * Sun Feb 19 2012 Wolfgang Ulbrich <chat-to-me> - 1.1.0-3 - fix rpmbuild error mate-netspeed-applet * Fri Feb 17 2012 Wolfgang Ulbrich <chat-to-me> - 1.1.0-2 - rebuild for enable builds for .i686 * Wed Jan 10 2012 Wolfgang Ulbrich <chat-to-me> - 1.1.0-1 - jump to new version 1.1.0 * Sun Nov 13 2011 Eric Smith <eric> - 1.0-1.20111112gitebd4a9bf6a - mate-corba spec based on Fedora 14 ORBit-2.14.19-1 spec I'm not shure if we really need this patch, but this package working well for 7 month on my repo. IHMO it's not necessary to invent the wheel new ;)
Opps, removing *.la files is a bad idea because for building mate-desktop we need them. remove those lines: rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/matecorba-2.0/*.*a
and add those lines to files. %{_libdir}/libMateCORBA-2.la %{_libdir}/libMateCORBA-imodule-2.la %{_libdir}/libMateCORBACosNaming-2.la %{_libdir}/matecorba-2.0/Everything_module.la
Those .la files shouldn't be required, if stuff breaks without it, then we can patch it to add additional (and imo proper) linkage.
Ok, for better understanding. You mean i've to patch mate-desktop package to build without those *.la files?
Probably, but it depends on the particular build failures, on how best to fix it.
I try to find out what calls /usr/lib64/libMateCORBA-2.la gcc -DHAVE_CONFIG_H -I. -I.. -DMATELOCALEDIR=\""/usr/share/locale\"" -DPNP_IDS=\""/usr/share/hwdata/pnp.ids"\" -pthread -DMATECORBA2=1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/mateconf/2 -I/usr/include/matecorba-2.0 -I/usr/include/startup-notification-1.0 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c test-ditem.c test-ditem.c: In function 'test_ditem': test-ditem.c:93:9: warning: ignoring return value of 'getcwd', declared with attribute warn_unused_result [-Wunused-result] CCLD libmate-desktop-2.la /bin/grep: /usr/lib64/libMateCORBA-2.la: No such file or directory /bin/sed: can't read /usr/lib64/libMateCORBA-2.la: No such file or directory libtool: link: `/usr/lib64/libMateCORBA-2.la' is not a valid libtool archive make[3]: *** [libmate-desktop-2.la] Error 1 in mate-desktop for several hours...... But this is not the theme here.
Please, Use the spec in the first comment to build. It works. I don't understand what the confusion is about? Thanks, Dan
Agreed, let's not go inventing problems that don't exist with the package(s) as submitted.
1. MUST: create -devel pkg to own development files, similar to comment #1 's version, including the hack to avoid the multilib conflicts 2. MUST: missing scriptlets for shared libraries. 3. MUST: omit extraneous lib runtime dependencies, like Requires: mate-common gobject-introspection libIDL gtk-doc esp mate-common, which is only something needed at *build* time. Um... I think you may want to start with something closer to the .spec in comment #1 come to think of it. :-/ except for the "not omitting libtool archives" part.
Thanks Rex.
$ rpmlint mate-corba.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint mate-corba-1.4.0-5.fc17.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. f17: http://koji.fedoraproject.org/koji/taskinfo?taskID=4313386 f18: http://koji.fedoraproject.org/koji/taskinfo?taskID=4313862 # yum install ./mate-corba-1.4.0-5.fc17.x86_64.rpm Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit Examining ./mate-corba-1.4.0-5.fc17.x86_64.rpm: mate-corba-1.4.0-5.fc17.x86_64 Marking ./mate-corba-1.4.0-5.fc17.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mate-corba.x86_64 0:1.4.0-5.fc17 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mate-corba x86_64 1.4.0-5.fc17 /mate-corba-1.4.0-5.fc17.x86_64 2.7 M Transaction Summary ================================================================================ Install 1 Package Total size: 2.7 M Installed size: 2.7 M Is this ok [y/N]: y Downloading Packages: Running Transaction Check Running Transaction Test Transaction Test Succeeded Running Transaction Installing : mate-corba-1.4.0-5.fc17.x86_64 1/1 Verifying : mate-corba-1.4.0-5.fc17.x86_64 1/1 Installed: mate-corba.x86_64 0:1.4.0-5.fc17 Complete!
We need a -devel package !!!
You don't need mate-common only as BuildRequires not as Requires.
I know we need a devel package. I'll create one.
I think rpmlint should have complained on the license, ie, without "and". Guidelines say to use "or" if that a dual license, or "and" if that's multiple license : https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Dual_Licensing_Scenarios
That is correct Michael, I just finished updating the spec file. SPEC file: http://vicodan.fedorapeople.org/matespec/mate-corba.spec SRPM file: http://vicodan.fedorapeople.org/materpms/srpms/mate-corba-1.4.0-6.fc17.src.rpm $ rpmlint mate-corba.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint mate-corba-1.4.0-6.fc17.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Also, I see the package own directories that doesn't belong to him : /usr/share/gtk-doc/html /usr/lib/pkgconfig /usr/share/aclocal /usr/share/idl And the whole debug directory is in the main rpm too : /usr/lib/debug That's because there is a too wide joker used in %files
Mhh seems to have been corrected in the last version, didn't see sooner, disregard last comment.
Yes, sorry, Been working on that and the other review at the same time. Please let me know of any other issues you see. Thank you.
http://koji.fedoraproject.org/koji/taskinfo?taskID=4321830 $ rpmlint mate-corba.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint mate-corba-1.4.0-6.fc17.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
1. MUST: create -devel pkg to own development files, similar to comment #1 's version, including the hack to avoid the multilib conflicts DONE. 2. MUST: missing scriptlets for shared libraries. DONE. 3. MUST: omit extraneous lib runtime dependencies, like Requires: mate-common gobject-introspection libIDL gtk-doc esp mate-common, which is only something needed at *build* time. DONE. Um... I think you may want to start with something closer to the .spec in comment #1 come to think of it. :-/ except for the "not omitting libtool archives" part. DONE. $ rpmlint mate-corba-1.4.0-7.fc17.x86_64.rpm mate-corba.x86_64: W: no-manual-page-for-binary matecorba-typelib-dump mate-corba.x86_64: W: no-manual-page-for-binary matecorba-linc-cleanup-sockets mate-corba.x86_64: W: no-manual-page-for-binary matecorba-ior-decode-2 mate-corba.x86_64: W: no-manual-page-for-binary matecorba-idl-2 1 packages and 0 specfiles checked; 0 errors, 4 warnings.
f18: https://koji.fedoraproject.org/koji/taskinfo?taskID=4327216 f17: https://koji.fedoraproject.org/koji/taskinfo?taskID=4327220 f16: https://koji.fedoraproject.org/koji/taskinfo?taskID=4327223
OK, now that the %files list is clearer, 4. MUST omit static libraries and libtool archives, ie, items that match %{_libdir}/lib*.a %{_libdir}/lib*.la (or provide justification why they warrant an exception) 5. SHOULD own includedir subdirectories. One easy way to do that, is to just include: %{_includedir}/matecorba-2.0/ which will include it, and recursively everything under it 6. SHOULD. this %{_bindir}/matecorba-linc-cleanup-sockets looks like something that ought to be in the main runtime pkg instead of -devel 7. -devel MUST have an arch'd dependency on the main pkg, use this instead: Requires: %{name}%{?_isa} = %{version}-%{release} 8. MUST drop Requires: mate-common this is a BuildRequires only, not required for normal runtime use.
DONE. Please check it. http://vicodan.fedorapeople.org/matespec/mate-corba.spec http://vicodan.fedorapeople.org/materpms/srpms/mate-corba-1.4.0-8.fc17.src.rpm
4. MUST omit static libraries and libtool archives, ie, items that match %{_libdir}/lib*.a %{_libdir}/lib*.la (or provide justification why they warrant an exception) DONE 5. SHOULD own includedir subdirectories. One easy way to do that, is to just include: %{_includedir}/matecorba-2.0/ which will include it, and recursively everything under it DONE 6. SHOULD. this %{_bindir}/matecorba-linc-cleanup-sockets looks like something that ought to be in the main runtime pkg instead of -devel This is already in %files not %files devel. 7. -devel MUST have an arch'd dependency on the main pkg, use this instead: Requires: %{name}%{?_isa} = %{version}-%{release} DONE 8. MUST drop Requires: mate-common this is a BuildRequires only, not required for normal runtime use. DONE
http://koji.fedoraproject.org/koji/taskinfo?taskID=4327253
before i go to bed BuildRequires: autoconf automake you can remove, mock builds without it BuildRequires: libtool you can remove if mate-common-1.4.0-6 is in stable
OK, latest -8 at http://vicodan.fedorapeople.org/matespec/mate-corba.spec Looks good. APPROVED
New Package SCM Request ======================= Package Name: mate-corba Short Description: CORBA Object Request Broker for MATE Desktop Owners: vicodan rdieter Branches: f16 f17
Git done (by process-git-requests).
mate-corba-1.4.0-8.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/mate-corba-1.4.0-8.fc17
mate-corba-1.4.0-8.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/mate-corba-1.4.0-8.fc16
mate-corba-1.4.0-9.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/mate-corba-1.4.0-9.fc16
mate-corba-1.4.0-9.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/mate-corba-1.4.0-9.fc17
mate-corba-1.4.0-8.fc16 has been pushed to the Fedora 16 testing repository.
mate-corba-1.4.0-8 is ok, except the unnecessary Build requires. see comment 28. They are called as Requires from mate-common-1.4.0-6 No need to call them double. Anyway, i will give karma ! @mate-corba-1.4.0-9 see comment 2 -7 rm -rf $RPM_BUILD_ROOT/%{_libdir}/libMateCORBA-2.la rm -rf $RPM_BUILD_ROOT/%{_libdir}/libMateCORBA-imodule-2.la rm -rf $RPM_BUILD_ROOT/%{_libdir}/libMateCORBACosNaming-2.la rm -rf $RPM_BUILD_ROOT/%{_libdir}/matecorba-2.0/Everything_module.la This will prevent you from building the mate-desktop package. If you show me a way to build mate-desktop with mate-corba-1.4.0-9, i give you karma ;)
we've already discussed the libtool archives thing. It should build fine, and if it doesn't, it's simply a bug we can fix. the "fix" is *not* to put the .la files back.
(In reply to comment #38) > we've already discussed the libtool archives thing. It should build fine, > and if it doesn't, it's simply a bug we can fix. the "fix" is *not* to put > the .la files back. agree, i will give karma. hope we find a fix for building other packages.
Hey dan, could I ask again that you not push each of these packages as updates as they are approved, but wait until the stack is ready? People using mate 1.2 from 3rd party repos will get your updated 1.4 packages as they go out and it could mess up their desktops. If you do one big update at the end with all the parts of 1.4 they can just simply be updated to 1.4 and be happy.
Hey Kevin, I thought we fixed that with mate-doc-utils and using an obsolete field. Which one is conflicting now? Maybe I need to obsolete each package or figure some other way around preventing. I'll find you on IRC in an hour or two.
well, it's not (just) conflicts or obsoletes... it's versions too. Looking more closely: The mate-desktop page refers to: http://mate-desktop.org/install/#fedora yum install http://dl.dropbox.com/u/49862637/Mate-desktop/mate-desktop-fedora/releases/16/noarch/mate-desktop-release-16-5.fc16.noarch.rpm So, it looks like it's just f16 as far as I can see. So, folks using this on f16 have installed a mate-1.2 setup. When you push out mate-corba-1.4.x it updates their mate-corba-1.2.2-1.fc16 Does the desktop continue to work with just parts of it 1.2 and other parts of it 1.4? I'm not sure, but it seems a dangerous combo to me. I don't know if there is a f17 repo anywhere, it could be that just not pushing to f16 would solve the issue.
No Prob Kevin, Mate-Desktop 1.4.x is released today. I've upload all packages for fc16/fc17 5 min ago. Do a 'yum clean all' for getting them yet. At the moment all aproved packages don't have any conflicts with my repo packages. My version no. are smaller then the aproved packages.
I will remove the fc17 and fc16 packages from updates-testing repo as per discussion with Kevin on IRC earlier today..
@ kevin Fenci there is a little confusion for the information of my repo. see http://wiki.mate-desktop.org/download for current install instructions. I provide packages for fc16 and fc17 as i said in comment 42 I update both to 1.4.x today. The reason for that was that MATE wants to release at the same time for all distros. From my side we can also update fc17 step by step from fedora. Fc16 makes no sense because it has there EOL in 3-4 month. Pls see my complete spec list at http://raveit65.fedorapeople.org/Mate-Desktop/fc16/SPECS/ This include all my packages in my repo. And i provide compiz-0.88 for Mate. I'm talking about up to 70-80 main packages which is the complete Mate-Desktop. What Dan and me want to do for fc18 is a very minimalistic version in fedora. In my opinion we need my repo for extra packages for fc18. Otherwise users of mate-fedora will be sad. In result we need to sync the packages for rawhide. All for your information
mate-corba-1.4.0-8.fc17 has been pushed to the Fedora 17 stable repository.
mate-corba-1.4.0-9.fc17 has been pushed to the Fedora 17 stable repository.
mate-corba-1.4.0-8.fc16 has been pushed to the Fedora 16 stable repository.