aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2004-11-05 14:08:01 +0800
committermarcus <marcus@FreeBSD.org>2004-11-05 14:08:01 +0800
commitdd06ee71432f304091aa329f0203b2f2d50609dc (patch)
tree684842b7abcba1f86ff5ea36dc84295562e5e65f
parentf2f983c0d917b9d0b60bf820a8c27472d1aa6c69 (diff)
downloadfreebsd-ports-gnome-dd06ee71432f304091aa329f0203b2f2d50609dc.tar.gz
freebsd-ports-gnome-dd06ee71432f304091aa329f0203b2f2d50609dc.tar.zst
freebsd-ports-gnome-dd06ee71432f304091aa329f0203b2f2d50609dc.zip
Add libgksu, a simple API to use su and sudo in programs that need to
execute tasks as another user. It provides X authentication facilities for running programs in an X session. PR: 72257 Submitted by: Jesse van den Kieboom <troplosti@orcaweb.cjb.net>
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/libgksu/Makefile27
-rw-r--r--sysutils/libgksu/distinfo2
-rw-r--r--sysutils/libgksu/files/patch-Makefile.in11
-rw-r--r--sysutils/libgksu/files/patch-libgksu_Makefile.in20
-rw-r--r--sysutils/libgksu/files/patch-libgksu_gksu-context.c63
-rw-r--r--sysutils/libgksu/files/patch-libgksu_gksu-run-helper.c15
-rw-r--r--sysutils/libgksu/files/patch-libgksu_test-gksu.c11
-rw-r--r--sysutils/libgksu/pkg-descr8
-rw-r--r--sysutils/libgksu/pkg-plist16
10 files changed, 174 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index ac71a843fa5e..68000229e977 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -212,6 +212,7 @@
SUBDIR += lfm
SUBDIR += libcdio
SUBDIR += libchk
+ SUBDIR += libgksu
SUBDIR += libretto-config
SUBDIR += libutempter
SUBDIR += lineakd
diff --git a/sysutils/libgksu/Makefile b/sysutils/libgksu/Makefile
new file mode 100644
index 000000000000..11c0b94f4a60
--- /dev/null
+++ b/sysutils/libgksu/Makefile
@@ -0,0 +1,27 @@
+# New ports collection makefile for: libgksu1.2
+# Date created: 1 October 2004
+# Whom: Jesse van den Kieboom <troplosti@orcaweb.cjb.net>
+#
+# $FreeBSD$
+#
+
+PORTNAME= libgksu
+PORTVERSION= 1.2.5a
+CATEGORIES= sysutils
+MASTER_SITES= http://people.debian.org/~kov/gksu/libgksu1.2/
+DISTNAME= ${PORTNAME}1.2-${PORTVERSION}
+
+MAINTAINER= troplosti@orcaweb.cjb.net
+COMMENT= Library providing su and sudo functionality
+
+RUN_DEPENDS= xauth:${X_CLIENTS_PORT} \
+ sudo:${PORTSDIR}/security/sudo
+
+USE_GNOME= gnometarget pkgconfig
+INSTALLS_SHLIB= yes
+CONFIGURE_ARGS= --enable-gtk-doc=no
+USE_LIBTOOL_VER=15
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+
+.include <bsd.port.mk>
diff --git a/sysutils/libgksu/distinfo b/sysutils/libgksu/distinfo
new file mode 100644
index 000000000000..d0aafe00a9de
--- /dev/null
+++ b/sysutils/libgksu/distinfo
@@ -0,0 +1,2 @@
+MD5 (libgksu1.2-1.2.5a.tar.gz) = 9abc77957b1de93fe58b70ebb626d674
+SIZE (libgksu1.2-1.2.5a.tar.gz) = 561123
diff --git a/sysutils/libgksu/files/patch-Makefile.in b/sysutils/libgksu/files/patch-Makefile.in
new file mode 100644
index 000000000000..1c77c7fbde5d
--- /dev/null
+++ b/sysutils/libgksu/files/patch-Makefile.in
@@ -0,0 +1,11 @@
+--- Makefile.in.orig Thu Sep 30 20:39:24 2004
++++ Makefile.in Fri Oct 1 16:00:27 2004
+@@ -171,7 +171,7 @@
+
+ DISTCLEANFILES = *~
+
+-SUBDIRS = m4 intl po libgksu docs
++SUBDIRS = m4 intl po libgksu
+ DIST_SUBDIRS = $(SUBDIRS)
+
+ ACLOCAL_AMFLAGS = -I m4
diff --git a/sysutils/libgksu/files/patch-libgksu_Makefile.in b/sysutils/libgksu/files/patch-libgksu_Makefile.in
new file mode 100644
index 000000000000..277091349a07
--- /dev/null
+++ b/sysutils/libgksu/files/patch-libgksu_Makefile.in
@@ -0,0 +1,20 @@
+--- libgksu/Makefile.in.orig Tue Sep 7 21:51:54 2004
++++ libgksu/Makefile.in Fri Nov 5 00:43:20 2004
+@@ -168,7 +168,7 @@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-AM_CFLAGS = -g -O2 -Wall
++AM_CFLAGS = $(CFLAGS)
+ INCLUDES = `pkg-config --cflags glib-2.0`
+ AM_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\" -DDATA_DIR=\"$(datadir)\" -DPREFIX=\"$(prefix)\"
+ LTPACKAGE = $(shell echo ${PACKAGE} | sed s,.,_,g)
+@@ -185,7 +185,7 @@
+
+ include_HEADERS = gksu.h gksu-context.h
+
+-pkgconfigdir = ${libdir}/pkgconfig
++pkgconfigdir = ${prefix}/libdata/pkgconfig
+ pkgconfig_DATA = ${PACKAGE}.pc
+ pkglib_PROGRAMS = gksu-run-helper
+ gksu_run_helper_LDFLAGS = `pkg-config --libs glib-2.0`
diff --git a/sysutils/libgksu/files/patch-libgksu_gksu-context.c b/sysutils/libgksu/files/patch-libgksu_gksu-context.c
new file mode 100644
index 000000000000..fbb87b47320a
--- /dev/null
+++ b/sysutils/libgksu/files/patch-libgksu_gksu-context.c
@@ -0,0 +1,63 @@
+--- libgksu/gksu-context.c.orig Sun Oct 17 21:43:32 2004
++++ libgksu/gksu-context.c Fri Nov 5 01:01:45 2004
+@@ -23,9 +23,13 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <fcntl.h>
+-#include <pty.h>
+-#include <pwd.h>
++
+ #include <sys/types.h>
++#include <sys/ioctl.h>
++#include <termios.h>
++#include <libutil.h>
++
++#include <pwd.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+ #include <sys/select.h>
+@@ -419,6 +423,7 @@
+ gchar *tmp = NULL;
+ gchar **tmpv = NULL;
+ gchar *display = NULL;
++ size_t r;
+
+ /* avoid problems with "network" DISPLAY's */
+ display = g_strdup (getenv ("DISPLAY"));
+@@ -434,6 +439,7 @@
+ "grep 'MIT-MAGIC-COOKIE-1' | "
+ "cut -d ' ' -f 5",
+ context->display);
++
+ if ((xauth_output = popen (tmp, "r")) == NULL)
+ {
+ fprintf (stderr,
+@@ -441,8 +447,8 @@
+ strerror(errno));
+ return 1;
+ }
+- fread (xauth, sizeof(char), 256, xauth_output);
+- xauth[strlen(xauth) - 1] = '\0';
++ r = fread (xauth, sizeof(char), 256, xauth_output);
++ xauth[r] = '\0';
+ pclose (xauth_output);
+ g_free (tmp);
+
+@@ -637,7 +643,7 @@
+ {
+ gchar **cmd = g_malloc (sizeof(gchar*)*7);
+
+- cmd[i] = g_strdup ("/bin/su"); i++;
++ cmd[i] = g_strdup ("/usr/bin/su"); i++;
+ if (context->login_shell)
+ {
+ cmd[i] = g_strdup ("-"); i++;
+@@ -659,7 +665,7 @@
+ if (execv (cmd[0], cmd) == -1)
+ {
+ fprintf (stderr,
+- _("Unable to run /bin/su: %s"),
++ _("Unable to run /usr/bin/su: %s"),
+ strerror(errno));
+ }
+
diff --git a/sysutils/libgksu/files/patch-libgksu_gksu-run-helper.c b/sysutils/libgksu/files/patch-libgksu_gksu-run-helper.c
new file mode 100644
index 000000000000..91ba7703ccda
--- /dev/null
+++ b/sysutils/libgksu/files/patch-libgksu_gksu-run-helper.c
@@ -0,0 +1,15 @@
+--- libgksu/gksu-run-helper.c.orig Thu Sep 30 20:40:25 2004
++++ libgksu/gksu-run-helper.c Thu Sep 30 19:09:05 2004
+@@ -127,9 +127,9 @@
+ chmod (tmpfilename, S_IRUSR|S_IWUSR);
+
+ command =
+- g_strdup_printf ("/usr/bin/env -u XAUTHORITY=%s /usr/X11R6/bin/xauth add %s . \"`cat %s.tmp`\" > /dev/null 2>&1; /usr/bin/env -u XAUTHORITY=%s %s",
+- xauth_file, xauth_display,
+- xauth_file, xauth_file,
++ g_strdup_printf ("/bin/sh -c unset XAUTHORITY; /usr/X11R6/bin/xauth add %s . \"`cat %s.tmp`\" > /dev/null 2>&1; /bin/sh -c unset XAUTHORITY; %s",
++ xauth_display,
++ xauth_file,
+ argv[1]);
+
+ return_code = system (command);
diff --git a/sysutils/libgksu/files/patch-libgksu_test-gksu.c b/sysutils/libgksu/files/patch-libgksu_test-gksu.c
new file mode 100644
index 000000000000..13adf16fcc82
--- /dev/null
+++ b/sysutils/libgksu/files/patch-libgksu_test-gksu.c
@@ -0,0 +1,11 @@
+--- libgksu/test-gksu.c.orig Thu Sep 30 20:40:04 2004
++++ libgksu/test-gksu.c Thu Sep 30 17:39:36 2004
+@@ -34,7 +34,7 @@
+ context = gksu_context_new ();
+
+ gksu_context_set_debug (context, TRUE);
+- gksu_context_set_command (context, "/usr/bin/X11/xterm");
++ gksu_context_set_command (context, "/usr/X11R6/bin/xterm");
+
+ password = getpass ("Type the root password: ");
+ gksu_context_set_password (context, password);
diff --git a/sysutils/libgksu/pkg-descr b/sysutils/libgksu/pkg-descr
new file mode 100644
index 000000000000..697b750cf410
--- /dev/null
+++ b/sysutils/libgksu/pkg-descr
@@ -0,0 +1,8 @@
+This library comes from the gksu program. It provides a simple API to use su
+and sudo in programs that need to execute tasks as other user. It provides X
+authentication facilities for running programs in a X session.
+
+WWW: http://www.gnu.org/non-gnu/gksu/
+
+- Jesse van den Kieboom
+troplosti@orcaweb.cjb.net
diff --git a/sysutils/libgksu/pkg-plist b/sysutils/libgksu/pkg-plist
new file mode 100644
index 000000000000..7f58d182e0d6
--- /dev/null
+++ b/sysutils/libgksu/pkg-plist
@@ -0,0 +1,16 @@
+include/libgksu1.2/gksu-context.h
+include/libgksu1.2/gksu.h
+lib/libgksu1.2.a
+lib/libgksu1.2.so
+lib/libgksu1.2.so.0
+lib/libgksu1.2/gksu-run-helper
+libdata/pkgconfig/libgksu1.2.pc
+share/locale/ca/LC_MESSAGES/libgksu1.2.mo
+share/locale/da/LC_MESSAGES/libgksu1.2.mo
+share/locale/de/LC_MESSAGES/libgksu1.2.mo
+share/locale/es/LC_MESSAGES/libgksu1.2.mo
+share/locale/no_NB/LC_MESSAGES/libgksu1.2.mo
+share/locale/pt_BR/LC_MESSAGES/libgksu1.2.mo
+share/locale/ru/LC_MESSAGES/libgksu1.2.mo
+@dirrm lib/libgksu1.2
+@dirrm include/libgksu1.2