diff options
-rw-r--r-- | gnu/usr.bin/perl/README.beos | 128 | ||||
-rw-r--r-- | gnu/usr.bin/perl/README.mpeix | 871 |
2 files changed, 241 insertions, 758 deletions
diff --git a/gnu/usr.bin/perl/README.beos b/gnu/usr.bin/perl/README.beos index c72c2293a07..ccd9cbc6c68 100644 --- a/gnu/usr.bin/perl/README.beos +++ b/gnu/usr.bin/perl/README.beos @@ -1,109 +1,43 @@ -If you read this file _as_is_, just ignore the funny characters you see. -It is written in the POD format (see pod/perlpod.pod) which is specially -designed to be readable as is. +Notes on building perl under BeOS: -=head1 NAME +GENERAL ISSUES +-------------- +how to compile perl: -perlbeos - Perl version 5.8+ on BeOS +To compile perl under BeOS R4 x86: -=head1 DESCRIPTION +`./Configure -d` and hit ^C when it asks you if you want to make changes +to config.sh; -This file contains instructions how to build Perl under BeOS and lists -known problems. +edit config.sh and do the following: +change d_socket='define' to ='undef'; +remove SDBM, Errno, and Socket from dynamic_ext= and nonxs_ext=; -=head1 BUILD AND INSTALL +add '#define bool short' to x2p/a2p.h; -=head2 Requirements +../Configure -S; make; make install -I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server. -I can't say anything with regard to PPC. Since Perl 5.8.0 had been released -for BeOS BONE, I suspect, there is a good chance, that it still compiles on -a BONE system. The only change I've made, that affects BONE systems is the -recognition of whether it is a BONE system or not in F<hints/beos.sh>. Now -network socket support should remain enabled on BONE systems. This might -as well break the build, though. +cd ~/config/lib; ln -s 5.00502/BeOS-BePC/CORE/libperl.so . +(substitute 5.00502 with the appropriate filename) -As more recent versions of autoconf require flock() support, I wrote a flock() -emulation (flock_server) and released it on BeBits: +OS RELEASE-SPECIFIC NOTES +------------------------- +R4 x86 - dynamic loading finally works! Yay! This means you can compile +your own modules into perl. However, Sockets and Errno still don't work. +(Hopefully, sockets will at least work by R5, if not sooner.) - http://www.bebits.com/app/4030 +R4 PPC - I have not tested this. I rather severely doubt that dynamic +loading will work. (My BeBox is in pieces right now, following a nasty +disk crash.) You may have to disable dynamic loading to get the thing +to compile at all. (use `./Configure` without -d, and say 'no' to +'Build a shared libperl.so'.) -If you want to build a Perl with flock() support, you have to install this -package first. +CONTACT INFORMATION +------------------- +If you have comments, problem reports, or even patches or bugfixes (gasp!) +please email me. -=head2 Configure +28 Jan 1999 +Tom Spindler +dogcow@isi.net -With flock() support: - - CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \ - --prefix=/boot/home/config - -Replace C</path/to/flock/server/headers> with the path to the directory -containing the C<flock.h> header. - -Without flock() support: - - ./configure.gnu --prefix=/boot/home/config - -=head2 Build - -With flock() support: - - make LDLOADLIBS="-lnet -lflock" - -Without flock() support: - - make LDLOADLIBS="-lnet" - -C<-lnet> is needed on net server systems only and if the compiler doesn't -add it automatically (Be's R5 gcc does, Oliver Tappe's gcc 2.95.3 does not). - -=head2 Install - -Install all perl files: - - make install - -Create a symlink for libperl: - - cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so . - -Replace C<5.8.6> with your respective version of Perl. - -=head1 KNOWN PROBLEMS - -=over 4 - -=item * - -Network socket support is disabled for BeOS R5 net server. I didn't dare yet -to try enabling it and see what problems occur. - -=item * - -The LFS (large file support) tests (F<t/op/lfs> and F<xt/Fcntl/t/syslfs>) are -disabled as seeking beyond 2 GB is broken according to jhi@iki.fi who was the -last one checking the BeOS port and updating this file before me. Haven't -checked this myself. - -=item * - -The F<t/io/fflush> test fails at #6. As far as I can tell, this is caused by -a bug in the BeOS pipes implementation that occurs when starting other child -processes. In the particular test case a C<system("perl -e 0")> flushes the -stdout pipe of another child process. - -=item * - -The F<ext/POSIX/t/waitpid> test fails at #1. After all child processes are -gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea -how to fix this. - -=back - -=head1 CONTACT - -For BeOS specifics problems feel free to mail to: -Ingo Weinhold <bonefish@cs.tu-berlin.de> - -Last update: 2004-12-16 diff --git a/gnu/usr.bin/perl/README.mpeix b/gnu/usr.bin/perl/README.mpeix index c382c466920..9e0b51d796b 100644 --- a/gnu/usr.bin/perl/README.mpeix +++ b/gnu/usr.bin/perl/README.mpeix @@ -1,254 +1,102 @@ -If you read this file _as_is_, just ignore the funny characters you -see. It is written in the POD format (see perlpod manpage) which is -specially designed to be readable as is. +Perl/iX for HP 3000 MPE -=head1 NAME +http://www.cccd.edu/~markb/perlix.html +Perl language for MPE +Last updated July 15, 1998 @ 2030 UTC -perlmpeix - Perl/iX for HP e3000 MPE + ------------------------------------------------------------------------ -=head1 SYNOPSIS +What's New - http://www.bixby.org/mark/perlix.html - Perl language for MPE - Last updated January 12, 2006 @ 2100 UTC + * July 15, 1998 + o Changed startperl to #!/PERL/PUB/perl so that Perl will recognize + scripts more easily and efficiently. + * July 8, 1998 + o Updated to version 5.004_70 (internal developer release) which is + now MPE-ready. The next public freeware release of Perl should + compile "straight out of the box" on MPE. Note that this version + of Perl/iX was strictly internal to me and never publicly + released. Note that BIND/iX is now required (well, the include + files and libbind.a) if you wish to compile Perl/iX. + * November 6, 1997 + o Updated to version 5.004_04. No changes in MPE-specific + functionality. + ------------------------------------------------------------------------ -=head1 NOTE +Welcome -This is a podified version of what used to be on the above-mentioned web page, -podified by Jarkko Hietaniemi 2001-Jan-01. +This is the official home page for the HP 3000 MPE port of the Perl +scripting language which gives you all of the power of C, awk, sed, and sh +in a single language. Check here for the latest news, implemented +functionality, known bugs, to-do list, etc. Status reports about major +milestones will also be posted to the HP3000-L mailing list and its +associated gatewayed newsgroup comp.sys.hp.mpe. -=head1 What's New in Perl for MPE/iX +I'm doing this port because I can't live without Perl on the HPUX machines +that I administer for the Coast Community College District, and I want to +have the same power available to me on MPE. -January 12, 2006 +Please send your comments, questions, and bug reports directly to me, Mark +Bixby, by e-mailing to markb@cccd.edu. Or just post them to HP3000-L. You +can also telephone me at +1 714 438-4647 Monday-Friday 0815-1745 PDT +(1615-0145 UTC). -=over 4 +The platform I'm using to do this port is an HP 3000 969KS200 running +MPE/iX 5.5 and using the gcc 2.8 compiler from +http://www.interex.org/sources/freeware.html. -=item * +The combined porting wisdom from all of my ports can be found in my MPE/iX +Porting Guide. -Updated for perl-5.8.8 and perl-5.9.3 by Ken Hirsch. + ------------------------------------------------------------------------ -Simplified the build process by using the MPEAUTOCONF -functionality in Mark Klein's ld. +System Requirements -If you build this from scratch, make sure you have a version -of ld which supports it. In the shell, type + * MPE/iX 5.5 or later. This version of Perl/iX does NOT run on MPE/iX + 5.0 or earlier, nor does it run on "classic" MPE/V machines. + * The Perl binary requires that you must have converted your NMRL + libraries in /lib/lib*.a and /usr/lib/lib*.a to NMXL libraries + /lib/lib*.sl and /usr/lib/lib*.sl via the LIBSHP3K script that comes + with the GNUCORE portion of the FREEWARE tape. + * If you wish to recompile Perl, you must install both GNUCORE and + GNUGCC from the FREEWARE tape. + * Perl/iX will be happier if you install the MPEKX76A additional POSIX + filename characters patch, but this is optional. + * If you will be compiling Perl/iX yourself, you will also need the + /BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX. - ld --help - and look for AUTOCONF or MPEAUTOCONF near the bottom + ------------------------------------------------------------------------ - or do this: - ld --help 2>&1 | grep AUTOCONF +Demos -If you see don't see AUTOCONF or MPEAUTOCONF, make sure you get a new -version. +Here is a brief selection of some sample Perl/iX uses: -You also do not have to use mpeix/relink after building, so the -recommend sequence is: + * A web feedback CGI form that lets a web browser user enter some data + and send e-mail to the person responsible for reading the feedback + comments. The CGI is written in Perl and requires Sendmail/iX. - ./Configure -de + ------------------------------------------------------------------------ - # or ./Configure -de -Dusedevel - # if you're building a development version +How to Obtain Perl/iX - make - make test - # if you run this in a job, do "make test_notty" - - make install - -Be prepared for a wait. These take much longer on MPE/iX than on a Unix -system, because of a slow forking, mostly. On a lightly-loaded HP3000 -Series 979 running MPE/iX 7.5: - - Configure: 1 hour - make: 1 hour 15 minutes - make test 1 hour 45 minutes - -Various socket problems were fixed in mpeix.c. - -Mark Klein provided a fixed sigsetjmp (that works with dynamic -libraries) in mpeix_setjmp.c - -=back - -June 1, 2000 - -=over 4 - -=item * - -Rebuilt to be compatible with mod_perl. If you plan on using -mod_perl, you MUST download and install this version of Perl/iX! - -=item * - -uselargefiles="undef": not available in MPE for POSIX files yet. - -=item * - -Now bundled with various add-on packages: - -=over 8 - -=item * - -libnet (as seen on CPAN) - -=item * - -libwww-perl (LWP) which lets Perl programs behave like web browsers: - -=item * - -mod_perl (just the perl portion; the actual DSO will be released -soon with Apache/iX 1.3.12 from bixby.org). This module allows you to -write high performance persistent Perl CGI scripts and all sorts of -cool things. (L<http://perl.apache.org/>) - -and much much more hiding under /PERL/PUB/.cpan/ - -=item * - -The CPAN module now works for automatic downloading and -installing of add-on packages: - - 1. export FTP_PASSIVE=1 - 2. perl -MCPAN -e shell - 3. Ignore any terminal I/O related complaints! - -(L<http://search.cpan.org/dist/CPAN/>) - -=back - -=back - -May 20, 2000 - -=over 4 - -=item * - -Updated to version 5.6.0. Builds straight out of the box on MPE/iX. - -=item * - -Perl's getpwnam() function which had regressed to being -unimplemented on MPE is now implemented once again. - -=back - -September 17, 1999 - -=over 4 - -=item * - -Migrated from cccd.edu to bixby.org. - -=back - -=head1 Welcome to Perl/iX - -This is the official home page for the HP e3000 MPE/iX -( L<http://www.hp.com/go/e3000> ) port of the Perl scripting -language ( L<http://www.perl.com/> ) which gives you all of the power of C, -awk, sed, and sh in a single language. Check here for the latest news, -implemented functionality, known bugs, to-do list, etc. Status reports -about major milestones will also be posted to the HP3000-L mailing list -( L<http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU> ) and -its associated gatewayed newsgroup comp.sys.hp.mpe. - -I'm doing this port because I can't live without Perl on the Unix -machines that I administer, and I want to have the same power -available to me on MPE. - -Please send your comments, questions, and bug reports directly to me, -Mark Bixby ( L<http://www.bixby.org/mark/> ). Or just post them to HP3000-L. - -The platform I'm using to do this port is an HP 3000 957RX running -MPE/iX 6.0 and using the GNU gcc C compiler -( L<http://jazz.external.hp.com/src/gnu/gnuframe.html> ). - -The combined porting wisdom from all of my ports can be found in my -MPE/iX Porting Guide (L<http://www.bixby.org/mark/porting.html>). - -IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL of -the software you download from bixby.org is my personal freeware that -is NOT supported by HP. - -=head1 System Requirements for Perl/iX - -=over 4 - -=item * - -MPE/iX 5.5 or later. This version of Perl/iX does NOT run on -MPE/iX 5.0 or earlier, nor does it run on "classic" MPE/V machines. - -=item * - -If you wish to recompile Perl, you must install both GNUCORE and -GNUGCC from jazz (L<http://jazz.external.hp.com/src/gnu/gnuframe.html>). - -=item * - -Perl/iX will be happier on MPE/iX 5.5 if you install the MPEKX40B -extended POSIX filename characters patch, but this is optional. - -=item * - -Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to -prevent Perl/iX from dying with an unresolved external reference -to _getenv_libc. - -=item * - -If you will be compiling Perl/iX yourself, you will also need -Syslog/iX ( L<http://www.bixby.org/mark/syslogix.html> ) and the -/BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX -( L<http://www.bixby.org/mark/bindix.html> ). - -=back - -=head1 How to Obtain Perl/iX - -=over 4 - -=item 1. - -Download Perl using either FTP.ARPA.SYS or some other client - -=item 2. - -Extract the installation script - -=item 3. - -Edit the installation script - -=item 4. - -Run the installation script - -=item 5. - -Convert your *.a system archive libraries to *.sl shared libraries - -=back + 1. Download Perl using either FTP.ARPA.SYS or some other client + 2. Extract the installation script + 3. Edit the installation script + 4. Run the installation script Download Perl using FTP.ARPA.SYS from your HP 3000 (the preferred method)..... - :HELLO MANAGER.SYS - :XEQ FTP.ARPA.SYS - open ftp.bixby.org - anonymous - your@email.address - bytestream - cd /pub/mpe - get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647 - exit +:HELLO MANAGER.SYS +:XEQ FTP.ARPA.SYS +open ftp.cccd.edu +anonymous +your@email.address +bytestream +cd /pub/mpe +get perl5.005.tar.Z /tmp/perl.tar.Z +exit .....Or download using some other generic web or ftp client (the alternate method) @@ -256,456 +104,157 @@ method) Download the following files (make sure that you use "binary mode" or whatever client feature that is 8-bit clean): -=over 4 - -=item * - -Perl from - - http://www.bixby.org/ftp/pub/mpe/perl-5.6.0-mpe.tar.Z - -or - - ftp://ftp.bixby.org/pub/mpe/perl-5.6.0-mpe.tar.Z - -=item * + * Perl from http://www.cccd.edu/ftp/pub/mpe/perl5.005.tar.Z or + ftp://ftp.cccd.edu/pub/mpe/perl5.005.tar.Z Upload those files to your HP 3000 in an 8-bit clean bytestream manner to: - /tmp/perl.tar.Z - -=item * + * /tmp/perl.tar.Z Then extract the installation script (after both download methods) - :CHDIR /tmp - :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL' - -=item * +:CHDIR /tmp +:XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL' Edit the installation script -Examine the accounting structure creation commands and modify if -necessary (adding additional capabilities, choosing a non-system -volume set, etc). - - :XEQ VI.HPBIN.SYS /tmp/INSTALL +Examine the accounting structure creation commands and modify if necessary +(adding additional capabilities, choosing a non-system volume set, etc). -=item * +:XEQ VI.HPBIN.SYS /tmp/INSTALL -Run the installation script. +Run the installation script The accounting structure will be created and then all files will be extracted from the archive. - :XEQ SH.HPBIN.SYS /tmp/INSTALL - -=item * - -Convert your *.a system archive libraries to *.sl shared libraries - -You only have to do this ONCE on your MPE/iX 5.5 machine in order to -convert /lib/lib*.a and /usr/lib/lib*.a libraries to their *.sl -equivalents. This step should not be necessary on MPE/iX 6.0 or later -machines because the 6.0 or later update process does it for you. - - :XEQ SH.HPBIN.SYS /PERL/PUB/LIBSHP3K - -=back - -=head1 Perl/iX Distribution Contents Highlights - -=over 4 - -=item README - -The file you're reading now. - -=item INSTALL - -Perl/iX Installation script. - -=item LIBSHP3K - -Script to convert *.a system archive libraries to *.sl shared libraries. - -=item PERL - -Perl NMPRG executable. A version-numbered backup copy also -exists. You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl". - -=item .cpan/ - -Much add-on source code downloaded with the CPAN module. - -=item lib/ - -Perl libraries, both core and add-on. - -=item man/ - -Perl man page documentation. - -=item public_html/feedback.cgi - -Sample feedback CGI form written in Perl. - -=item src/perl-5.6.0-mpe - -Source code. - -=back - -=head1 How to Compile Perl/iX - -=over 4 - -=item 1. - -cd src/perl-5.6.0-mpe - -=item 2. - -Read the INSTALL file for the official instructions - -=item 3. - -./Configure -d - -=item 4. - -make - -=item 5. - -./mpeix/relink - -=item 6. - -make test (expect approximately 15 out of 11306 subtests to fail, -mostly due to MPE not supporting hard links, UDP socket problems, -and handling exit() return codes improperly) - -=item 7. - -make install - -=item 8. - -Optionally create symbolic links that point to the Perl -executable, i.e. ln -s /PERL/PUB/PERL /usr/local/bin/perl - -=back +:XEQ SH.HPBIN.SYS /tmp/INSTALL + + ------------------------------------------------------------------------ + +Distribution Contents Highlights + +README + The file you're reading now. +INSTALL + Perl/iX Installation script. +PERL + Perl NMPRG executable. A version-numbered backup copy also exists. + You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl". +lib/ + Perl libraries, both core and add-on. +man/ + Perl man page documentation. +public_html/feedback.cgi + Sample feedback CGI form written in Perl. +src/perl5.005 + Source code. + + ------------------------------------------------------------------------ + +How to Compile Perl/iX + + 1. cd src/perl5.005 + 2. Read the INSTALL file for the official instructions + 3. ./Configure + 4. make + 5. ./mpeix/relink + 6. make test (expect 31 out of 5899 subtests to fail, mostly due to MPE + not supporting hard links and handling exit() return codes improperly) + 7. make install + 8. Optionally create symbolic links that point to the Perl executable, + i.e. ln -s /usr/local/bin/perl /PERL/PUB/PERL The summary test results from "cd t; ./perl -I../lib harness": - Failed Test Status Wstat Total Fail Failed List of failed - --------------------------------------------------------------------------- - io/fs.t 29 8 27.59% 2-5, 7-9, 11 - io/openpid.t 10 1 10.00% 7 - lib/io_sock.t 14 1 7.14% 13 - lib/io_udp.t 7 2 28.57% 3, 5 - lib/posix.t 27 1 3.70% 12 - op/lex_assign.t 187 1 0.53% 13 - op/stat.t 58 1 1.72% 3 - 15 tests and 94 subtests skipped. - Failed 7/236 test scripts, 97.03% okay. 15/11306 subtests failed, 99.87% okay. - -=head1 Getting Started with Perl/iX - -Create your Perl script files with "#!/PERL/PUB/perl" (or an -equivalent symbolic link) as the first line. Use the chmod command to -make sure that your script has execute permission. Run your script! - -Be sure to take a look at the CPAN module list -( L<http://www.cpan.org/CPAN.html> ). A wide variety of free Perl software -is available. You can automatically download these packages by using -the CPAN module ( L<http://search.cpan.org/dist/CPAN/> ). - -=head1 MPE/iX Implementation Considerations - -There some minor functionality issues to be aware of when comparing -Perl for Unix (Perl/UX) to Perl/iX: - -=over 4 - -=item * - -MPE gcc/ld doesn't properly support linking NMPRG executables against -NMXL dynamic libraries, so you must manually run mpeix/relink after -each re-build of Perl. - -=item * - -Perl/iX File::Copy will use MPE's /bin/cp command to copy files by -name in order to preserve file attributes like file code. - -=item * - -MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(), -setpwent(), endpwent(). - -=item * - -MPE (and thus Perl/iX) lacks support for hard links. - -=item * - -MPE requires GETPRIVMODE() in order to bind() to ports less than 1024. -Perl/iX will call GETPRIVMODE() automatically on your behalf if you -attempt to bind() to these low-numbered ports. Note that the Perl/iX -executable and the PERL account do not normally have CAP=PM, so if you -will be bind()-ing to these privileged ports, you will manually need -to add PM capability as appropriate. - -=item * - -MPE requires that you bind() to an IP address of zero. Perl/iX -automatically replaces the IP address that you pass to bind() with -a zero. - -=item * - -MPE requires GETPRIVMODE() in order to setuid(). There are too many -calls to setuid() within Perl/iX, so I have not attempted an automatic -GETPRIVMODE() solution similar to bind(). - -=back - -=head1 Known Perl/iX Bugs Under Investigation - -None. - -=head1 Perl/iX To-Do List - -=over 4 - -=item * - -Make setuid()/setgid() support work. - -=item * - -Make sure that fcntl() against a socket descriptor is redirected to sfcntl(). - -=item * - -Add support for Berkeley DB once I've finished porting Berkeley DB. - -=item * - -Write an MPE XS extension library containing miscellaneous important -MPE functions like GETPRIVMODE(), GETUSERMODE(), and sfcntl(). - -=back - -=head1 Perl/iX Change History - -May 6, 1999 - -=over 4 - -=item * - -Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to prevent -Perl/iX from dying with an unresolved external reference to _getenv_libc. - -=back - -April 7, 1999 - -=over 4 - -=item * - -Updated to version 5.005_03. - -=item * - -The official source distribution once again compiles "straight out -of the box" for MPE. - -=item * - -The current incarnation of the 5.5 POSIX filename extended -characters patch is now MPEKX40B. - -=item * - -The LIBSHP3K *.a -> *.sl library conversion script is now included -as /PERL/PUB/LIBSHP3K. - -=back - -November 20, 1998 - -=over 4 - -=item * - -Updated to version 5.005_02. - -=item * - -Fixed a DynaLoader bug that was unable to load symbols from relative -path name libraries. - -=item * - -Fixed a .xs compilation bug where the mpeixish.sh include file wasn't -being installed into the proper directory. - -=item * - -All bugfixes will be submitted back to the official Perl developers. - -=item * - -The current incarnation of the POSIX filename extended characters -patch is now MPEKXJ3A. - -=back - -August 14, 1998 - -=over 4 - -=item * - -The previous POSIX filename extended characters patch MPEKX44C has -been superseded by MPEKXB5A. - -=back - -August 7, 1998 - -=over 4 - -=item * - -The previous POSIX filename extended characters patch MPEKX76A has -been superseded by MPEKX44C. - -=back - -July 28, 1998 - -=over 4 - -=item * - -Updated to version 5.005_01. - -=back - -July 23, 1998 - -=over 4 - -=item * - -Updated to version 5.005 (production release). The public -freeware sources are now 100% MPE-ready "straight out of the box". - -=back - -July 17, 1998 - -=over 4 - -=item * - -Updated to version 5.005b1 (public beta release). The public -freeware sources are now 99.9% MPE-ready. By installing and -testing this beta on your own HP3000, you will be helping to -insure that the final release of 5.005 will be 100% MPE-ready and -100% bug free. - -=item * - -My MPE binary release is now extracted using my standard INSTALL script. - -=back - -July 15, 1998 - -=over 4 - -=item * - -Changed startperl to #!/PERL/PUB/perl so that Perl will recognize -scripts more easily and efficiently. - -=back - -July 8, 1998 - -=over 4 - -=item * - -Updated to version 5.004_70 (internal developer release) which is now -MPE-ready. The next public freeware release of Perl should compile -"straight out of the box" on MPE. Note that this version of Perl/iX -was strictly internal to me and never publicly released. Note that -[21]BIND/iX is now required (well, the include files and libbind.a) if -you wish to compile Perl/iX. - -=back - -November 6, 1997 - -=over 4 - -=item * - -Updated to version 5.004_04. No changes in MPE-specific functionality. - -=back - -October 16, 1997 - -=over 4 - -=item * - -Added Demos section to the Perl/iX home page so you can see some -sample Perl applications running on my 3000. - -=back - -October 3, 1997 - -=over 4 - -=item * - -Added System Requirements section to the Perl/iX home page just so the -prerequisites stand out more. Various other home page tweaks. - -=back - -October 2, 1997 - -=over 4 - -=item * - -Initial public release. - -=back - -September 1997 - -=over 4 - -=item * - -Porting begins. - -=back - -=head1 AUTHOR - -Mark Bixby, L<http://www.bixby.org/mark/> - +Failed Test Status Wstat Total Fail Failed List of failed +------------------------------------------------------------------------------- +io/fs.t 26 8 30.77% 2-5, 7-9, 11 +io/pipe.t 12 2 16.67% 11-12 +lib/posix.t 18 1 5.56% 12 +op/die_exit.t 16 16 100.00% 1-16 +op/exec.t 8 2 25.00% 5-6 +op/stat.t 58 2 3.45% 3, 35 +Failed 6/183 test scripts, 96.72% okay. 31/5899 subtests failed, 99.47% okay. + + ------------------------------------------------------------------------ + +Getting Started with Perl/iX + +Create your Perl script files with "#!/PERL/PUB/perl" (or an equivalent +symbolic link) as the first line. Use the chmod command to make sure that +your script has execute permission. Run your script! + +If you want to use Perl to write web server CGI scripts, obtain and install +CGI.pm. Build CGI.pm and all other add-on modules below /PERL/PUB/src/. + +Be sure to take a look at the CPAN module list. A wide variety of free Perl +software is available. + + ------------------------------------------------------------------------ + +MPE/iX Implementation Considerations + +There some minor functionality issues to be aware of when comparing Perl +for Unix (Perl/UX) to Perl/iX: + + * MPE gcc/ld doesn't properly support linking NMPRG executables against + NMXL dynamic libraries, so you must manually run mpeix/relink after + each re-build of Perl. + * Perl/iX File::Copy will use MPE's /bin/cp command to copy files by + name in order to preserve file attributes like file code. + * MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(), + setpwent(), endpwent(). + * MPE (and thus Perl/iX) lacks support for hard links. + * MPE requires GETPRIVMODE() in order to bind() to ports less than + 1024. Perl/iX will call GETPRIVMODE() automatically on your behalf if + you attempt to bind() to these low-numbered ports. Note that the + Perl/iX executable and the PERL account do not normally have CAP=PM, + so if you will be bind()-ing to these privileged ports, you will + manually need to add PM capability as appropriate. + * MPE requires that you bind() to an IP address of zero. Perl/iX + automatically replaces the IP address that you pass to bind() with a + zero. + * If you use Perl/iX fcntl() against a socket it will fail, because MPE + requires that you use sfcntl() instead. Perl/iX does not presently + support sfcntl(). + * MPE requires GETPRIVMODE() in order to setuid(). There are too many + calls to setuid() within Perl/iX, so I have not attempted an automatic + GETPRIVMODE() solution similar to bind(). + + ------------------------------------------------------------------------ + +Known Bugs Under Investigation + + * None + + ------------------------------------------------------------------------ + +To-Do List + + * Make setuid()/setgid() support work. + * Make sure that fcntl() against a socket descriptor is redirected to + sfcntl(). + * Add support for Berkeley DB once I've finished porting Berkeley DB. + * Write an MPE XS extension library containing miscellaneous important + MPE functions like GETPRIVMODE(), GETUSERMODE(), and sfcntl(). + + ------------------------------------------------------------------------ + +Change History + + * October 16, 1997 + o Added Demos section to the Perl/iX home page so you can see some + sample Perl applications running on my 3000. + * October 3, 1997 + o Added System Requirements section to the Perl/iX home page just + so the prerequisites stand out more. Various other home page + tweaks. + * October 2, 1997 + o Initial public release. + * September 1997 + o Porting begins. + + ------------------------------------------------------------------------ + +Mark Bixby, markb@cccd.edu |