summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman <saurik@saurik.com>2009-04-08 21:42:41 +0000
committerJay Freeman <saurik@saurik.com>2009-04-08 21:42:41 +0000
commit960f0c8bd926f96246a6567ece6f9851a2b22b76 (patch)
treeb23b7c9796b9d2b5f10a0845e872e81f0c997ae1
parent6774b86da56c1713247148e83d44630675828dee (diff)
Upgraded system-cmds to use PAM (for login).
git-svn-id: http://svn.telesphoreo.org/trunk@566 514c082c-b64e-11dc-b46d-3d985efe055d
-rw-r--r--data/pam-modules/_metadata/depends1
-rw-r--r--data/pam-modules/_metadata/description1
l---------data/pam-modules/_metadata/license1
l---------data/pam-modules/_metadata/maintainer1
-rw-r--r--data/pam-modules/_metadata/name1
l---------data/pam-modules/_metadata/pam.dep1
-rwxr-xr-xdata/pam-modules/_metadata/preinst7
-rw-r--r--data/pam-modules/_metadata/priority1
-rw-r--r--data/pam-modules/_metadata/role1
-rw-r--r--data/pam-modules/_metadata/section1
-rw-r--r--data/pam-modules/_metadata/tags1
-rw-r--r--data/pam-modules/_metadata/version1
-rw-r--r--data/pam-modules/make.sh9
-rw-r--r--data/pam-modules/pam_modules-36.1.tar.gzbin0 -> 69116 bytes
-rw-r--r--data/pam-modules/pw_util.h65
-rw-r--r--data/pam-modules/tempname.diff12
-rw-r--r--data/pam-modules/vproc_priv.h82
-rw-r--r--data/pam/_metadata/depends1
-rw-r--r--data/pam/_metadata/description1
-rw-r--r--data/pam/_metadata/license41
l---------data/pam/_metadata/maintainer1
-rw-r--r--data/pam/_metadata/name1
-rwxr-xr-xdata/pam/_metadata/preinst7
-rw-r--r--data/pam/_metadata/priority1
-rw-r--r--data/pam/_metadata/role1
-rw-r--r--data/pam/_metadata/section1
-rw-r--r--data/pam/_metadata/tags1
-rw-r--r--data/pam/_metadata/version1
-rw-r--r--data/pam/ar.diff12
-rw-r--r--data/pam/cc.diff14
-rw-r--r--data/pam/lipo.diff21
-rw-r--r--data/pam/make.diff18
-rw-r--r--data/pam/make.sh28
-rw-r--r--data/pam/pam-32.1.tar.gzbin0 -> 459113 bytes
-rw-r--r--data/pam/uname.diff12
l---------data/system-cmds/_metadata/libutil.dep1
l---------data/system-cmds/_metadata/pam.dep1
-rw-r--r--data/system-cmds/_metadata/provides1
-rw-r--r--data/system-cmds/_metadata/version2
-rw-r--r--data/system-cmds/make.sh16
-rw-r--r--data/system-cmds/system_cmds-431.tar.gzbin453106 -> 0 bytes
-rw-r--r--data/system-cmds/system_cmds-433.4.tar.gzbin0 -> 430622 bytes
42 files changed, 361 insertions, 8 deletions
diff --git a/data/pam-modules/_metadata/depends b/data/pam-modules/_metadata/depends
new file mode 100644
index 000000000..d91809320
--- /dev/null
+++ b/data/pam-modules/_metadata/depends
@@ -0,0 +1 @@
+system-cmds
diff --git a/data/pam-modules/_metadata/description b/data/pam-modules/_metadata/description
new file mode 100644
index 000000000..18d6587c9
--- /dev/null
+++ b/data/pam-modules/_metadata/description
@@ -0,0 +1 @@
+standard Apple authentication modules
diff --git a/data/pam-modules/_metadata/license b/data/pam-modules/_metadata/license
new file mode 120000
index 000000000..9e5e5e89d
--- /dev/null
+++ b/data/pam-modules/_metadata/license
@@ -0,0 +1 @@
+../../../licenses/apsl-2.0 \ No newline at end of file
diff --git a/data/pam-modules/_metadata/maintainer b/data/pam-modules/_metadata/maintainer
new file mode 120000
index 000000000..0fa66e077
--- /dev/null
+++ b/data/pam-modules/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/saurik \ No newline at end of file
diff --git a/data/pam-modules/_metadata/name b/data/pam-modules/_metadata/name
new file mode 100644
index 000000000..67526dc53
--- /dev/null
+++ b/data/pam-modules/_metadata/name
@@ -0,0 +1 @@
+PAM Modules
diff --git a/data/pam-modules/_metadata/pam.dep b/data/pam-modules/_metadata/pam.dep
new file mode 120000
index 000000000..d21087a2d
--- /dev/null
+++ b/data/pam-modules/_metadata/pam.dep
@@ -0,0 +1 @@
+../../pam \ No newline at end of file
diff --git a/data/pam-modules/_metadata/preinst b/data/pam-modules/_metadata/preinst
new file mode 100755
index 000000000..498792bf9
--- /dev/null
+++ b/data/pam-modules/_metadata/preinst
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+if [[ $1 == install || $1 == upgrade ]]; then
+ /usr/libexec/cydia/move.sh /usr/lib/pam
+fi
+
+exit 0
diff --git a/data/pam-modules/_metadata/priority b/data/pam-modules/_metadata/priority
new file mode 100644
index 000000000..a6a7b9cd7
--- /dev/null
+++ b/data/pam-modules/_metadata/priority
@@ -0,0 +1 @@
+standard
diff --git a/data/pam-modules/_metadata/role b/data/pam-modules/_metadata/role
new file mode 100644
index 000000000..52b4d7301
--- /dev/null
+++ b/data/pam-modules/_metadata/role
@@ -0,0 +1 @@
+hacker
diff --git a/data/pam-modules/_metadata/section b/data/pam-modules/_metadata/section
new file mode 100644
index 000000000..eb7a34ddd
--- /dev/null
+++ b/data/pam-modules/_metadata/section
@@ -0,0 +1 @@
+Administration
diff --git a/data/pam-modules/_metadata/tags b/data/pam-modules/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/pam-modules/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/pam-modules/_metadata/version b/data/pam-modules/_metadata/version
new file mode 100644
index 000000000..2b194df7e
--- /dev/null
+++ b/data/pam-modules/_metadata/version
@@ -0,0 +1 @@
+36.1
diff --git a/data/pam-modules/make.sh b/data/pam-modules/make.sh
new file mode 100644
index 000000000..18bd58e50
--- /dev/null
+++ b/data/pam-modules/make.sh
@@ -0,0 +1,9 @@
+pkg:setup
+
+pkg: mkdir -p /usr/lib/pam
+
+for module in launchd unix uwtmp; do
+ echo "${module}"
+ "${PKG_TARG}-gcc" -shared -o "pam_${module}.so" "pam_${module}"/*.c -lpam -I"${PKG_DATA}" || true
+ pkg: cp -a "pam_${module}.so" /usr/lib/pam
+done
diff --git a/data/pam-modules/pam_modules-36.1.tar.gz b/data/pam-modules/pam_modules-36.1.tar.gz
new file mode 100644
index 000000000..c7816a223
--- /dev/null
+++ b/data/pam-modules/pam_modules-36.1.tar.gz
Binary files differ
diff --git a/data/pam-modules/pw_util.h b/data/pam-modules/pw_util.h
new file mode 100644
index 000000000..b5811b0a2
--- /dev/null
+++ b/data/pam-modules/pw_util.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
+ * Reserved. This file contains Original Code and/or Modifications of
+ * Original Code as defined in and that are subject to the Apple Public
+ * Source License Version 1.0 (the 'License'). You may not use this file
+ * except in compliance with the License. Please obtain a copy of the
+ * License at http://www.apple.com/publicsource and read it before using
+ * this file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License."
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+/*-
+ * Copyright (c) 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)pw_util.h 8.2 (Berkeley) 4/1/94
+ */
+
+void pw_edit __P((int));
+void pw_error __P((char *, int, int));
+void pw_init __P((void));
+int pw_lock __P((void));
+int pw_mkdb __P((void));
+void pw_prompt __P((void));
+int pw_tmp __P((void));
diff --git a/data/pam-modules/tempname.diff b/data/pam-modules/tempname.diff
new file mode 100644
index 000000000..a8d06558c
--- /dev/null
+++ b/data/pam-modules/tempname.diff
@@ -0,0 +1,12 @@
+diff -ru pam_modules-36.1/pam_unix/pw_util.c pam_modules-36.1+iPhone/pam_unix/pw_util.c
+--- pam_modules-36.1/pam_unix/pw_util.c 2007-01-16 05:28:31.000000000 +0000
++++ pam_modules-36.1+iPhone/pam_unix/pw_util.c 2009-04-08 09:26:20.000000000 +0000
+@@ -82,7 +82,7 @@
+
+ #include "pw_util.h"
+
+-extern char *tempname;
++char *tempname;
+ static pid_t editpid = -1;
+ static int lockfd;
+
diff --git a/data/pam-modules/vproc_priv.h b/data/pam-modules/vproc_priv.h
new file mode 100644
index 000000000..991ceb0bc
--- /dev/null
+++ b/data/pam-modules/vproc_priv.h
@@ -0,0 +1,82 @@
+#ifndef _VPROC_PRIVATE_H_
+#define _VPROC_PRIVATE_H_
+/*
+ * Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_APACHE_LICENSE_HEADER_START@
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * @APPLE_APACHE_LICENSE_HEADER_END@
+ */
+
+#include <sys/types.h>
+#include <sys/cdefs.h>
+#include <sys/syslog.h>
+#include <sys/time.h>
+#include <stdbool.h>
+#include <launch.h>
+
+__BEGIN_DECLS
+
+#pragma GCC visibility push(default)
+
+/* DO NOT use this. This is a hack for launchctl */
+#define VPROC_MAGIC_UNLOAD_SIGNAL 0x4141504C
+
+typedef enum {
+ VPROC_GSK_LAST_EXIT_STATUS = 1,
+ VPROC_GSK_GLOBAL_ON_DEMAND,
+ VPROC_GSK_MGR_UID,
+ VPROC_GSK_MGR_PID,
+ VPROC_GSK_IS_MANAGED,
+ VPROC_GSK_BASIC_KEEPALIVE,
+ VPROC_GSK_START_INTERVAL,
+ VPROC_GSK_IDLE_TIMEOUT,
+ VPROC_GSK_EXIT_TIMEOUT,
+ VPROC_GSK_ENVIRONMENT,
+ VPROC_GSK_ALLJOBS,
+ VPROC_GSK_GLOBAL_LOG_MASK,
+ VPROC_GSK_GLOBAL_UMASK,
+} vproc_gsk_t;
+
+vproc_err_t vproc_swap_integer(vproc_t vp, vproc_gsk_t key, int64_t *inval, int64_t *outval);
+vproc_err_t vproc_swap_complex(vproc_t vp, vproc_gsk_t key, launch_data_t inval, launch_data_t *outval);
+
+vproc_err_t _vproc_get_last_exit_status(int *wstatus);
+vproc_err_t _vproc_set_global_on_demand(bool val);
+
+typedef void (*_vprocmgr_log_drain_callback_t)(struct timeval *when, pid_t from_pid, pid_t about_pid, uid_t sender_uid, gid_t sender_gid, int priority, const char *from_name, const char *about_name, const char *session_name, const char *msg);
+
+vproc_err_t _vprocmgr_log_drain(vproc_t vp, pthread_mutex_t *optional_mutex_around_callback, _vprocmgr_log_drain_callback_t func);
+
+vproc_err_t _vproc_send_signal_by_label(const char *label, int sig);
+vproc_err_t _vproc_kickstart_by_label(const char *label, pid_t *out_pid, mach_port_t *out_port_name);
+vproc_err_t _vproc_wait_by_label(const char *label, int *out_wstatus);
+
+void _vproc_log(int pri, const char *msg, ...) __attribute__((format(printf, 2, 3)));
+void _vproc_log_error(int pri, const char *msg, ...) __attribute__((format(printf, 2, 3)));
+
+#define VPROCMGR_SESSION_LOGINWINDOW "LoginWindow"
+#define VPROCMGR_SESSION_BACKGROUND "Background"
+#define VPROCMGR_SESSION_AQUA "Aqua"
+#define VPROCMGR_SESSION_STANDARDIO "StandardIO"
+#define VPROCMGR_SESSION_SYSTEM "System"
+
+vproc_err_t _vprocmgr_move_subset_to_user(uid_t target_user, const char *session_type);
+
+#pragma GCC visibility pop
+
+__END_DECLS
+
+#endif
diff --git a/data/pam/_metadata/depends b/data/pam/_metadata/depends
new file mode 100644
index 000000000..2659dae3c
--- /dev/null
+++ b/data/pam/_metadata/depends
@@ -0,0 +1 @@
+pam-modules
diff --git a/data/pam/_metadata/description b/data/pam/_metadata/description
new file mode 100644
index 000000000..dc932a230
--- /dev/null
+++ b/data/pam/_metadata/description
@@ -0,0 +1 @@
+pluggable (comples) authentication modules
diff --git a/data/pam/_metadata/license b/data/pam/_metadata/license
new file mode 100644
index 000000000..2f27a2ee0
--- /dev/null
+++ b/data/pam/_metadata/license
@@ -0,0 +1,41 @@
+Unless otherwise *explicitly* stated the following text describes the
+licensed conditions under which the contents of this Linux-PAM release
+may be distributed:
+
+-------------------------------------------------------------------------
+Redistribution and use in source and binary forms of Linux-PAM, with
+or without modification, are permitted provided that the following
+conditions are met:
+
+1. Redistributions of source code must retain any existing copyright
+ notice, and this entire permission notice in its entirety,
+ including the disclaimer of warranties.
+
+2. Redistributions in binary form must reproduce all prior and current
+ copyright notices, this list of conditions, and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+3. The name of any author may not be used to endorse or promote
+ products derived from this software without their specific prior
+ written permission.
+
+ALTERNATIVELY, this product may be distributed under the terms of the
+GNU General Public License, in which case the provisions of the GNU
+GPL are required INSTEAD OF the above restrictions. (This clause is
+necessary due to a potential conflict between the GNU GPL and the
+restrictions contained in a BSD-style copyright.)
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+-------------------------------------------------------------------------
+
diff --git a/data/pam/_metadata/maintainer b/data/pam/_metadata/maintainer
new file mode 120000
index 000000000..0fa66e077
--- /dev/null
+++ b/data/pam/_metadata/maintainer
@@ -0,0 +1 @@
+../../../people/saurik \ No newline at end of file
diff --git a/data/pam/_metadata/name b/data/pam/_metadata/name
new file mode 100644
index 000000000..c21911ef1
--- /dev/null
+++ b/data/pam/_metadata/name
@@ -0,0 +1 @@
+PAM (Apple)
diff --git a/data/pam/_metadata/preinst b/data/pam/_metadata/preinst
new file mode 100755
index 000000000..498792bf9
--- /dev/null
+++ b/data/pam/_metadata/preinst
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+if [[ $1 == install || $1 == upgrade ]]; then
+ /usr/libexec/cydia/move.sh /usr/lib/pam
+fi
+
+exit 0
diff --git a/data/pam/_metadata/priority b/data/pam/_metadata/priority
new file mode 100644
index 000000000..a6a7b9cd7
--- /dev/null
+++ b/data/pam/_metadata/priority
@@ -0,0 +1 @@
+standard
diff --git a/data/pam/_metadata/role b/data/pam/_metadata/role
new file mode 100644
index 000000000..52b4d7301
--- /dev/null
+++ b/data/pam/_metadata/role
@@ -0,0 +1 @@
+hacker
diff --git a/data/pam/_metadata/section b/data/pam/_metadata/section
new file mode 100644
index 000000000..eb7a34ddd
--- /dev/null
+++ b/data/pam/_metadata/section
@@ -0,0 +1 @@
+Administration
diff --git a/data/pam/_metadata/tags b/data/pam/_metadata/tags
new file mode 100644
index 000000000..a8928cec8
--- /dev/null
+++ b/data/pam/_metadata/tags
@@ -0,0 +1 @@
+purpose::library
diff --git a/data/pam/_metadata/version b/data/pam/_metadata/version
new file mode 100644
index 000000000..3e5ca5321
--- /dev/null
+++ b/data/pam/_metadata/version
@@ -0,0 +1 @@
+32.1
diff --git a/data/pam/ar.diff b/data/pam/ar.diff
new file mode 100644
index 000000000..67d901ff4
--- /dev/null
+++ b/data/pam/ar.diff
@@ -0,0 +1,12 @@
+diff -ru pam-32.1/pam/modules/pammodutil/Makefile pam-32.1+iPhone/pam/modules/pammodutil/Makefile
+--- pam-32.1/pam/modules/pammodutil/Makefile 2009-04-08 08:45:37.000000000 +0000
++++ pam-32.1+iPhone/pam/modules/pammodutil/Makefile 2009-04-08 08:45:52.000000000 +0000
+@@ -37,7 +37,7 @@
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
+
+ $(LIBSTATIC): $(SLIBOBJECTS)
+- ar cr $@ $(SLIBOBJECTS)
++ $(AR) cr $@ $(SLIBOBJECTS)
+ $(RANLIB) $@
+
+ install:
diff --git a/data/pam/cc.diff b/data/pam/cc.diff
new file mode 100644
index 000000000..df873933a
--- /dev/null
+++ b/data/pam/cc.diff
@@ -0,0 +1,14 @@
+diff -ru pam-32.1/pam/configure.in pam-32.1+iPhone/pam/configure.in
+--- pam-32.1/pam/configure.in 2006-07-11 03:24:07.000000000 +0000
++++ pam-32.1+iPhone/pam/configure.in 2009-04-08 08:23:07.000000000 +0000
+@@ -356,8 +356,8 @@
+ OS_CFLAGS="-no-cpp-precomp"
+ DYNTYPE=dylib
+ LD=ld
+- LD_D='cc -bundle $(CFLAGS)'
+- LD_L='cc -dynamiclib -compatibility_version $(MAJOR_REL).$(MINOR_REL) -current_version $(MAJOR_REL).$(MINOR_REL) $(CFLAGS) -all_load'
++ LD_D='$(CC) -bundle $(CFLAGS)'
++ LD_L='$(CC) -dynamiclib -compatibility_version $(MAJOR_REL).$(MINOR_REL) -current_version $(MAJOR_REL).$(MINOR_REL) $(CFLAGS) -all_load'
+ RANLIB=ranlib
+ STRIP=strip
+ CC_STATIC="-Xlinker -export-dynamic"
diff --git a/data/pam/lipo.diff b/data/pam/lipo.diff
new file mode 100644
index 000000000..770ff50e9
--- /dev/null
+++ b/data/pam/lipo.diff
@@ -0,0 +1,21 @@
+diff -ru pam-32.1/ar.sh pam-32.1+iPhone/ar.sh
+--- pam-32.1/ar.sh 2005-08-18 18:02:08.000000000 +0000
++++ pam-32.1+iPhone/ar.sh 2009-04-08 08:33:50.000000000 +0000
+@@ -47,7 +47,7 @@
+ local archdir="${dir}/${arch}";
+ mkdir -p "${archdir}";
+
+- lipo -thin "${arch}" "${archive}" -o "${archdir}/${name}";
++ "${PKG_TARG}-lipo" -thin "${arch}" "${archive}" -o "${archdir}/${name}";
+
+ ( cd "${archdir}" && ar -xo "./${name}"; );
+
+@@ -62,7 +62,7 @@
+
+ local ofile;
+ for ofile in ${ofiles}; do
+- lipo -create $(find "${dir}" -name "${ofile}" -print) -o "${dir}/${ofile}";
++ "${PKG_TARG}-lipo" -create $(find "${dir}" -name "${ofile}" -print) -o "${dir}/${ofile}";
+ done
+
+ ( cd "${dir}" && ar -cr "${name}" ${ofiles}; );
diff --git a/data/pam/make.diff b/data/pam/make.diff
new file mode 100644
index 000000000..e8bec575c
--- /dev/null
+++ b/data/pam/make.diff
@@ -0,0 +1,18 @@
+diff -ru pam-32.1/pam/modules/Makefile pam-32.1+iPhone/pam/modules/Makefile
+--- pam-32.1/pam/modules/Makefile 2002-03-28 08:43:24.000000000 +0000
++++ pam-32.1+iPhone/pam/modules/Makefile 2009-04-08 08:37:42.000000000 +0000
+@@ -13,7 +13,7 @@
+
+ all:
+ @echo building the static modutil library
+- make -C pammodutil all
++ $(MAKE) -C pammodutil all
+ @echo modules sources available are:
+ @ls -d $(MODDIRS) 2>/dev/null ; echo :--------
+ @echo
+@@ -56,4 +56,4 @@
+ $(MAKE) -C $$i clean ; \
+ } fi ; \
+ done
+- make -C pammodutil clean
++ $(MAKE) -C pammodutil clean
diff --git a/data/pam/make.sh b/data/pam/make.sh
new file mode 100644
index 000000000..a9df17501
--- /dev/null
+++ b/data/pam/make.sh
@@ -0,0 +1,28 @@
+pkg:setup
+
+pkg: mkdir -p /etc/pam.d
+for pam in pam.d/!(*.serverinstall); do
+ echo ${pam}
+ # XXX: fix pam_launchd
+ sed -re '/^#|.*pam_(deny|nologin|permit|rootok|securetty|unix|uwtmp|wheel).so/ ! s/^/#/; ' "${pam}" >"${PKG_DEST}/etc/${pam}"
+done
+
+cd pam
+autoconf
+pkg:configure --enable-fakeroot="${PKG_DEST}" --enable-read-both-confs --enable-sconfigdir=/etc/pam --enable-securedir=/usr/lib/pam --enable-giant-libpam --disable-libcrack
+
+CPATH=$(pwd):$CPATH
+make CC="${PKG_TARG}-gcc" AR="${PKG_TARG}-ar" LD="${PKG_TARG}-ld" RANLIB="${PKG_TARG}-ranlib"
+pkg:install
+
+pkg: mv /usr/lib/libpam.1.0.dylib /usr/lib/libpam.1.dylib
+pkg: ln -s libpam.1.dylib /usr/lib/libpam.1.0.dylib
+pkg: ln -s libpam.1.dylib /usr/lib/libpam.dylib
+
+pkg: ln -s libpam.1.dylib /usr/lib/libpam_misc.dylib
+pkg: ln -s libpam.1.dylib /usr/lib/libpam_misc.1.dylib
+
+pkg: ln -s libpam.1.dylib /usr/lib/libpamc.dylib
+pkg: ln -s libpam.1.dylib /usr/lib/libpamc.1.dylib
+
+pkg: cp -a libpam/include/pam/pam_modules.h /usr/include/pam
diff --git a/data/pam/pam-32.1.tar.gz b/data/pam/pam-32.1.tar.gz
new file mode 100644
index 000000000..ff5a68acc
--- /dev/null
+++ b/data/pam/pam-32.1.tar.gz
Binary files differ
diff --git a/data/pam/uname.diff b/data/pam/uname.diff
new file mode 100644
index 000000000..0b7482bb5
--- /dev/null
+++ b/data/pam/uname.diff
@@ -0,0 +1,12 @@
+diff -ru pam-32.1/pam/configure.in pam-32.1+iPhone/pam/configure.in
+--- pam-32.1/pam/configure.in 2006-07-11 03:24:07.000000000 +0000
++++ pam-32.1+iPhone/pam/configure.in 2009-04-08 08:28:52.000000000 +0000
+@@ -28,7 +28,7 @@
+ dnl Useful info (believed to be portable)
+ dnl
+ LOCALSRCDIR=`/bin/pwd` ; AC_SUBST(LOCALSRCDIR)
+-OS=`uname|sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++OS=darwin
+ AC_SUBST(OS)
+
+ dnl
diff --git a/data/system-cmds/_metadata/libutil.dep b/data/system-cmds/_metadata/libutil.dep
deleted file mode 120000
index 828c65dfc..000000000
--- a/data/system-cmds/_metadata/libutil.dep
+++ /dev/null
@@ -1 +0,0 @@
-../../libutil \ No newline at end of file
diff --git a/data/system-cmds/_metadata/pam.dep b/data/system-cmds/_metadata/pam.dep
new file mode 120000
index 000000000..d21087a2d
--- /dev/null
+++ b/data/system-cmds/_metadata/pam.dep
@@ -0,0 +1 @@
+../../pam \ No newline at end of file
diff --git a/data/system-cmds/_metadata/provides b/data/system-cmds/_metadata/provides
new file mode 100644
index 000000000..91c493b50
--- /dev/null
+++ b/data/system-cmds/_metadata/provides
@@ -0,0 +1 @@
+login, passwd, reboot
diff --git a/data/system-cmds/_metadata/version b/data/system-cmds/_metadata/version
index ed4f16201..1fbe49524 100644
--- a/data/system-cmds/_metadata/version
+++ b/data/system-cmds/_metadata/version
@@ -1 +1 @@
-431
+433.4
diff --git a/data/system-cmds/make.sh b/data/system-cmds/make.sh
index 8bc38359b..a66246fb5 100644
--- a/data/system-cmds/make.sh
+++ b/data/system-cmds/make.sh
@@ -10,16 +10,20 @@ cd ..
${PKG_TARG}-gcc -o passwd passwd.tproj/!(od_passwd).c -I. -DTARGET_OS_EMBEDDED
# XXX: ${PKG_TARG}-gcc -o chpass chpass.tproj/*.c -I. -Ipwd_mkdb.tproj -Ivipw.tproj
${PKG_TARG}-gcc -o dmesg dmesg.tproj/*.c -I.
+${PKG_TARG}-gcc -o sysctl sysctl.tproj/sysctl.c -I.
${PKG_TARG}-gcc -o arch arch.tproj/*.m -I. -framework CoreFoundation -framework Foundation -lobjc
cp -va "${PKG_DATA}"/kextmanager* .
-# XXX: shutdown
-for tproj in ac accton getconf getty hostinfo iostat login mkfile nvram reboot sync sysctl update vifs vipw zdump zic zprint; do
+# XXX: kvm_mkdb shutdown
+for tproj in ac accton getconf getty hostinfo iostat login mkfile nvram pwd_mkdb reboot sync update vifs vipw zdump zic zprint; do
cflags=
- case ${tproj} in (shutdown)
- cflags="${cflags} -lbsm"
- ;; esac
+ case ${tproj} in
+ (kvm_mkdb) cflags="${cflags} -DBSD_KERNEL_PRIVATE";;
+ (login) cflags="${cflags} -lpam -DUSE_PAM";;
+ (pwd_mkdb) cflags="${cflags} -D_PW_NAME_LEN=MAXLOGNAME -D_PW_YPTOKEN=\"__YP!\"";;
+ (shutdown) cflags="${cflags} -lbsm";;
+ esac
echo "${tproj}"
${PKG_TARG}-gcc -o "${tproj}" "${tproj}.tproj"/*.c -I. -D'__FBSDID(x)=' -DTARGET_OS_EMBEDDED -framework CoreFoundation -framework IOKit kextmanagerUser.c ${cflags}
@@ -40,4 +44,4 @@ pkg: cp -a arch getconf getty hostinfo login passwd zprint /usr/bin
pkg: ln -s chpass /usr/bin/chfn
pkg: ln -s chpass /usr/bin/chsh
pkg: ln -s less /usr/bin/more
-pkg: cp -a ac accton iostat mkfile nvram sysctl update vifs vipw zdump zic /usr/sbin
+pkg: cp -a ac accton iostat mkfile nvram pwd_mkdb sysctl update vifs vipw zdump zic /usr/sbin
diff --git a/data/system-cmds/system_cmds-431.tar.gz b/data/system-cmds/system_cmds-431.tar.gz
deleted file mode 100644
index a58079d9e..000000000
--- a/data/system-cmds/system_cmds-431.tar.gz
+++ /dev/null
Binary files differ
diff --git a/data/system-cmds/system_cmds-433.4.tar.gz b/data/system-cmds/system_cmds-433.4.tar.gz
new file mode 100644
index 000000000..16699b6ac
--- /dev/null
+++ b/data/system-cmds/system_cmds-433.4.tar.gz
Binary files differ