diff options
author | marcus <marcus@FreeBSD.org> | 2004-11-05 14:08:01 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2004-11-05 14:08:01 +0800 |
commit | dd06ee71432f304091aa329f0203b2f2d50609dc (patch) | |
tree | 684842b7abcba1f86ff5ea36dc84295562e5e65f /sysutils | |
parent | f2f983c0d917b9d0b60bf820a8c27472d1aa6c69 (diff) | |
download | freebsd-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>
Diffstat (limited to 'sysutils')
-rw-r--r-- | sysutils/Makefile | 1 | ||||
-rw-r--r-- | sysutils/libgksu/Makefile | 27 | ||||
-rw-r--r-- | sysutils/libgksu/distinfo | 2 | ||||
-rw-r--r-- | sysutils/libgksu/files/patch-Makefile.in | 11 | ||||
-rw-r--r-- | sysutils/libgksu/files/patch-libgksu_Makefile.in | 20 | ||||
-rw-r--r-- | sysutils/libgksu/files/patch-libgksu_gksu-context.c | 63 | ||||
-rw-r--r-- | sysutils/libgksu/files/patch-libgksu_gksu-run-helper.c | 15 | ||||
-rw-r--r-- | sysutils/libgksu/files/patch-libgksu_test-gksu.c | 11 | ||||
-rw-r--r-- | sysutils/libgksu/pkg-descr | 8 | ||||
-rw-r--r-- | sysutils/libgksu/pkg-plist | 16 |
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 |