[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Porter help needed to build latest upstream PAM



Roger Leigh <rleigh@whinlatter.ukfsn.org> (05/08/2007):
> The same considerations may also apply to the FreeBSD ports.  It might
> just build, but it might need some tweaking.

Hi again.

As discussed on IRC, the #error thing is quite strange. Either use
#warning (used in my patch) or use some autotools magic to disable this
file when not building on/for Linux.

Another file contains a Linux-only syscall: setfsuid(). I might be
mistaken, but every page I came across mentions it is Linux-only, and
I didn't find any Unix-wide replacement. I guess I'll be corrected by
another list subscriber if I'm wrong.

Instead of putting #ifdef/#endif everywhere in this file, I defined a
no-op when not on Linux. I guess that putting an autotools check for
this function could be a good idea.

At last, some files are not available after the install step, I
commented them out in the install file. I believe you could handle them
by dh_installing them conditionally from your debian/rules, depending on
DEB_HOST_ARCH_OS being or not ``linux'', if it turns out that GNU/Hurd
is lacking the same files.

I attached both the patch and the build log once it is applied. I didn't
do any runtime check, but I'll be pleased to do so if you describe what
you want me to try.

Cheers,

-- 
Cyril Brulebois
diff -urN pam-0.99.7.1~/Linux-PAM/modules/pam_limits/pam_limits.c pam-0.99.7.1/Linux-PAM/modules/pam_limits/pam_limits.c
--- pam-0.99.7.1~/Linux-PAM/modules/pam_limits/pam_limits.c	2007-08-06 08:58:06.000000000 +0000
+++ pam-0.99.7.1/Linux-PAM/modules/pam_limits/pam_limits.c	2007-08-06 09:02:19.000000000 +0000
@@ -14,7 +14,7 @@
  */
 
 #if !defined(linux) && !defined(__linux)
-#error THIS CODE IS KNOWN TO WORK ONLY ON LINUX !!!
+#warning THIS CODE IS KNOWN TO WORK ONLY ON LINUX !!!
 #endif
 
 #include "config.h"
diff -urN pam-0.99.7.1~/Linux-PAM/modules/pam_xauth/pam_xauth.c pam-0.99.7.1/Linux-PAM/modules/pam_xauth/pam_xauth.c
--- pam-0.99.7.1~/Linux-PAM/modules/pam_xauth/pam_xauth.c	2007-08-06 08:58:06.000000000 +0000
+++ pam-0.99.7.1/Linux-PAM/modules/pam_xauth/pam_xauth.c	2007-08-06 09:32:16.000000000 +0000
@@ -35,7 +35,12 @@
 
 #include "config.h"
 #include <sys/types.h>
-#include <sys/fsuid.h>
+#ifdef __linux__
+#  include <sys/fsuid.h>
+#else
+#  /* no-op */
+#  define setfsuid(X) do {} while (0)
+#endif
 #include <sys/wait.h>
 #include <errno.h>
 #include <fnmatch.h>
diff -urN pam-0.99.7.1~/debian/libpam-modules.install pam-0.99.7.1/debian/libpam-modules.install
--- pam-0.99.7.1~/debian/libpam-modules.install	2007-08-06 08:58:07.000000000 +0000
+++ pam-0.99.7.1/debian/libpam-modules.install	2007-08-06 09:27:47.000000000 +0000
@@ -1,8 +1,8 @@
 debian/install/etc/security/access.conf			etc/security
 debian/install/etc/security/group.conf			etc/security
 debian/install/etc/security/limits.conf			etc/security
-debian/install/etc/security/namespace.conf		etc/security
-debian/install/etc/security/namespace.init		etc/security
+#debian/install/etc/security/namespace.conf		etc/security
+#debian/install/etc/security/namespace.init		etc/security
 debian/install/etc/security/pam_env.conf		etc/security
 debian/install/etc/security/time.conf			etc/security
 debian/install/lib/security/*.so			lib/security
@@ -12,7 +12,7 @@
 debian/install/usr/share/man/man5/access.conf.5		usr/share/man/man5
 debian/install/usr/share/man/man5/group.conf.5		usr/share/man/man5
 debian/install/usr/share/man/man5/limits.conf.5		usr/share/man/man5
-debian/install/usr/share/man/man5/namespace.conf.5	usr/share/man/man5
+#debian/install/usr/share/man/man5/namespace.conf.5	usr/share/man/man5
 debian/install/usr/share/man/man5/pam_env.conf.5	usr/share/man/man5
 debian/install/usr/share/man/man5/time.conf.5		usr/share/man/man5
 debian/install/usr/share/man/man8/pam_access.8		usr/share/man/man8
@@ -26,7 +26,7 @@
 debian/install/usr/share/man/man8/pam_ftp.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_group.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_issue.8		usr/share/man/man8
-debian/install/usr/share/man/man8/pam_keyinit.8		usr/share/man/man8
+#debian/install/usr/share/man/man8/pam_keyinit.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_lastlog.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_limits.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_listfile.8	usr/share/man/man8
@@ -35,13 +35,13 @@
 debian/install/usr/share/man/man8/pam_mail.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_mkhomedir.8	usr/share/man/man8
 debian/install/usr/share/man/man8/pam_motd.8		usr/share/man/man8
-debian/install/usr/share/man/man8/pam_namespace.8	usr/share/man/man8
+#debian/install/usr/share/man/man8/pam_namespace.8	usr/share/man/man8
 debian/install/usr/share/man/man8/pam_nologin.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_permit.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_rhosts.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_rootok.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_securetty.8	usr/share/man/man8
-debian/install/usr/share/man/man8/pam_selinux.8		usr/share/man/man8
+#debian/install/usr/share/man/man8/pam_selinux.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_shells.8		usr/share/man/man8
 debian/install/usr/share/man/man8/pam_succeed_if.8	usr/share/man/man8
 debian/install/usr/share/man/man8/pam_tally.8		usr/share/man/man8

Attachment: pam_0.99.7.1-1_kfreebsd-i386.build.bz2
Description: Binary data

Attachment: pgpZIjT90i9Hk.pgp
Description: PGP signature


Reply to: