[opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Hallo. We are just planning to perform changes in GNOME packaging. It includes: - Long time planned prefix move from /opt/gnome to /usr. - New gconf scriptlets finally provide a correct solution of https://bugzilla.novell.com/show_bug.cgi?id=48114 using %pre, %preun and %posttrans. - To follow upstream names, pkgconfig will be renamed to pkg-config and gtkdoc to gtk-doc. Old names are still available as virtual symbols. - spec file cleanup. It includes removal of obsolete code, unifying packaging scheme, using parallel build, fixing scriptlets, removing obsolete configure options,... Following is optional needs further discussion before starting to do it: - Remove all unneeded .la files. - Do not build static libraries at all. In Build Service: GNOME:STABLE will diverge from FACTORY. GNOME:UNSTABLE just now contains upper mentioned changes. After checking them in, GNOME:UNSTABLE will follow FACTORY. Please don't submit to GNOME:UNSTABLE any more without requesting SuSE people to include your change to FACTORY, otherwise you risk, that your change will be lost. Details: Move to /usr: Just now, all core GNOME packages and many other packages are already moved to /usr in GNOME:UNSTABLE BS project and most problems caused by it is already fixed. We want to do this in FACTORY ASAP. Long waiting will cause a lot of divergences between GNOME:UNSTABLE and FACTORY and will require additional work. You can experience short term failures caused by inconsistence of .la files. You must wait for correct rebuild of all lower level packages. Just now, gnome-filesystem package covers both prefixes, but for openSuSE 10.3, no package should use /opt/gnome (with one compat package exception). It means, that GNOME packages can use %configure to configure all paths (except --libexecdir, see https://bugzilla.novell.com/show_bug.cgi?id=157894). I have prepared a small script - prefixfix, which will help to convert old paths to new ones in the spec file. The rest of changes must be done manually. New scriptlets: As a fix of gconf schemas installation problems, we have a new scriptlet schemas: Macros are defined in gconf2-devel, which must be a part of your build environment. Preamble: %gconf_schemas_prereq %install ... # if your package installs all schemas to one package: %find_gconf_schemas # or # if your package installs schemas to more subpackages: %def_gconf_schemas subpackage1 %add_gconf_schemas schemas_name1 %add_gconf_schemas schemas_name2 %def_gconf_schemas subpackage2 %add_gconf_schemas schemas_name3 %add_gconf_schemas schemas_name4 %end_gconf_schemas # schemas names are without path and suffix %pre -f %{name}.schemas_pre %preun -f %{name}.schemas_preun %posttrans -f %{name}.schemas_posttrans # NOTE: For package with subpackages include name defined in # %%def_gconf_schemas %files -f %{name}.schemas_list or %files -f subpacakge.schemas_list In case of more -f needed for one %files: %install ... %find_gconf_schemas %find_lang %{name} cat %{name}.schemas_list %{name}.lang >%{name}.lst %files -f %{name}.lst -- Best Regards / S pozdravem, Stanislav Brabec software developer - SUSE LINUX, s. r. o. e-mail: [EMAIL PROTECTED] Lihovarská 1060/12tel: +420 284 028 966 190 00 Praha 9fax: +420 284 028 951 Czech Republichttp://www.suse.cz/ prefixfix Description: application/shellscript
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Op woensdag 3 januari 2007 13:17, schreef Stanislav Brabec: > - Long time planned prefix move from /opt/gnome to /usr. is it possible to explain, why this is done? What is the advantage of /usr or the disadvantage of /opt? -- Richard Bos Without a home the journey is endless - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Richard Bos schrieb: > is it possible to explain, why this is done? What is the advantage of /usr > or > the disadvantage of /opt? The /opt/gnome <-> /usr separation simply doesn't work. It worked reasonably in the past when GNOME was sort of self-contained, but today GNOME packages install a lot of files (mono libraries, python modules, dbus services, message catalogs...) that *must* live in /usr. This means that the packages and spec files became uglier and worse all the time because packagers had to move parts of the stuff back from /opt/gnome to /usr. Of course it's very easy to forget that, resulting in completely broken packages. There were tons of such bugs in the openSUSE 10.2 preparation period and there are still some of those floating around, affecting both SUSE and especially 3rd party packages because some people are not always aware of where stuff has to go. (That's my main point against /opt/gnome, there are others as well) Andreas Hanke - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Andreas Hanke wrote: > Richard Bos schrieb: > > is it possible to explain, why this is done? What is the advantage of /usr > > or > > the disadvantage of /opt? > > The /opt/gnome <-> /usr separation simply doesn't work. It worked > reasonably in the past when GNOME was sort of self-contained, but today > GNOME packages install a lot of files (mono libraries, python modules, > dbus services, message catalogs...) that *must* live in /usr. > > This means that the packages and spec files became uglier and worse all > the time because packagers had to move parts of the stuff back from > /opt/gnome to /usr. Of course it's very easy to forget that, resulting > in completely broken packages. There were tons of such bugs in the > openSUSE 10.2 preparation period and there are still some of those > floating around, affecting both SUSE and especially 3rd party packages > because some people are not always aware of where stuff has to go. > > (That's my main point against /opt/gnome, there are others as well) That's the exact technical explanation. Look at Bugzilla and package changelogs for keyword "prefix clash" or look at extra "mv" commands in spec files to get a proof. Additionally installation of distribution packages to /opt: - Breaks LSB rules. - Forces third parties to create many distribution specific RPM packages. -- Best Regards / S pozdravem, Stanislav Brabec software developer - SUSE LINUX, s. r. o. e-mail: [EMAIL PROTECTED] Lihovarská 1060/12tel: +420 284 028 966 190 00 Praha 9fax: +420 284 028 951 Czech Republichttp://www.suse.cz/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
On Wed, 2007-01-03 at 18:26 +0100, Stanislav Brabec wrote: > Andreas Hanke wrote: > > Richard Bos schrieb: > > > is it possible to explain, why this is done? What is the advantage of > > > /usr or > > > the disadvantage of /opt? > > > > The /opt/gnome <-> /usr separation simply doesn't work. It worked > > reasonably in the past when GNOME was sort of self-contained, but today > > GNOME packages install a lot of files (mono libraries, python modules, > > dbus services, message catalogs...) that *must* live in /usr. > > > > This means that the packages and spec files became uglier and worse all > > the time because packagers had to move parts of the stuff back from > > /opt/gnome to /usr. Of course it's very easy to forget that, resulting > > in completely broken packages. There were tons of such bugs in the > > openSUSE 10.2 preparation period and there are still some of those > > floating around, affecting both SUSE and especially 3rd party packages > > because some people are not always aware of where stuff has to go. > > > > (That's my main point against /opt/gnome, there are others as well) > > That's the exact technical explanation. Look at Bugzilla and package > changelogs for keyword "prefix clash" or look at extra "mv" commands in > spec files to get a proof. > > Additionally installation of distribution packages to /opt: > - Breaks LSB rules. > - Forces third parties to create many distribution specific RPM > packages. > Fixing these issues makes it much easier to have cross-distro specfiles, which is a huge win in my opinion. It also allows us to take advantage of some of the rpm macros that we can't use currently. -Gary - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Gary Ekker schrieb: > Fixing these issues makes it much easier to have cross-distro specfiles And even cross-distro binary packages from 3rd parties (with some limitations, but possible in principle). Andreas Hanke - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Op woensdag 3 januari 2007 17:40, schreef Andreas Hanke: > > is it possible to explain, why this is done? What is the advantage of > > /usr or the disadvantage of /opt? > > The /opt/gnome <-> /usr separation simply doesn't work. It worked > reasonably in the past when GNOME was sort of self-contained, but today > GNOME packages install a lot of files (mono libraries, python modules, > dbus services, message catalogs...) that *must* live in /usr. As kde is dependend on e.g. dbus as well, does that mean that in the future kde (kde4) will move to /usr as well? Op woensdag 3 januari 2007 18:26, schreef Stanislav Brabec: > Additionally installation of distribution packages to /opt: > - Breaks LSB rules. Does the LSB forbid to install packages outside /usr. I thought that the LSB allows packages to be installed /opt, under certain conditions. > - Forces third parties to create many distribution specific RPM > packages. The same is valid in think for kde (see above). Does this mean that kde(4) will be located in /usr in the future as well? -- Richard Bos Without a home the journey is endless - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
On Wed, 2007-01-03 at 21:30 +0100, Richard Bos wrote: > Op woensdag 3 januari 2007 17:40, schreef Andreas Hanke: > > > is it possible to explain, why this is done? What is the advantage of > > > /usr or the disadvantage of /opt? > > > > The /opt/gnome <-> /usr separation simply doesn't work. It worked > > reasonably in the past when GNOME was sort of self-contained, but today > > GNOME packages install a lot of files (mono libraries, python modules, > > dbus services, message catalogs...) that *must* live in /usr. > > As kde is dependend on e.g. dbus as well, does that mean that in the future > kde (kde4) will move to /usr as well? I believe that is the plan, the KDE team didn't want to move until KDE 4 though. -JP -- JP Rosevear <[EMAIL PROTECTED]> Novell, Inc. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Richard Bos schrieb: > As kde is dependend on e.g. dbus as well, does that mean that in the future > kde (kde4) will move to /usr as well? dbus was just an example. Right now I don't know any KDE package that would install e.g. a .service file into /usr/share/dbus-1/services and therefore have to be spread over multiple prefixes. Some GNOME packages do that, however (and some of them were broken because they used /opt/gnome/share/dbus-1/services, which is wrong...) > Does the LSB forbid to install packages outside /usr. I thought that the LSB > allows packages to be installed /opt, under certain conditions. No, the LSB/FHS does not forbit to install packages outside /usr, but doing this forces packagers to bend the FHS specifications in sometimes extreme ways because some files *must* live in /usr because they would not work otherwise. Also, the FHS reserves /opt to add-on packages. Maybe you could consider GNOME an add-on package some years ago, but this is really obsolete now that glib2 lives in /opt/gnome/lib and e.g. hal (and therefore zypp, YaST and even KDE) depend on it. The current idea seems to be that all distro packages should have /usr as prefix, that's why /usr/X11R6 has been killed as well. (Unfortunately not complete - it should be killed completely for the next release) > The same is valid in think for kde (see above). Does this mean that kde(4) > will be located in /usr in the future as well? The KDE4 build service project uses /opt/kde4 at the moment. There are no KDE4 packages in Factory yet (at least not public). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Op woensdag 3 januari 2007 22:00, schreef Andreas Hanke: > The current idea seems to be that all distro packages should have /usr > as prefix, that's why /usr/X11R6 has been killed as well. (Unfortunately > not complete - it should be killed completely for the next release) Do you mean with "a distro package", a package that is delivered by opensuse via the boxed or online version? -- Richard Bos Without a home the journey is endless - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] GNOME: planned changes (move to /usr, scriptlets)
Richard Bos schrieb: > Do you mean with "a distro package", a package that is delivered by opensuse > via the boxed or online version? Yes. And 3rd party binary packages that have been built specifically for openSUSE, and are not meant to be used across different distributions or to comply with LSB packaging rules [1], are included in this definition as well. (Packman, build service etc.) [1] Packages that belong to the distribution themselves don't need to comply with LSB packaging rules, otherwise *everything* would have to use /opt, be partially statically linked or ship a copy of half of the basesystem themselves etc. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] My 2nd spec file; problems with install path using the build script
Hi Guenter, Am Dienstag, 2. Januar 2007 15:56 schrieb Günter Dannoritzer: > Hi, and Happy New Year, > + make DESTDIR=/var/tmp/gtkwave-3.0.18 install > cd bin;\ > install -d /usr/bin;\ > install -m 0755 gtkwave /usr/bin/gtkwave;\ > install -m 0755 twinwave /usr/bin/twinwave;\ the makefile doesn't notice DESTDIR, fix it! ;) Detlef - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] My 2nd spec file; problems with install path using the build script
Detlef Reichelt wrote: > Hi Guenter, > > Am Dienstag, 2. Januar 2007 15:56 schrieb Günter Dannoritzer: >> Hi, and Happy New Year, >> + make DESTDIR=/var/tmp/gtkwave-3.0.18 install >> cd bin;\ >> install -d /usr/bin;\ >> install -m 0755 gtkwave /usr/bin/gtkwave;\ >> install -m 0755 twinwave /usr/bin/twinwave;\ > > the makefile doesn't notice DESTDIR, fix it! ;) I thought when using %configure and %makeinstall those macros are taking care of placing everything to the proper place in the build environment. But that was only guessing, I did not find an explanation of those two macros in the package conventions under: http://forgeftp.novell.com//library/SUSE%20Package%20Conventions/spc.html When doing the normal source installation, if I recall right, I specify the destination directory with the ./configure command. So do I just use the normal configure like in the gnome spec file example of the build tutorial http://en.opensuse.org/SUSE_Build_Tutorial and not the %configure macro then? Guenter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [opensuse-packaging] My 2nd spec file; problems with install path using the build script
On Thu, Jan 04, 2007 at 12:38:09AM +0100, Günter Dannoritzer wrote: > Detlef Reichelt wrote: > > Hi Guenter, > > > > Am Dienstag, 2. Januar 2007 15:56 schrieb Günter Dannoritzer: > >> Hi, and Happy New Year, > >> + make DESTDIR=/var/tmp/gtkwave-3.0.18 install > >> cd bin;\ > >> install -d /usr/bin;\ > >> install -m 0755 gtkwave /usr/bin/gtkwave;\ > >> install -m 0755 twinwave /usr/bin/twinwave;\ > > > > the makefile doesn't notice DESTDIR, fix it! ;) > > I thought when using %configure and %makeinstall those macros are taking > care of placing everything to the proper place in the build environment. > But that was only guessing, I did not find an explanation of those two > macros in the package conventions under: > http://forgeftp.novell.com//library/SUSE%20Package%20Conventions/spc.html > > When doing the normal source installation, if I recall right, I specify > the destination directory with the ./configure command. So do I just use > the normal configure like in the gnome spec file example of the build > tutorial http://en.opensuse.org/SUSE_Build_Tutorial and not the > %configure macro then? The package needs to support DESTDIR too, which it likely does not. Its not all just magic macros, sometimes you need to fix the package. ;) Ciao, Marcus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]