This forum has been archived. All content is frozen. Please use KDE Discuss instead.

List ldap groups in konqueror permissions

Tags: None
(comma "," separated)
gracedman
Registered Member
Posts
66
Karma
0
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
gracedman
Registered Member
Posts
66
Karma
0
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
gracedman
Registered Member
Posts
66
Karma
0
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
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
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

Code: Select all
Index: kpropertiesdialog.cpp
===================================================================
--- kpropertiesdialog.cpp   (revision 919351)
+++ kpropertiesdialog.cpp   (working copy)
@@ -1771,26 +1771,20 @@
     strUser = user->pw_name;
 
 #ifdef Q_OS_UNIX
-  setgrent();
-  for (i=0; ((ge = getgrent()) != 0L) && (i gr_name);
-    else
-    {
-      /* pick the groups to which the user belongs */
-      char ** members = ge->gr_mem;
-      char * member;
-      while ((member = *members) != 0L) {
-        if (strUser == member) {
-          groupList += QString::fromLocal8Bit(ge->gr_name);
-          break;
-        }
-        ++members;
-      }
+  int numOfGroups;
+  gid_t *groups;
+  struct group *groupObject;
+
+  // Retrieve group list
+  numOfGroups = getgroups (0, NULL);
+  groups = (gid_t *) malloc (numOfGroups * sizeof (gid_t));
+  getgrouplist(strUser, getegid(), groups, &numOfGroups); // actually get a list, but do not include the main group
+  // Now we add it to the list
+  if (groups != NULL) {
+    for( int groupId = 0; groupId gr_name); 
     }
   }
-  endgrent();
 #endif //Q_OS_UNIX
 
   /* add the effective Group to the list .. */


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
gracedman
Registered Member
Posts
66
Karma
0
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
gracedman
Registered Member
Posts
66
Karma
0
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
gracedman
Registered Member
Posts
66
Karma
0
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
gracedman
Registered Member
Posts
66
Karma
0
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
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Yes, it was reusing the two braces not deleted. Lets try manually updating the file.
In "kpropertiesdialog.cpp" find this segment of code:
Code: Select all
#ifdef Q_OS_UNIX
  setgrent();
  for (i=0; ((ge = getgrent()) != 0L) && (i gr_name);
    else
    {
      /* pick the groups to which the user belongs */
      char ** members = ge->gr_mem;
      char * member;
      while ((member = *members) != 0L) {
        if (strUser == member) {
          groupList += QString::fromLocal8Bit(ge->gr_name);
          break;
        }
        ++members;
      }
    }
  }
  endgrent();
#endif //Q_OS_UNIX


And replace it with this segment of code:
Code: Select all
#ifdef Q_OS_UNIX
  int numOfGroups;
  gid_t *groups;
  struct group *groupObject;

  // Retrieve group list
  numOfGroups = getgroups (0, NULL);
  groups = (gid_t *) malloc (numOfGroups * sizeof (gid_t));
  getgrouplist(strUser, getegid(), groups, &numOfGroups); // actually get the list
  // Now we add it to the list
  if (groups != NULL) {
    for( int groupId = 0; groupId gr_name); }
    }
  }
#endif //Q_OS_UNIX

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]
gracedman
Registered Member
Posts
66
Karma
0
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
gracedman
Registered Member
Posts
66
Karma
0
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:

Code: Select all
-rw-r--r-- 1 jsullivan jsullivan     9340 2009-02-03 08:01 kdelibs_3.5.10-0ubuntu1~hardy1_all.deb
-rw-r--r-- 1 jsullivan jsullivan 10632580 2009-02-03 08:08 kdelibs4c2a_3.5.10-0ubuntu1~hardy1_amd64.deb
-rw-r--r-- 1 jsullivan jsullivan  1459312 2009-02-03 08:08 kdelibs4-dev_3.5.10-0ubuntu1~hardy1_amd64.deb
-rw-r--r-- 1 jsullivan jsullivan 26459382 2009-02-03 08:01 kdelibs4-doc_3.5.10-0ubuntu1~hardy1_all.deb
-rw-r--r-- 1 jsullivan jsullivan  7467000 2009-02-03 08:01 kdelibs-data_3.5.10-0ubuntu1~hardy1_all.deb
-rw-r--r-- 1 jsullivan jsullivan 26809626 2009-02-03 08:09 kdelibs-dbg_3.5.10-0ubuntu1~hardy1_amd64.deb


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
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
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]
gracedman
Registered Member
Posts
66
Karma
0
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
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
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]
gracedman
Registered Member
Posts
66
Karma
0
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


Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], sandyvee, Sogou [Bot]