Skip to content
Snippets Groups Projects
Unverified Commit a539a741 authored by Ian Douglas Scott's avatar Ian Douglas Scott
Browse files

Recipe for perl

parent a4c110ed
No related branches found
No related tags found
1 merge request!78Recipe for perl
diff -ru source/mg.c source-new/mg.c
--- source/mg.c 2017-06-30 14:03:22.000000000 -0700
+++ source-new/mg.c 2017-08-17 14:40:37.669507085 -0700
@@ -3034,16 +3034,16 @@
#ifdef HAS_SETRESUID
PERL_UNUSED_RESULT(setresuid(new_uid, (Uid_t)-1, (Uid_t)-1));
#else
- if (new_uid == PerlProc_geteuid()) { /* special case $< = $> */
+// if (new_uid == PerlProc_geteuid()) { /* special case $< = $> */
#ifdef PERL_DARWIN
/* workaround for Darwin's setuid peculiarity, cf [perl #24122] */
if (new_uid != 0 && PerlProc_getuid() == 0)
PERL_UNUSED_RESULT(PerlProc_setuid(0));
#endif
- PERL_UNUSED_RESULT(PerlProc_setuid(new_uid));
- } else {
+// PERL_UNUSED_RESULT(PerlProc_setuid(new_uid));
+// } else {
Perl_croak(aTHX_ "setruid() not implemented");
- }
+// }
#endif
#endif
#endif
@@ -3067,11 +3067,11 @@
#ifdef HAS_SETRESUID
PERL_UNUSED_RESULT(setresuid((Uid_t)-1, new_euid, (Uid_t)-1));
#else
- if (new_euid == PerlProc_getuid()) /* special case $> = $< */
- PERL_UNUSED_RESULT(PerlProc_setuid(new_euid));
- else {
+// if (new_euid == PerlProc_getuid()) /* special case $> = $< */
+// PERL_UNUSED_RESULT(PerlProc_setuid(new_euid));
+// else {
Perl_croak(aTHX_ "seteuid() not implemented");
- }
+// }
#endif
#endif
#endif
@@ -3095,11 +3095,11 @@
#ifdef HAS_SETRESGID
PERL_UNUSED_RESULT(setresgid(new_gid, (Gid_t)-1, (Gid_t) -1));
#else
- if (new_gid == PerlProc_getegid()) /* special case $( = $) */
- PERL_UNUSED_RESULT(PerlProc_setgid(new_gid));
- else {
+// if (new_gid == PerlProc_getegid()) /* special case $( = $) */
+// PERL_UNUSED_RESULT(PerlProc_setgid(new_gid));
+// else {
Perl_croak(aTHX_ "setrgid() not implemented");
- }
+// }
#endif
#endif
#endif
@@ -3178,11 +3178,11 @@
#ifdef HAS_SETRESGID
PERL_UNUSED_RESULT(setresgid((Gid_t)-1, new_egid, (Gid_t)-1));
#else
- if (new_egid == PerlProc_getgid()) /* special case $) = $( */
- PERL_UNUSED_RESULT(PerlProc_setgid(new_egid));
- else {
+// if (new_egid == PerlProc_getgid()) /* special case $) = $( */
+// PERL_UNUSED_RESULT(PerlProc_setgid(new_egid));
+// else {
Perl_croak(aTHX_ "setegid() not implemented");
- }
+// }
#endif
#endif
#endif
diff -ru source/perl.h source-new/perl.h
--- source/perl.h 2017-06-30 14:03:22.000000000 -0700
+++ source-new/perl.h 2017-08-17 13:14:01.806883580 -0700
@@ -1061,7 +1061,6 @@
#ifndef PERL_MICRO
#ifndef memchr
# ifndef HAS_MEMCHR
-# define memchr(s,c,n) ninstr((char*)(s), ((char*)(s)) + n, &(c), &(c) + 1)
# endif
#endif
#endif
diff -ru source/pp_hot.c source-new/pp_hot.c
--- source/pp_hot.c 2017-06-30 14:03:22.000000000 -0700
+++ source-new/pp_hot.c 2017-08-17 13:16:20.234635700 -0700
@@ -1583,11 +1583,13 @@
PL_delaymagic &= ~DM_EUID;
}
# endif /* HAS_SETEUID */
+#if 0
if (PL_delaymagic & DM_UID) {
if (PL_delaymagic_uid != PL_delaymagic_euid)
DIE(aTHX_ "No setreuid available");
PERL_UNUSED_RESULT(PerlProc_setuid(PL_delaymagic_uid));
}
+#endif
# endif /* HAS_SETREUID */
#endif /* HAS_SETRESUID */
@@ -1619,11 +1621,13 @@
PL_delaymagic &= ~DM_EGID;
}
# endif /* HAS_SETEGID */
+#if 0
if (PL_delaymagic & DM_GID) {
if (PL_delaymagic_gid != PL_delaymagic_egid)
DIE(aTHX_ "No setregid available");
PERL_UNUSED_RESULT(PerlProc_setgid(PL_delaymagic_gid));
}
+#endif
# endif /* HAS_SETREGID */
#endif /* HAS_SETRESGID */
diff -ru source/pp_sys.c source-new/pp_sys.c
--- source/pp_sys.c 2017-06-30 14:03:22.000000000 -0700
+++ source-new/pp_sys.c 2017-08-17 14:57:00.983541027 -0700
@@ -2413,7 +2413,7 @@
TAINT_PROPER(PL_op_desc[optype]);
if (optype == OP_IOCTL)
-#ifdef HAS_IOCTL
+#if 0
retval = PerlLIO_ioctl(PerlIO_fileno(IoIFP(io)), func, s);
#else
DIE(aTHX_ "ioctl is not implemented");
@@ -2705,7 +2705,7 @@
if (!IoIFP(io))
goto nuts;
- PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
+ PUSHi( 0 );
RETURN;
nuts:
@@ -2980,7 +2980,7 @@
sv_setuid(PUSHmortal, PL_statcache.st_uid);
sv_setgid(PUSHmortal, PL_statcache.st_gid);
-#ifdef USE_STAT_RDEV
+#if 0
mPUSHi(PL_statcache.st_rdev);
#else
PUSHs(newSVpvs_flags("", SVs_TEMP));
@@ -4186,7 +4186,7 @@
PP(pp_fork)
{
-#ifdef HAS_FORK
+#if 1
dSP; dTARGET;
Pid_t childpid;
#ifdef HAS_SIGPROCMASK
@@ -4332,7 +4332,7 @@
TAINT_PROPER("system");
}
PERL_FLUSHALL_FOR_CHILD;
-#if (defined(HAS_FORK) || defined(__amigaos4__)) && !defined(VMS) && !defined(OS2) || defined(PERL_MICRO)
+#if 1
{
#ifdef __amigaos4__
struct UserData userdata;
@@ -5582,7 +5582,7 @@
PP(pp_ggrent)
{
-#ifdef HAS_GROUP
+#if 0
dSP;
const I32 which = PL_op->op_type;
const struct group *grent;
diff -ru source/util.c source-new/util.c
--- source/util.c 2017-06-30 14:03:22.000000000 -0700
+++ source-new/util.c 2017-08-17 14:47:03.963804576 -0700
@@ -2842,7 +2842,7 @@
#endif /* HAS_FORK */
}
-#ifndef HAS_DUP2
+#if 0
int
dup2(int oldfd, int newfd)
{
VERSION=5.24.2
TAR=http://www.cpan.org/src/5.0/perl-$VERSION.tar.gz
unset AR AS CC CXX LD NM OBJCOPY OBJDUMP RANLIB READELF STRIP
function recipe_version {
echo "$VERSION"
skip=1
}
function recipe_update {
echo "skipping update"
skip=1
}
function recipe_build {
curl -L -O --time-cond perl-cross-1.1.6.tar.gz https://github.com/arsv/perl-cross/releases/download/1.1.6/perl-cross-1.1.6.tar.gz
tar --strip-components=1 -xvf perl-cross-1.1.6.tar.gz
wget -O cnf/config.sub http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
sysroot="$($HOST-gcc -print-sysroot)"
./configure --target=${HOST} --prefix='/' --sysroot="$sysroot" --disable-mod=Sys-Syslog,POSIX,Time-HiRes --with-libs='m'
sed -i "s/^#define Netdb_name_t.*/#define Netdb_name_t const char*/" config.h # XXX
sed -i 's/#define Strerror(e).*$/#define Strerror(e) strerror(e)/' config.h #
echo "#define HAS_VPRINTF" >> config.h
make LIBS=-lm
skip=1
}
function recipe_test {
echo "skipping test"
skip=1
}
function recipe_clean {
make clean
skip=1
}
function recipe_stage {
dest="$(realpath $1)"
make DESTDIR="$dest" install
rm -rf "$1/man"
skip=1
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment