Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 09 Jun 2013 00:46:46 +1000
From:      Kubilay Kocak <koobs.freebsd@gmail.com>
To:        Janet Sullivan <janets@nairial.net>
Cc:        "ports@freebsd.org" <ports@freebsd.org>
Subject:   Re: REWARD for working pam_mount
Message-ID:  <51B343D6.9030405@FreeBSD.org>
In-Reply-To: <61141aebb22640d3938f63745330df14@BY2PR07MB043.namprd07.prod.outlook.com>
References:  <0a9ae9e0df704d13b643ee26d487e73a@BY2PR07MB043.namprd07.prod.outlook.com> <51B2C43F.5010300@FreeBSD.org> <61141aebb22640d3938f63745330df14@BY2PR07MB043.namprd07.prod.outlook.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------010302060204020902080004
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

On 9/06/2013 12:33 AM, Janet Sullivan wrote:
> Thank you for the quick turnaround.  I'll make a donation to the foundation in your honor. :-)
> 
> I am having problems with the patch, however, part of it is rejected, as seen below.
> 
> (/usr/ports/sysutils/pam_mount) .oO Sat Jun 08 07:30 AM Oo.
> [co1gnsntxw01] (root)## patch < pam_mount-fix-libHX.patch
> Hmm...  Looks like a unified diff to me...
> The text leading up to this was:
> --------------------------
> |Index: Makefile
> |===================================================================
> |--- Makefile   (revision 320195)
> |+++ Makefile   (working copy)
> --------------------------
> Patching file Makefile using Plan A...
> Hunk #1 failed at 14.
> 1 out of 1 hunks failed--saving rejects to Makefile.rej
> Hmm...  The next patch looks like a unified diff to me...
> The text leading up to this was:
> --------------------------
> |Index: files/patch-commit335500
> |===================================================================
> |--- files/patch-commit335500   (revision 0)
> |+++ files/patch-commit335500   (working copy)
> --------------------------
> (Creating file files/patch-commit335500...)
> Patching file files/patch-commit335500 using Plan A...
> Hunk #1 succeeded at 1.
> Hmm...  Ignoring the trailing garbage.
> done
> 
> -----Original Message-----
> From: Kubilay Kocak [mailto:koobs.freebsd@gmail.com] 
> Sent: Friday, June 7, 2013 10:42 PM
> To: Janet Sullivan
> Cc: ports@freebsd.org
> Subject: Re: REWARD for working pam_mount
> 
> On 8/06/2013 1:57 PM, Janet Sullivan wrote:
>> The /usr/ports/sysutils/pam_mount port is broken, because it's
>> expecting an older version of libHX.   I'd really like to have a
>> working pam_mount, and am willing to paypal US $50 over to the first
>> person who gets it working.   I'm not subscribed to the list, so
>> please email me directly to claim the prize.
> 
> Janet,
> 
> Your offer is commendable but unnecessary :)
> 
> Try this patch I just created (cherry picked from upstream), and let me know how it goes. You'll want to apply it to the pam_mount port directory.
> 
> There's also something you can do to ensure pam_mount will work going
> forward:
> 
> I had to backport the fix because the new pam_mount 2.13 version requires libmount. Let upstream know that FreeBSD doesn't have libmount, and request they make it optional and configurable (--without-libmount configure option for example), even if it disables certain functionality.
> 
> If it works for you, let me know so I can commit the change, and feel free to consider donating to the FreeBSD Foundation instead
> 
> Koobs
> 

You're welcome Janet

For the Makefile, all you want to change is:

-LIB_DEPENDS=   HX.27:${PORTSDIR}/lang/libhx
+LIB_DEPENDS=   HX:${PORTSDIR}/lang/libhx

If that doesn't work for you, I've also attached a second version of the
patch

Let me know how you go

Koobs


--------------010302060204020902080004
Content-Type: text/plain; charset=windows-1252;
 name="pam_mount-fix-libHX-v2.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="pam_mount-fix-libHX-v2.patch"

