On Sun, 2012-09-02 at 16:23 -0500, Craig Rob l300lvl wrote: > It would be ok to test it out I think, but I'm not very confident > patching and all that. When you say its at the top of the git-tree, > which version of gjs is that that it might be patched in and sent > upstream. > > Is that the version of the rpms built that have to be forced? I'm sure > theres not a whole lot that can go wrong forcing the install and if so I > can always revert via runlevel 3.
Craig: The --force allows you to replace the installed RPM with the same version. I am not familiar with suse package management so I think its best to keep the version the same so later version updates from suse aren't affected. The top of the tree is where the latest development changes are applied. Its actually not a version. Different projects manage it different ways. In the gnome project's case it looks like they update the version in the configure.ac file, commit that change and tag the commit as the version. I cloned their repository so I could use git-gui which presents the info quite nicely. I really like git. Its much better than sccs of neolithic times. The last released version is 1.33.9. They had four commits since the release. You want to apply the patch to the current version that OpenSuse has provided. All the dependencies in the source rpm are based on that version. The following should get you some RPMs. Read through this and if you see anything funky let me know. I suggest you remove or move any current rpmbuild directory in your home dir. Install the source rpm in your home dir. rpm -ivh gjs-1.32.0-2.2.2.src.rpm You should get: ~/rpmbuild with these subdirectories SOURCES SPECS Create these additonal directories in ~/rpmbuild to get... BUILD BUILDROOT RPMS SOURCES SPECS SRPMS create ~/.rpmmacros with these contents (use your personal info of course). %_topdir /home/bogwan/rpmbuild %packager Norman Smith <nls1...@gmail.com> %_tmppath /tmp Add these lines to the spec file in SPECS: Patch1: 123b631e40b8e60475e41d32263a3e99207dcfde.patch %patch1 -p1 %global _default_patch_fuzz 100 In your home dir: [1] rpmbuild -bp -v rpmbuild/SPECS/gjs.spec You should see the patch installed something like the following: Executing(%prep): /bin/sh -e /tmp/rpm-tmp.Fj2jLr + umask 022 + cd /home/bogwan/rpmbuild/BUILD + cd /home/bogwan/rpmbuild/BUILD + rm -rf gjs-1.32.0 + /usr/bin/xz -dc /home/bogwan/rpmbuild/SOURCES/gjs-1.32.0.tar.xz + /bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd gjs-1.32.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #0 (gjs-getpid_uid_gid.patch):' Patch #0 (gjs-getpid_uid_gid.patch): + /usr/bin/cat /home/bogwan/rpmbuild/SOURCES/gjs-getpid_uid_gid.patch + /usr/bin/patch -s -p1 --fuzz=100 + echo 'Patch #1 (123b631e40b8e60475e41d32263a3e99207dcfde.patch):' Patch #1 (123b631e40b8e60475e41d32263a3e99207dcfde.patch): + /usr/bin/cat /home/bogwan/rpmbuild/SOURCES/123b631e40b8e60475e41d32263a3e99207dcfde.patch + /usr/bin/patch -s -p1 --fuzz=100 + exit 0 [2] rpmbuild -bc -v rpmbuild/SPECS/gjs.spec everything should build.. then +exit 0 [3] rpmbuild -bb -v rpmbuild/SPECS/gjs.spec Does everthing again and builds the RPMs cd rpmbuild/RPMS/x86_64 You should find: gjs-1.32.0-2.2.2.x86_64.rpm libgjs0-1.32.0-2.2.2.x86_64.rpm libgjs-devel-1.32.0-2.2.2.x86_64.rpm typelib-1_0-GjsDBus-1_0-1.32.0-2.2.2.x86_64.rpm Here you do: su -c "rpm --force -ivh *.rpm" All should be OK. Hopefully I've not left anything out.. The following links are good stuff for reference. http://fedoraproject.org/wiki/How_to_create_an_RPM_package http://serverfault.com/questions/18620/how-to-create-an-rpm-for-suse You need to remember that if OpenSuse releases an updated gjs RPM that does not include this patch you are back in the ditch. Norman > > > On Sun, 2012-09-02 at 02:51 -0500, Craig Rob l300lvl wrote: > > > Thanks. > > > > > > I do believe I did everything correctly, but I'm missing something. I > > > downloaded gjs from > > > http://download.opensuse.org/factory-snapshot/repo/source/suse/src/gjs-1.32.0-2.2.2.src.rpm > > > extracted the source and applied the gobject patch and the other patch > > > in that rpm, I tried buildrpm with spec file but I failed at modifying > > > spec correctly I think(i just added the new patch to it in 2 places). I > > > then did a ./configure, make, sudo make install and rebooted. Yast is > > > still showing the previous install date, and I still get the crashing, so > > > I think I'm not installing correctly. > > > > > > > Craig: > > > > I was able to get the RPMs built. I did a few things that I would not > > recommend as usual practice. The patch that Jasper referred you to is at > > the top of the git tree which is several changes past version 1.32. I > > changed the spec file and got it to go through with the patch by setting > > the global fuzz to 125 after several attempts at smaller values. I > > checked the patched source and saw no apparent damage. You could patch > > it by hand but running the whole RPM build process gives you three RPMs > > that need to be installed with --force. > > > > I installed the RPMs and the extensions prefs no longer crash because of > > using GOjects in prefs.js. If you want I can give you the steps I found > > to build the RPMs. > > > > This patch needs to be applied at the affected distros. > > > > I haven't tested every extension I have tested the following: > > > > Activities Text - OK > > Activities Configurator - OK > > Status Area Horizontal Spacing - OK > > Workspace Indicator - OK > > Window Buttons - OK > > > > Window Options - Get red ERROR on website but it is installed and can be > > configured locally > > > > Maximus - Fails Error: Error invoking bindtextdomain, at argument 1 > > (domain): Object is not a string, cannot convert to UTF-8 ... > > maxi...@mathematical.coffee.gmail.com/prefs.js:25.... > > > > > > Norman > _______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org https://mail.gnome.org/mailman/listinfo/gnome-shell-list