Registered Member
|
Something seems very wrong with the hardy patch. It's contexts and changes seem for Makefile.in seem very different from the Makefile.in in the tarball. It also seems to be backleveling - rolling back copyright dates and automake versions. Are you sure I'm supposed to apply the hardy patch? Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered Member
|
Interestingly, I did some more googling about how to work with deb sources. I did a sudo apt-get --compile source kdelibs assuming this must be the most official and correct way of dealing with the ubuntu sources. As far as I can tell, it looks like it also failed to apply many of the hunks in the diff file. I did not catch everything as it scrolled but it sure looked like lots of not-applied messages. Is this a problem? Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered Member
|
Hmm . . . I pulled down the source deb and attempted to apply the patch to kpropertiesdialog.cpp. It failed. I then took a close look at the patch to apply it manually and something looks wrong. Perhaps I misunderstand but it looks like you open two blocks but never close them.
We have: if (groups != NULL) { and then a for () block but no closing braces. Is there a problem in the patch? Do I misunderstand it? Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Administrator
|
It appears part of my patch was damaged somehow, here is the full version:
Also, did you download kdelibs from http://archive.ubuntu.com/ubuntu/pool/m ... rig.tar.gz
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered Member
|
I downloaded it from the links on the bottom of the page you referenced. I just tried directly from the link in your post with the same results. There are lots of messages about the patch possibly being reversed but it fails completely with a patch -R.
Am I correct to assume it is unsafe to proceed with these errors? Of course, I'm also concerned about the error I think I saw when compiling the source deb! In fact, what is the proper thing to do next? It is bad enough I can't test your patch and solve my problem but doesn't this reflect a much bigger problem in the Ubuntu files? I'll now try your patch against the source deb. Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered Member
|
Hmm . . . the ldap patch is failing to apply:
jsullivan@jaspav:/download/kdelibs/kdelibs-3.5.10/kio/kfile$ patch -i kdelibs-ldap.patch patching file kpropertiesdialog.cpp patch unexpectedly ends in middle of line patch: **** malformed patch at line 44: I noticed what I think are two missing "+" at the end. Adding them did not fix the problem. I then changed the range in case it did not include the two additional lines, i.e., @@ -1771,26 +1771,22 @@, and that didn't help. When I count the lines, it looks like the range line count should be 23 and 22 but that didn't help either. What corrections should I make to the patch? Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered Member
|
I took a guess that the line count is not supposed to use the total number of context lines but just the context value, i.e., @@ -1771,20 +1771,19 @@. This eliminates the patch unexpectedly ended error but still complains about a malformed patch.
I then realized there was an extra delete at the end and so changed to @@ -1771,21 +1771,19 @@. Now I get: jsullivan@jaspav:/download/kdelibs/kdelibs-3.5.10/kio/kfile$ patch -i kdelibs-ldap.patch patching file kpropertiesdialog.cpp Hunk #1 FAILED at 1771. 1 out of 1 hunk FAILED -- saving rejects to file kpropertiesdialog.cpp.rej I'll try manually making the changes. Sorry to be a best. I certainly appreciate your help and the patch - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered Member
|
Oops! I'm not going to manually edit the file. I was looking more closely at the patch and wondering why the - endgrent(); was after the additions when I noticed we seem to delete one two few braces. In the original code, we open a for, and if/else, a while, and an if but in the delete section we only delete two braces.
Is that correct? Is that why the original patch was missing two braces, i.e., is was reusing the two we had not deleted? In that case, would removing endgrent() have been a separate hunk? My apologies but I don't know patching well enough to not question my questions?! - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Administrator
|
Yes, it was reusing the two braces not deleted. Lets try manually updating the file.
In "kpropertiesdialog.cpp" find this segment of code:
And replace it with this segment of code:
Last edited by bcooksley on Tue Feb 03, 2009 5:47 am, edited 1 time in total.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered Member
|
OK - I'll give that a try right now. I assume I will need to apply it to the source deb since we had the hunk failures when updating just the kdelibs tarball. Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered Member
|
Almost there! But I have six debs instead of one and they say hardy1. I found the problem with the ubuntu patch. We needed to add a -p1 as it was patching kimgio/Makefile.in and not Makefile.in. Once I did that, the patch applied cleanly. I next manually edited the kpropertiesdialog.cpp file.
I ran dh_make -createorig and was not sure what to answer at the prompt about what I wanted to build. Based upon the multiple names under binary in your edits to control, I assumed multiple binaries. It then said there was already a control file and nothing was overwritten. I edited debian/control by adding the last two lines of the entries you gave after the first line of the file, which was the same as the first line of the entries you gave. Thus the first four lines of control read: Source: kdelibs Binary: kdelibs, kdelibs-data, kdelibs4c2a, kdelibs4-dev, kdelibs4-doc, kdelibs-dbg Version: 4:3.5.10-0ubuntu1~hardy2 Section: libs dpkg-buildpackage -rfakeroot failed with a permissions error. I searched and found I needed to make debian/rules executable. After doing that, all appeared to compile. however, rather than a shiny new deb, I have six shiny new debs, all named hardy1 rather than hardy2, and kdelibs is very small:
Have I done something wrong? If not, do I apply all of them or just kdelibs? Sorry to be so ignorant but I have never built a deb package before. Thanks - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Administrator
|
the package kdelibs is meant to be small, it is a meta package. You can install all of the packages, however the one that will actually work is kdelibs4c2a. I wouldn't be surprised if it doesn't install it ( because it already has this version installed )
You may need to grep all the files in debian/ for "hardy1" and change them appropriately.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered Member
|
Tada! I applied kdelibs4c2a_3.5.10-0ubuntu1~hardy1_amd64.deb and it worked! Thanks very much. How does one get this patch into the production code? - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Administrator
|
Glad to hear my patch worked for you. You will definitely want to put a hold on that package so that later updates do not replace the package containing the patch.
I am going to make a submission to the KDE Developers so this can be included in KDE 4.3. It is unlikely that any more KDE 3.5.x releases will be made at this time.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered Member
|
Hmm . . . that's unfortunate. Since Ubuntu 8.0.4 is a long term support release, we will be on it for quite a while longer. Thanks again - John
www.spiritualoutreach.com
Making Christianity intelligible to secular society |
Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]