Fink:Packaging:The Great Gnome Update
This page relates to the progress of an update that happened a long time ago. The information here is not current with regards to package/version availability or current packaging standards and best-practices.
Fink's existing GNOME suite is very out-of-date, and work is being done to rectify it on a CVS branch.
One of the biggest issues holding us back is that GTK 2.8 added a dependency on pango's cairo support, which in turn means moving all packages dependent on gtk+2 in fink to add new build dependencies, as well as environment variables. This unfortunately breaks our standard policy of incremental updates -- packages moving to new libraries when they're ready to, rather than forcing an update upon everything.
To accomplish this, a branch was created in CVS in which this mass of changes have been made. When it has been heavily tested and is ready for consumption by the general public, it will be merged into trunk.
Since 10.5 is due out soon, and at that time 10.3 will be end-of-life'd in Fink, it was decided to only make these changes in the 10.4 (and up) tree.
Note: if you have stumbled upon this page, know that the updates here are not yet ready for public consumption. Play with the pangocairo branch at your own risk. ;)
Getting the Pango/Cairo Branch
- make sure you are using CVS
- fink selfupdate-cvs
- update your unstable tree to the pangocairo branch
- cd /sw/fink/dists/unstable
- cvs up -r pangocairo-branch
Then, perform a fink update-all and you should get the latest Gnome install!
ONCE YOU DO THIS YOU WILL NOT BE ABLE TO GO BACK TO A "NORMAL" TREE WITHOUT REMOVING EVERYTHING AND STARTING OVER.
Tasks
- Audit scrollkeeper usage: see Category:Gnome Audit TODO: Scrollkeeper
- Audit gconf2 usage: see Category:Gnome Audit TODO: GConf2
- Audit --build-as-nobody (and document it in the info file as to why you can't, if you can't): see Category:Gnome Audit TODO: build-as-nobody
- Audit popt dependency: see Category:Gnome Audit TODO: popt
- Audit glib2 dependency (latest and no high-revision): see Category:Gnome Audit TODO: glib2
- Move locale/ to -shlibs if appropriate (with Replaces: as necessary): see Category:Gnome Audit TODO: locale
- Validate GCC field: see Category:Gnome Audit TODO: GCC
- Deprecate %N if %N-dev and %N-shlibs contain everything: see Category:Gnome Audit TODO: Deprecate N
- Add Depends to %N to make sure other packages' Depends:%N still gets the same results
- Adjust dependencies on %N to point to %N-dev or %N-shlibs (with versioning as appropriate) depending on what %N used to contain and its former dependencies:
glib2→glib2-shlibs: see Category:Gnome Audit TODO: glib2libgnomeprint2.2→libgnomeprint2.2-shlibs: see Category:Gnome Audit TODO: libgnomeprint2.2- Switch
libgnomeprintui2.2dependency tolibgnomeprintui2.2-shlibs: see Category:Gnome Audit TODO: libgnomeprintui2.2
- Check for .pc files moved to share/ or that use the new *.private fields (requires adding Depends: pkgconfig (>= 0.20-1)): see Category:Gnome Audit TODO: pkgconfig 0.20-1