===> Generating patch
===> Viewing diff with more
diff -ruN /usr/ports/sysutils/pam_mount/Makefile ./Makefile
--- /usr/ports/sysutils/pam_mount/Makefile	2012-11-17 17:01:40.000000000 +1100
+++ ./Makefile	2013-06-08 14:23:04.506365111 +1000
@@ -3,7 +3,7 @@
 # Date created:				14 October 2010
 # Whom:					gahr
 #
-# $FreeBSD: ports/sysutils/pam_mount/Makefile,v 1.11 2012/11/17 06:01:40 svnexp Exp $
+# $FreeBSD: head/sysutils/pam_mount/Makefile 300897 2012-07-14 14:29:18Z beat $
 #
 
 PORTNAME=	pam_mount
@@ -14,7 +14,7 @@
 MAINTAINER=	gahr@FreeBSD.org
 COMMENT=	A PAM that can mount volumes for a user session
 
-LIB_DEPENDS=	HX.27:${PORTSDIR}/lang/libhx
+LIB_DEPENDS=	HX:${PORTSDIR}/lang/libhx
 
 USE_GNOME=	pkgconfig libxml2
 USE_PERL5=	yes
diff -ruN /usr/ports/sysutils/pam_mount/files/patch-commit335500 ./files/patch-commit335500
--- /usr/ports/sysutils/pam_mount/files/patch-commit335500	1970-01-01 10:00:00.000000000 +1000
+++ ./files/patch-commit335500	2013-06-08 15:30:41.045578737 +1000
@@ -0,0 +1,144 @@
+# Patch for commit 33550036cb0c9311c9dc4da9b3b359435319420e (pam-mount)
+# Log: src: update for libHX 3.12
+# Authored by: Jan Engelhardt 2011-12-02
+
+--- ./configure.ac.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./configure.ac	2013-06-08 14:52:22.855624000 +1000
+@@ -63,7 +63,7 @@
+ AM_CONDITIONAL([HAVE_MDIO], [test "x$ac_cv_header_sys_mdioctl_h" = "xyes"])
+ AM_CONDITIONAL([HAVE_VND], [test "x$ac_cv_header_dev_vndvar_h" = "xyes"])
+ 
+-PKG_CHECK_MODULES([libHX], [libHX >= 3.10.1])
++PKG_CHECK_MODULES([libHX], [libHX >= 3.12])
+ PKG_CHECK_MODULES([libxml], [libxml-2.0 >= 2.6])
+ 
+ AC_ARG_WITH(
+--- ./src/autoloop.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/autoloop.c		2013-06-08 14:45:47.846247000 +1000
+@@ -54,7 +54,8 @@
+ 		HXOPT_AUTOHELP,
+ 		HXOPT_TABLEEND,
+ 	};
+-	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0)
++	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) !=
++	    HXOPT_ERR_SUCCESS)
+ 		return false;
+ 	if (*argc != 2) {
+ 		fprintf(stderr, "Usage: %s file\n", HX_basename(**argv));
+--- ./src/ehd.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/ehd.c		2013-06-08 14:46:27.566540000 +1000
+@@ -526,7 +526,8 @@
+ 		HXOPT_TABLEEND,
+ 	};
+ 
+-	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0)
++	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) !=
++	    HXOPT_ERR_SUCCESS)
+ 		return false;
+ 
+ 	pg->interactive = isatty(fileno(stdin));
+--- ./src/misc.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/misc.c	2013-06-08 14:47:27.515576000 +1000
+@@ -159,7 +159,7 @@
+ {
+ 	char *filled;
+ 
+-	if (HXformat2_aprintf(vinfo, &filled, arg) == 0)
++	if (HXformat_aprintf(vinfo, &filled, arg) == 0)
+ 		/*
+ 		 * This case may happen with e.g. %(before="-o" OPTIONS) where
+ 		 * OPTIONS is empty. And options expanding to nothing are
+--- ./src/mount.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/mount.c	2013-06-08 14:47:54.655610000 +1000
+@@ -487,7 +487,7 @@
+ 	string = HXmc_meminit(NULL, 0);
+ 
+ 	for (i = config->command[CMD_FSCK]->first; i != NULL; i = i->next) {
+-		if (HXformat2_aprintf(vinfo, &current, i->ptr) > 0) {
++		if (HXformat_aprintf(vinfo, &current, i->ptr) > 0) {
+ 			HXmc_strcat(&string, current);
+ 			HXmc_strcat(&string, " ");
+ 		}
+--- ./src/mtab.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/mtab.c	2013-06-08 14:48:18.965526000 +1000
+@@ -138,7 +138,7 @@
+ 			l0g("HX_dirname: %s\n", strerror(errno));
+ 			return -errno;
+ 		}
+-		ret = HX_mkdir(dirname);
++		ret = HX_mkdir(dirname, S_IRUGO | S_IXUGO | S_IWUSR);
+ 		free(dirname);
+ 		if (ret < 0) {
+ 			l0g("HX_mkdir: %s\n", strerror(-ret));
+--- ./src/mtcrypt.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/mtcrypt.c		2013-06-08 14:49:23.036264000 +1000
+@@ -185,7 +185,8 @@
+ 	bool kfpt;
+ 	int ret;
+ 
+-	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0)
++	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) !=
++	    HXOPT_ERR_SUCCESS)
+ 		return false;
+ 
+ 	pmtlog_path[PMTLOG_DBG][PMTLOG_STDERR] = Debug;
+@@ -508,7 +509,8 @@
+ 	};
+ 	int ret;
+ 
+-	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) <= 0)
++	if (HX_getopt(options_table, argc, argv, HXOPT_USAGEONERR) !=
++	    HXOPT_ERR_SUCCESS)
+ 		return false;
+ 
+ 	pmtlog_path[PMTLOG_DBG][PMTLOG_STDERR] = Debug;
+--- ./src/pam_mount.h	2011-10-06 22:48:08.000000000 +1100
++++ ./src/pam_mount.h	2013-06-08 14:50:03.445549000 +1000
+@@ -15,12 +15,6 @@
+ #	define EXPORT_SYMBOL
+ #endif
+ 
+-#ifndef S_IRXG
+-#	define S_IRXG (S_IRGRP | S_IXGRP)
+-#endif
+-#ifndef S_IRXO
+-#	define S_IRXO (S_IROTH | S_IXOTH)
+-#endif
+ #define sizeof_z(x) (sizeof(x) - 1)
+ 
+ /*
+--- ./src/pmvarrun.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/pmvarrun.c		2013-06-08 14:51:23.506567000 +1000
+@@ -296,10 +296,11 @@
+  */
+ static int create_var_run(void)
+ {
++	static const unsigned int mode = S_IRUGO | S_IXUGO | S_IWUSR;
+ 	int ret;
+ 
+ 	w4rn("creating " VAR_RUN_PMT);
+-	if (HX_mkdir(VAR_RUN_PMT) < 0) {
++	if (HX_mkdir(VAR_RUN_PMT, mode) < 0) {
+ 		ret = -errno;
+ 		l0g("unable to create " VAR_RUN_PMT ": %s\n", strerror(errno));
+ 		return ret;
+@@ -314,7 +315,7 @@
+ 	 * 0755: `su` creates file group owned by user and then releases root
+ 	 * permissions. User needs to be able to access file on logout.
+ 	 */
+-	if (chmod(VAR_RUN_PMT, S_IRWXU | S_IRXG | S_IRXO) < 0) {
++	if (chmod(VAR_RUN_PMT, mode) < 0) {
+ 		ret = -errno;
+ 		l0g("unable to chmod " VAR_RUN_PMT ": %s\n", strerror(errno));
+ 		return ret;
+--- ./src/rdconf1.c.orig	2011-10-06 22:48:08.000000000 +1100
++++ ./src/rdconf1.c		2013-06-08 14:51:47.165542000 +1000
+@@ -126,7 +126,7 @@
+ 
+ 	if (*dest_pptr == NULL)
+ 		return true;
+-	HXformat2_aprintf(vinfo, &tmp, *dest_pptr);
++	HXformat_aprintf(vinfo, &tmp, *dest_pptr);
+ 	*dest_pptr = xstrdup(tmp);
+ 	HXmc_free(tmp);
+ 	return true;
===> Done

--------------010302060204020902080004--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51B343D6.9030405>