Changeset 77890


Ignore:
Timestamp:
Apr 16, 2011, 9:02:16 AM (9 years ago)
Author:
afb@…
Message:

dpkg: fix build error on system with <kvm.h> (#29111)

Location:
trunk/dports/sysutils/dpkg
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/sysutils/dpkg/Portfile

    r77632 r77890  
    55name                    dpkg
    66version                 1.14.29
    7 revision                3
     7revision                4
    88platforms               darwin freebsd
    99categories              sysutils archivers
  • trunk/dports/sysutils/dpkg/files/patch-utils_start-stop-daemon.c

    r71761 r77890  
    2929        if (execname && !pid_is_cmd(pid, execname))
    3030                return;
    31 @@ -931,7 +934,6 @@
     31@@ -882,6 +882,7 @@
     32 }
     33 #endif /* OSHURD */
     34 
     35+#if defined(OSOpenBSD) || defined(OSFreeBSD) || defined(OSNetBSD)
     36 #ifdef HAVE_KVM_H
     37 static int
     38 pid_is_cmd(pid_t pid, const char *name)
     39@@ -974,6 +975,7 @@
    3240 {
    33         kvm_t *kd;
    34         int nentries; /* Value not used */
    35 -       uid_t proc_uid;
    36         struct kinfo_proc *kp;
    37         char errbuf[_POSIX2_LINE_MAX];
     41        /* Nothing to do */
     42 }
     43+#endif
     44 #endif /* OSOpenBSD */
    3845 
    39 @@ -941,32 +944,8 @@
    40         kp = kvm_getprocs(kd, KERN_PROC_PID, pid, &nentries);
    41         if (kp == NULL)
    42                 errx(1, "%s", kvm_geterr(kd));
    43 -       if (kp->kp_proc.p_cred)
    44 -               kvm_read(kd, (u_long)&(kp->kp_proc.p_cred->p_ruid),
    45 -                        &proc_uid, sizeof(uid_t));
    46 -       else
    47 -               return 0;
    48 -       return (proc_uid == (uid_t)uid);
    49 -}
    50 -
    51 -static int
    52 -pid_is_exec(pid_t pid, const char *name)
    53 -{
    54 -       kvm_t *kd;
    55 -       int nentries;
    56 -       struct kinfo_proc *kp;
    57 -       char errbuf[_POSIX2_LINE_MAX], *pidexec;
    58  
    59 -       kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, errbuf);
    60 -       if (kd == NULL)
    61 -               errx(1, "%s", errbuf);
    62 -       kp = kvm_getprocs(kd, KERN_PROC_PID, pid, &nentries);
    63 -       if (kp == NULL)
    64 -               errx(1, "%s", kvm_geterr(kd));
    65 -       pidexec = (&kp->kp_proc)->p_comm;
    66 -       if (strlen(name) != strlen(pidexec))
    67 -               return 0;
    68 -       return (strcmp(name, pidexec) == 0) ? 1 : 0;
    69 +       return (kp->ki_uid == (uid_t)uid);
    70  }
    71  
    72  static void
     46 #if defined(OShpux)
    7347@@ -975,6 +954,80 @@
    7448        /* Nothing to do */
Note: See TracChangeset for help on using the changeset viewer.