change log for rtems (2010-07-27)

Joel Sherrill joel.sherrill at OARcorp.com
Tue Jul 27 21:22:19 UTC 2010


On 07/27/2010 03:34 PM, Gedare Bloom wrote:
> The switch to pax breaks my build locally, since I do not have pax 
> installed.
>
The untar code can now handle either pax or GNU tar for the
subset of tar we support.

For now, install pax.  This is still an open issue as to what subset
of tar we should support.  pax is the standards compliant tar though.

--joel
> On Tue, Jul 27, 2010 at 3:10 PM, rtems-vc at rtems.org 
> <mailto:rtems-vc at rtems.org> <rtems-vc at rtems.org 
> <mailto:rtems-vc at rtems.org>> wrote:
>
>     *joel*
>
>     2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>     	* libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.c: Now supports
>     	both pax and GNU tar created tar files.
>                
>
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2530&r2=text&tr2=1.2531&diff_format=h>
>     	1.2531 	cpukit/ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libfs/src/imfs/imfs_load_tar.c.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h>
>     	1.19 	cpukit/libfs/src/imfs/imfs_load_tar.c
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libmisc/untar/untar.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h>
>     	1.13 	cpukit/libmisc/untar/untar.c
>
>     diff -u rtems/cpukit/ChangeLog:1.2530 rtems/cpukit/ChangeLog:1.2531
>     --- rtems/cpukit/ChangeLog:1.2530	Tue Jul 27 12:37:54 2010
>     +++ rtems/cpukit/ChangeLog	Tue Jul 27 13:11:42 2010
>     @@ -1,3 +1,8 @@
>     +2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>     +
>     +	* libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.c: Now supports
>     +	both pax and GNU tar created tar files.
>     +
>     2010-07-27 Joel Sherrill <joel.sherrilL at OARcorp.com> *
>     posix/src/sigsuspend.c: Do not assert unless RTEMS_DEBUG is defined.
>     diff -u rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.18 rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.19
>     --- rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.18	Mon Jul 26 16:29:24 2010
>     +++ rtems/cpukit/libfs/src/imfs/imfs_load_tar.c	Tue Jul 27 13:11:42 2010
>     @@ -46,7 +46,8 @@
>        *   148      8 bytes  Header checksum (in octal ascii)
>        *   156      1 bytes  Link flag
>        *   157    100 bytes  Linkname ('\0' terminated, 99 maxmum length)
>     - *   257      8 bytes  Magic ("ustar  \0")
>     + *   257      8 bytes  Magic PAX ("ustar\0" + 2 bytes padding)
>     + *   257      8 bytes  Magic GNU tar ("ustar  \0")
>        *   265     32 bytes  User name ('\0' terminated, 31 maxmum length)
>        *   297     32 bytes  Group name ('\0' terminated, 31 maxmum length)
>        *   329      8 bytes  Major device ID (in octal ascii)
>     @@ -124,7 +125,7 @@
>            */
>           hdr_ptr = (char *)&tar_image[offset];
>           offset += 512;
>     -    if (strncmp(&hdr_ptr[257], "ustar  ", 7))
>     +    if (strncmp(&hdr_ptr[257], "ustar", 5))
>             break;
>
>           strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);
>
>     diff -u rtems/cpukit/libmisc/untar/untar.c:1.12 rtems/cpukit/libmisc/untar/untar.c:1.13
>     --- rtems/cpukit/libmisc/untar/untar.c:1.12	Wed Sep  5 18:46:36 2007
>     +++ rtems/cpukit/libmisc/untar/untar.c	Tue Jul 27 13:11:42 2010
>     @@ -39,7 +39,8 @@
>        *   148      8 bytes  Header checksum (in octal ascii)
>        *   156      1 bytes  Link flag
>        *   157    100 bytes  Linkname ('\0' terminated, 99 maxmum length)
>     - *   257      8 bytes  Magic ("ustar  \0")
>     + *   257      8 bytes  Magic PAX ("ustar\0" + 2 bytes padding)
>     + *   257      8 bytes  Magic GNU tar ("ustar  \0")
>        *   265     32 bytes  User name ('\0' terminated, 31 maxmum length)
>        *   297     32 bytes  Group name ('\0' terminated, 31 maxmum length)
>        *   329      8 bytes  Major device ID (in octal ascii)
>     @@ -143,7 +144,7 @@
>             /* Read the header */
>             bufr =&tar_ptr[ptr];
>             ptr += 512;
>     -      if (strncmp(&bufr[257], "ustar  ", 7))
>     +      if (strncmp(&bufr[257], "ustar", 5))
>             {
>                retval = UNTAR_SUCCESSFUL;
>                break;
>     @@ -283,7 +284,7 @@
>                break;
>             }
>
>     -      if (strncmp(&bufr[257], "ustar  ", 7))
>     +      if (strncmp(&bufr[257], "ustar", 5))
>             {
>                break;
>             }
>          
>
>     *joel*
>
>     2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>     	PR 1532/testing
>     	* Makefile.am,configure.ac  <http://configure.ac>: Add initial tests for untar capabilities.
>     	* tar01/.cvsignore, tar01/Makefile.am, tar01/init.c, tar01/tar01.doc,
>     	tar01/tar01.scn, tar02/.cvsignore, tar02/Makefile.am, tar02/init.c,
>     	tar02/tar02.doc, tar02/tar02.scn: New files.
>                
>
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/ChangeLog.diff?r1=text&tr1=1.217&r2=text&tr2=1.218&diff_format=h>
>     	1.218 	testsuites/libtests/ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/Makefile.am.diff?r1=text&tr1=1.44&r2=text&tr2=1.45&diff_format=h>
>     	1.45 	testsuites/libtests/Makefile.am
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/configure.ac.diff?r1=text&tr1=1.51&r2=text&tr2=1.52&diff_format=h>
>     	1.52 	testsuites/libtests/configure.ac <http://configure.ac>
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar01/.cvsignore
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar01/Makefile.am
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/init.c?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar01/init.c
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/tar01.doc?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar01/tar01.doc
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/tar01.scn?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar01/tar01.scn
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar02/.cvsignore
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar02/Makefile.am
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/init.c?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar02/init.c
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/tar02.doc?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar02/tar02.doc
>     A
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/tar02.scn?rev=1.1&content-type=text/vnd.viewcvs-markup>
>     	1.1 	testsuites/libtests/tar02/tar02.scn
>
>     diff -u rtems/testsuites/libtests/ChangeLog:1.217 rtems/testsuites/libtests/ChangeLog:1.218
>     --- rtems/testsuites/libtests/ChangeLog:1.217	Tue Jul 27 09:45:09 2010
>     +++ rtems/testsuites/libtests/ChangeLog	Tue Jul 27 13:16:49 2010
>     @@ -1,3 +1,11 @@
>     +2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>     +
>     +	PR 1532/testing
>     +	* Makefile.am,configure.ac  <http://configure.ac>: Add initial tests for untar capabilities.
>     +	* tar01/.cvsignore, tar01/Makefile.am, tar01/init.c, tar01/tar01.doc,
>     +	tar01/tar01.scn, tar02/.cvsignore, tar02/Makefile.am, tar02/init.c,
>     +	tar02/tar02.doc, tar02/tar02.scn: New files.
>     +
>       2010-07-27	Bharath Suri<bharath.s.jois at gmail.com  <mailto:bharath.s.jois at gmail.com>>
>
>       	PR 1631/testing
>
>     diff -u rtems/testsuites/libtests/Makefile.am:1.44 rtems/testsuites/libtests/Makefile.am:1.45
>     --- rtems/testsuites/libtests/Makefile.am:1.44	Tue Jul 27 09:45:09 2010
>     +++ rtems/testsuites/libtests/Makefile.am	Tue Jul 27 13:16:49 2010
>     @@ -14,7 +14,7 @@
>           termios06 termios07 termios08 \
>           rtems++ tztest block01 block02 block03 block04 block05 block06 block07 \
>           block08 block09 block10 stringto01 \
>     -    tar03
>     +    tar01 tar02 tar03
>
>       include $(top_srcdir)/../automake/subdirs.am  <http://subdirs.am>
>       include $(top_srcdir)/../automake/local.am  <http://local.am>
>
>     diff -u rtems/testsuites/libtests/configure.ac:1.51 rtems/testsuites/libtests/configure.ac:1.52
>     --- rtems/testsuites/libtests/configure.ac:1.51	Tue Jul 27 09:45:09 2010
>     +++ rtems/testsuites/libtests/configure.ac  <http://configure.ac>	Tue Jul 27 13:16:49 2010
>     @@ -66,6 +66,8 @@
>       stackchk/Makefile
>       stackchk01/Makefile
>       stringto01/Makefile
>     +tar01/Makefile
>     +tar02/Makefile
>       tar03/Makefile
>       termios/Makefile
>       termios01/Makefile
>
>     diff -u /dev/null rtems/testsuites/libtests/tar01/.cvsignore:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar01/.cvsignore	Tue Jul 27 13:16:49 2010
>     @@ -0,0 +1,2 @@ +Makefile +Makefile.in
>     diff -u /dev/null rtems/testsuites/libtests/tar01/Makefile.am:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar01/Makefile.am	Tue Jul 27 13:16:49 2010
>     @@ -0,0 +1,54 @@
>     +##
>     +## $Id$
>     +##
>     +
>     +MANAGERS = all
>     +
>     +rtems_tests_PROGRAMS = tar01
>     +tar01_SOURCES = init.c ../../psxtests/psxfile01/test_cat.c \
>     +  initial_filesystem_tar.c
>     +
>     +dist_rtems_tests_DATA = tar01.scn
>     +
>     +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>     +include $(top_srcdir)/../automake/compile.am  <http://compile.am>
>     +include $(top_srcdir)/../automake/leaf.am <http://leaf.am>
>
>     +
>     +AM_CPPFLAGS += -I$(top_srcdir)/include
>     +AM_CPPFLAGS += -I$(top_srcdir)/../support/include
>     +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include
>     +
>     +LINK_OBJS = $(tar01_OBJECTS) $(tar01_LDADD)
>     +LINK_LIBS = $(tar01_LDLIBS)
>     +
>     +tar01$(EXEEXT): stamp-filesystem stamp-initial-fs-source $(tar01_OBJECTS) \
>     +    $(tar01_DEPENDENCIES)
>     +	@rm -f tar01$(EXEEXT)
>     +	$(make-exe)
>     +
>     +init.o: init.c stamp-initial-fs-source
>     +
>     +initial_filesystem_tar.c: stamp-initial-fs-source
>     +
>     +initial_filesystem_tar.h: stamp-initial-fs-source
>     +
>     +stamp-initial-fs-source: initial_filesystem.tar
>     +	$(BIN2C) initial_filesystem.tar initial_filesystem_tar
>     +	touch stamp-initial-fs-source
>     +
>     +stamp-filesystem:
>     +	rm -rf initial_fs
>     +	mkdir initial_fs
>     +	mkdir initial_fs/home
>     +	(echo "This is a test of loading an RTEMS filesystem from an" ; \
>     +	echo "initial tar image.")>initial_fs/home/test_file
>     +	cd initial_fs&&  ln -s home/test_file symlink
>     +	touch stamp-filesystem
>     +
>     +initial_filesystem.tar: stamp-filesystem
>     +	cd initial_fs ; pax -w -f ../initial_filesystem.tar home symlink
>     +
>     +CLEANFILES = initial_fs initial_filesystem* stamp-filesystem \
>     +	    stamp-initial-fs-source
>     +
>     +include $(top_srcdir)/../automake/local.am  <http://local.am>
>
>     diff -u /dev/null rtems/testsuites/libtests/tar01/init.c:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar01/init.c	Tue Jul 27 13:16:49 2010
>     @@ -0,0 +1,122 @@
>     +/* + * COPYRIGHT (c) 1989-2010. + * On-Line Applications Research
>     Corporation (OAR). + * + * The license and distribution terms for
>     this file may be + * found in the file LICENSE in this
>     distribution or at + * http://www.rtems.com/license/LICENSE
>     .
>     + *
>     + *  $Id$
>     + */
>     +
>     +#include<bsp.h>  /* for device driver prototypes */
>     +#include "tmacros.h"
>     +#include<rtems/untar.h>
>     +#include<rtems/error.h>
>     +
>     +#include<stdio.h>
>     +#include<stdlib.h>
>     +#include<sys/types.h>
>     +#include<sys/stat.h>
>     +#include<fcntl.h>
>     +#include<unistd.h>
>     +
>     +#include "initial_filesystem_tar.h"
>     +
>     +#define TARFILE_START initial_filesystem_tar
>     +#define TARFILE_SIZE  initial_filesystem_tar_size
>     +
>     +void test_cat(
>     +  char *file,
>     +  int   offset_arg,
>     +  int   length
>     +);
>     +
>     +void test_untar_from_memory(void)
>     +{
>     +  rtems_status_code sc;
>     +
>     +  printf("Untaring from memory - ");
>     +  sc = Untar_FromMemory((void *)TARFILE_START, TARFILE_SIZE);
>     +  if (sc != RTEMS_SUCCESSFUL) {
>     +    printf ("error: untar failed: %s\n", rtems_status_text (sc));
>     +    exit(1);
>     +  }
>     +  printf ("successful\n");
>     +
>     +  /******************/
>     +  printf( "========= /home/test_file =========\n" );
>     +  test_cat( "/home/test_file", 0, 0 );
>     +   
>     +  /******************/
>     +  printf( "========= /symlink =========\n" );
>     +  test_cat( "/symlink", 0, 0 );
>     +
>     +}
>     +
>     +void test_untar_from_file(void)
>     +{
>     +  rtems_status_code  sc;
>     +  int                fd;
>     +
>     +  puts( "Copy tar image to test.tar" );
>     +  /* Copy tar image from object to file in IMFS */
>     +  fd = open( "/test.tar", O_CREAT|O_TRUNC|O_WRONLY, 0777 );
>     +  rtems_test_assert( fd != -1 );
>     +
>     +  sc = write( fd, TARFILE_START, TARFILE_SIZE );
>     +  rtems_test_assert( sc == TARFILE_SIZE );
>     +  close( fd );
>     +
>     +  /* make a directory to untar it into */
>     +  sc = mkdir( "/dest", 0777 );
>     +  rtems_test_assert( !sc );
>     +
>     +  sc = chdir( "/dest" );
>     +  rtems_test_assert( !sc );
>     +
>     +  /* Untar it */
>     +  sc = Untar_FromFile( "/test.tar" );
>     +  printf("Untaring from file - ");
>     +  if (sc != RTEMS_SUCCESSFUL) {
>     +    printf ("error: untar failed: %s\n", rtems_status_text (sc));
>     +    exit(1);
>     +  }
>     +  printf ("successful\n");
>     +
>     +  /******************/
>     +  printf( "========= /dest/home/test_file =========\n" );
>     +  test_cat( "/dest/home/test_file", 0, 0 );
>     +   
>     +  /******************/
>     +  printf( "========= /dest/symlink =========\n" );
>     +  test_cat( "/dest/symlink", 0, 0 );
>     +}
>     +
>     +rtems_task Init(
>     +  rtems_task_argument ignored
>     +)
>     +{
>     +  printf( "\n\n*** TAR01 TEST ***\n" );
>     +
>     +  test_untar_from_memory();
>     +  puts( "" );
>     +  test_untar_from_file();
>     +
>     +  printf( "*** END OF TAR01 TEST ***\n" );
>     +  exit( 0 );
>     +}
>     +
>     +
>     +/* NOTICE: the clock driver is explicitly disabled */
>     +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>     +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>     +
>     +#define CONFIGURE_MAXIMUM_TASKS            1
>     +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
>     +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
>     +
>     +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>     +
>     +#define CONFIGURE_INIT
>     +#include<rtems/confdefs.h>
>
>     diff -u /dev/null rtems/testsuites/libtests/tar01/tar01.doc:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar01/tar01.doc	Tue Jul 27 13:16:49 2010
>     @@ -0,0 +1,23 @@
>     +# +# $Id$ +# +# COPYRIGHT (c) 1989-2010. +# On-Line Applications
>     Research Corporation (OAR). +# +# The license and distribution
>     terms for this file may be +# found in the file LICENSE in this
>     distribution or at +# http://www.rtems.com/license/LICENSE
>     .
>     +#
>     +
>     +This file describes the directives and concepts tested by this test set.
>     +
>     +test set name:  malloc02
>     +
>     +directives:
>     +
>     +  + Untar_FromMemory
>     +  + Untar_FromFile
>     +
>     +concepts:
>     +
>     ++ exercise these routines
>
>     diff -u /dev/null rtems/testsuites/libtests/tar01/tar01.scn:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar01/tar01.scn	Tue Jul 27 13:16:49 2010
>     @@ -0,0 +1,22 @@
>     +*** TAR01 TEST ***
>     +Untaring from memory - successful
>     +========= /home/test_file =========
>     +(0)This is a test of loading an RTEMS filesystem from an
>     +initial tar image.
>     +
>     +========= /symlink =========
>     +(0)This is a test of loading an RTEMS filesystem from an
>     +initial tar image.
>     +
>     +
>     +Copy tar image to test.tar
>     +Untaring from file - successful
>     +========= /dest/home/test_file =========
>     +(0)This is a test of loading an RTEMS filesystem from an
>     +initial tar image.
>     +
>     +========= /dest/symlink =========
>     +(0)This is a test of loading an RTEMS filesystem from an
>     +initial tar image.
>     +
>     +*** END OF TAR01 TEST ***
>
>     diff -u /dev/null rtems/testsuites/libtests/tar02/.cvsignore:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar02/.cvsignore	Tue Jul 27 13:16:50 2010
>     @@ -0,0 +1,2 @@ +Makefile +Makefile.in
>     diff -u /dev/null rtems/testsuites/libtests/tar02/Makefile.am:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar02/Makefile.am	Tue Jul 27 13:16:50 2010
>     @@ -0,0 +1,52 @@
>     +##
>     +## $Id$
>     +##
>     +
>     +rtems_tests_PROGRAMS = tar02
>     +tar02_SOURCES = init.c ../../psxtests/psxfile01/test_cat.c \
>     +  initial_filesystem_tar.c
>     +
>     +dist_rtems_tests_DATA = tar02.scn
>     +
>     +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>     +include $(top_srcdir)/../automake/compile.am  <http://compile.am>
>     +include $(top_srcdir)/../automake/leaf.am <http://leaf.am>
>
>     +
>     +AM_CPPFLAGS += -I$(top_srcdir)/include
>     +AM_CPPFLAGS += -I$(top_srcdir)/../support/include
>     +AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include
>     +
>     +LINK_OBJS = $(tar02_OBJECTS) $(tar02_LDADD)
>     +LINK_LIBS = $(tar02_LDLIBS)
>     +
>     +tar02$(EXEEXT): stamp-filesystem stamp-initial-fs-source $(tar02_OBJECTS) \
>     +    $(tar02_DEPENDENCIES)
>     +	@rm -f tar02$(EXEEXT)
>     +	$(make-exe)
>     +
>     +init.o: init.c stamp-initial-fs-source
>     +
>     +initial_filesystem_tar.c: stamp-initial-fs-source
>     +
>     +initial_filesystem_tar.h: stamp-initial-fs-source
>     +
>     +stamp-initial-fs-source: initial_filesystem.tar
>     +	$(BIN2C) initial_filesystem.tar initial_filesystem_tar
>     +	touch stamp-initial-fs-source
>     +
>     +stamp-filesystem:
>     +	rm -rf initial_fs
>     +	mkdir initial_fs
>     +	mkdir initial_fs/home
>     +	(echo "This is a test of loading an RTEMS filesystem from an" ; \
>     +	echo "initial tar image.")>initial_fs/home/test_file
>     +	cd initial_fs&&  ln -s home/test_file symlink
>     +	touch stamp-filesystem
>     +
>     +initial_filesystem.tar: stamp-filesystem
>     +	cd initial_fs ; pax -w -f ../initial_filesystem.tar home symlink
>     +
>     +CLEANFILES = initial_filesystem* stamp-filesystem \
>     +	    stamp-initial-fs-source
>     +
>     +include $(top_srcdir)/../automake/local.am  <http://local.am>
>
>     diff -u /dev/null rtems/testsuites/libtests/tar02/init.c:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar02/init.c	Tue Jul 27 13:16:50 2010
>     @@ -0,0 +1,83 @@
>     +/* + * COPYRIGHT (c) 1989-2010. + * On-Line Applications Research
>     Corporation (OAR). + * + * The license and distribution terms for
>     this file may be + * found in the file LICENSE in this
>     distribution or at + * http://www.rtems.com/license/LICENSE
>     .
>     + *
>     + *  $Id$
>     + */
>     +
>     +#include<bsp.h>  /* for device driver prototypes */
>     +#include "tmacros.h"
>     +#include<rtems/imfs.h>
>     +#include<rtems/error.h>
>     +
>     +#include<stdio.h>
>     +#include<stdlib.h>
>     +#include<sys/types.h>
>     +#include<sys/stat.h>
>     +#include<fcntl.h>
>     +#include<unistd.h>
>     +
>     +#include "initial_filesystem_tar.h"
>     +
>     +#define TARFILE_START initial_filesystem_tar
>     +#define TARFILE_SIZE  initial_filesystem_tar_size
>     +
>     +void test_cat(
>     +  char *file,
>     +  int   offset_arg,
>     +  int   length
>     +);
>     +
>     +void test_tarfs_load(void)
>     +{
>     +  rtems_status_code sc;
>     +
>     +  printf("Loading tarfs image ... ");
>     +  sc = rtems_tarfs_load("/",(void *)TARFILE_START, TARFILE_SIZE);
>     +  if (sc != RTEMS_SUCCESSFUL) {
>     +    printf ("error: untar failed: %s\n", rtems_status_text (sc));
>     +    exit(1);
>     +  }
>     +  printf ("successful\n");
>     +
>     +  /******************/
>     +  printf( "========= /home/test_file =========\n" );
>     +  test_cat( "/home/test_file", 0, 0 );
>     +   
>     +  /******************/
>     +  puts("*** Skipping symlink -- NOT CURRENTLY SUPPORTED ***" );
>     +#if 0
>     +  printf( "========= /symlink =========\n" );
>     +  test_cat( "/symlink", 0, 0 );
>     +#endif
>     +}
>     +
>     +rtems_task Init(
>     +  rtems_task_argument ignored
>     +)
>     +{
>     +  printf( "\n\n*** TAR02 TEST ***\n" );
>     +
>     +  test_tarfs_load();
>     +
>     +  printf( "*** END OF TAR02 TEST ***\n" );
>     +  exit( 0 );
>     +}
>     +
>     +
>     +/* NOTICE: the clock driver is explicitly disabled */
>     +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>     +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>     +
>     +#define CONFIGURE_MAXIMUM_TASKS            1
>     +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
>     +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
>     +
>     +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>     +
>     +#define CONFIGURE_INIT
>     +#include<rtems/confdefs.h>
>
>     diff -u /dev/null rtems/testsuites/libtests/tar02/tar02.doc:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar02/tar02.doc	Tue Jul 27 13:16:50 2010
>     @@ -0,0 +1,22 @@
>     +# +# $Id$ +# +# COPYRIGHT (c) 1989-2010. +# On-Line Applications
>     Research Corporation (OAR). +# +# The license and distribution
>     terms for this file may be +# found in the file LICENSE in this
>     distribution or at +# http://www.rtems.com/license/LICENSE
>     .
>     +#
>     +
>     +This file describes the directives and concepts tested by this test set.
>     +
>     +test set name:  tar02
>     +
>     +directives:
>     +
>     +  rtems_tarfs_load
>     +
>     +concepts:
>     +
>     ++ exercise methods listed above
>
>     diff -u /dev/null rtems/testsuites/libtests/tar02/tar02.scn:1.1
>     --- /dev/null	Tue Jul 27 14:10:19 2010
>     +++ rtems/testsuites/libtests/tar02/tar02.scn	Tue Jul 27 13:16:50 2010
>     @@ -0,0 +1,8 @@
>     +*** TAR02 TEST ***
>     +Loading tarfs image ... successful
>     +========= /home/test_file =========
>     +(0)This is a test of loading an RTEMS filesystem from an
>     +initial tar image.
>     +
>     +*** Skipping symlink -- NOT CURRENTLY SUPPORTED ***
>     +*** END OF TAR02 TEST ***
>
>     *joel*
>
>     2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>     	PR 1532/testing
>     	* aclocal/project-root.m4: Add initial tests for untar capabilities.
>                
>
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/ChangeLog.diff?r1=text&tr1=1.382&r2=text&tr2=1.383&diff_format=h>
>     	1.383 	ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/aclocal/project-root.m4.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h>
>     	1.8 	aclocal/project-root.m4
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/ChangeLog.diff?r1=text&tr1=1.169&r2=text&tr2=1.170&diff_format=h>
>     	1.170 	testsuites/ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/aclocal/project-root.m4.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h>
>     	1.4 	testsuites/aclocal/project-root.m4
>
>     diff -u rtems/ChangeLog:1.382 rtems/ChangeLog:1.383
>     --- rtems/ChangeLog:1.382	Wed Jun 23 08:32:58 2010
>     +++ rtems/ChangeLog	Tue Jul 27 13:17:46 2010
>     @@ -1,3 +1,8 @@
>     +2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>     +
>     +	PR 1532/testing
>     +	* aclocal/project-root.m4: Add initial tests for untar capabilities.
>     +
>       2010-06-23	Ralf Corsépius<ralf.corsepius at rtems.org  <mailto:ralf.corsepius at rtems.org>>
>
>       	*configure.ac  <http://configure.ac>: autoconf>= 2.65, automake>= 1.11.
>
>     diff -u rtems/aclocal/project-root.m4:1.7 rtems/aclocal/project-root.m4:1.8
>     --- rtems/aclocal/project-root.m4:1.7	Tue Nov 25 23:32:03 2003
>     +++ rtems/aclocal/project-root.m4	Tue Jul 27 13:17:46 2010
>     @@ -18,5 +18,8 @@
>
>       PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
>       AC_SUBST(PACKHEX)
>     +
>     +BIN2C="\$(PROJECT_TOPdir)/tools/build/rtems-bin2c"
>     +AC_SUBST(BIN2C)
>       ])
>
>
>     diff -u rtems/testsuites/ChangeLog:1.169 rtems/testsuites/ChangeLog:1.170
>     --- rtems/testsuites/ChangeLog:1.169	Wed Jul 14 11:03:57 2010
>     +++ rtems/testsuites/ChangeLog	Tue Jul 27 13:17:37 2010
>     @@ -1,3 +1,8 @@
>     +2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>     +
>     +	PR 1532/testing
>     +	* aclocal/project-root.m4: Add initial tests for untar capabilities.
>     +
>       2010-07-14	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>       	* support/include/test_support.h, support/src/test_support.c: Add
>
>     diff -u rtems/testsuites/aclocal/project-root.m4:1.3 rtems/testsuites/aclocal/project-root.m4:1.4
>     --- rtems/testsuites/aclocal/project-root.m4:1.3	Wed Feb 18 23:40:02 2004
>     +++ rtems/testsuites/aclocal/project-root.m4	Tue Jul 27 13:17:37 2010
>     @@ -8,5 +8,8 @@
>
>       PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
>       AC_SUBST(PACKHEX)
>     +
>     +BIN2C="\$(PROJECT_TOPdir)/tools/build/rtems-bin2c"
>     +AC_SUBST(BIN2C)
>       ])
>
>          
>
>     *joel*
>
>     2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>     	PR 1532/testing
>     	*host.cfg.in  <http://host.cfg.in>: Add initial tests for untar capabilities.
>                
>
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/make/ChangeLog.diff?r1=text&tr1=1.343&r2=text&tr2=1.344&diff_format=h>
>     	1.344 	make/ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/make/host.cfg.in.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h>
>     	1.15 	make/host.cfg.in <http://host.cfg.in>
>
>     diff -u rtems/make/ChangeLog:1.343 rtems/make/ChangeLog:1.344
>     --- rtems/make/ChangeLog:1.343	Fri Oct 16 09:28:53 2009
>     +++ rtems/make/ChangeLog	Tue Jul 27 13:18:11 2010
>     @@ -1,3 +1,8 @@
>     +2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>     +
>     +	PR 1532/testing
>     +	*host.cfg.in  <http://host.cfg.in>: Add initial tests for untar capabilities.
>     +
>       2009-10-16	Ralf Corsépius<ralf.corsepius at rtems.org  <mailto:ralf.corsepius at rtems.org>>
>
>       	* custom/bare.cfg: Remove (Abandoned).
>
>     diff -u rtems/make/host.cfg.in:1.14 rtems/make/host.cfg.in:1.15
>     --- rtems/make/host.cfg.in:1.14	Mon Feb  5 12:21:18 2001
>     +++ rtems/make/host.cfg.in  <http://host.cfg.in>	Tue Jul 27 13:18:16 2010
>     @@ -31,6 +31,10 @@
>       PACKHEX=$(PROJECT_BIN)/packhex
>       endif
>
>     +ifndef BIN2C
>     +BIN2C=$(PROJECT_BIN)/rtems-bin2c
>     +endif
>     +
>       ifndef INSTALL_CHANGE
>       INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
>       endif
>          
>
>     *joel*
>
>     2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>     	PR 1532/testing
>     	*host.cfg.in  <http://host.cfg.in>: Add initial tests for untar capabilities. This required
>     	BIN2C.
>                
>
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/make/ChangeLog.diff?r1=text&tr1=1.71&r2=text&tr2=1.72&diff_format=h>
>     	1.72 	c/src/make/ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/make/host.cfg.in.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h>
>     	1.15 	c/src/make/host.cfg.in <http://host.cfg.in>
>
>     diff -u rtems/c/src/make/ChangeLog:1.71 rtems/c/src/make/ChangeLog:1.72
>     --- rtems/c/src/make/ChangeLog:1.71	Thu Jun 17 11:30:05 2010
>     +++ rtems/c/src/make/ChangeLog	Tue Jul 27 13:18:29 2010
>     @@ -1,3 +1,9 @@
>     +2010-07-27	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>     +
>     +	PR 1532/testing
>     +	*host.cfg.in  <http://host.cfg.in>: Add initial tests for untar capabilities. This required
>     +	BIN2C.
>     +
>       2010-06-17	Ralf Corsépius<ralf.corsepius at rtems.org  <mailto:ralf.corsepius at rtems.org>>
>
>       	*Makefile.inc.in  <http://Makefile.inc.in>,bsp.cfg.in  <http://bsp.cfg.in>,configure.ac  <http://configure.ac>,target.cfg.in  <http://target.cfg.in>:
>
>     diff -u rtems/c/src/make/host.cfg.in:1.14 rtems/c/src/make/host.cfg.in:1.15
>     --- rtems/c/src/make/host.cfg.in:1.14	Mon Feb  5 12:21:18 2001
>     +++ rtems/c/src/make/host.cfg.in  <http://host.cfg.in>	Tue Jul 27 13:18:29 2010
>     @@ -31,6 +31,10 @@
>       PACKHEX=$(PROJECT_BIN)/packhex
>       endif
>
>     +ifndef BIN2C
>     +BIN2C=$(PROJECT_BIN)/rtems-bin2c
>     +endif
>     +
>       ifndef INSTALL_CHANGE
>       INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
>       endif
>          
>
>     *joel*
>
>     2010-07-27 Joel Sherrill <joel.sherrilL at OARcorp.com
>     >
>
>     	* sp11/sp11.scn, sp11/task1.c: Add test case for receiving all events
>     	no wait but the condition is only partially satisfied.
>                
>
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/ChangeLog.diff?r1=text&tr1=1.406&r2=text&tr2=1.407&diff_format=h>
>     	1.407 	testsuites/sptests/ChangeLog
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sp11/sp11.scn.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h>
>     	1.5 	testsuites/sptests/sp11/sp11.scn
>     M
>     <http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sp11/task1.c.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h>
>     	1.15 	testsuites/sptests/sp11/task1.c
>
>     diff -u rtems/testsuites/sptests/ChangeLog:1.406 rtems/testsuites/sptests/ChangeLog:1.407
>     --- rtems/testsuites/sptests/ChangeLog:1.406	Mon Jul 26 10:38:40 2010
>     +++ rtems/testsuites/sptests/ChangeLog	Tue Jul 27 14:03:00 2010
>     @@ -1,3 +1,8 @@
>     +2010-07-27	Joel Sherrill<joel.sherrilL at OARcorp.com>
>     +
>     +	* sp11/sp11.scn, sp11/task1.c: Add test case for receiving all events
>     +	no wait but the condition is only partially satisfied.
>     +
>       2010-07-26	Joel Sherrill<joel.sherrill at oarcorp.com  <mailto:joel.sherrill at oarcorp.com>>
>
>       	* Makefile.am,configure.ac  <http://configure.ac>: Add test to extract a task blocked with
>
>     diff -u rtems/testsuites/sptests/sp11/sp11.scn:1.4 rtems/testsuites/sptests/sp11/sp11.scn:1.5
>     --- rtems/testsuites/sptests/sp11/sp11.scn:1.4	Mon Aug 10 09:49:51 2009
>     +++ rtems/testsuites/sptests/sp11/sp11.scn	Tue Jul 27 14:03:00 2010
>     @@ -71,4 +71,6 @@
>       TA1 - RTEMS_EVENT_10 received
>       TA1 - rtems_event_send - sending RTEMS_EVENT_11 to self in 100 ticks
>       TA1 - rtems_event_send - sending RTEMS_EVENT_11 to self in 200 ticks
>     +TA1 - rtems_event_send - send RTEMS_EVENT_4 to self
>     +TA1 - rtems_event_receive - RTEMS_EVENT_4 AND RTEMS_EVENT_5 - UNSATISFIED
>       *** END OF TEST 11 ***
>
>     diff -u rtems/testsuites/sptests/sp11/task1.c:1.14 rtems/testsuites/sptests/sp11/task1.c:1.15
>     --- rtems/testsuites/sptests/sp11/task1.c:1.14	Tue Oct 27 03:13:58 2009
>     +++ rtems/testsuites/sptests/sp11/task1.c	Tue Jul 27 14:03:01 2010
>     @@ -361,8 +361,10 @@
>           RTEMS_NO_TIMEOUT,
>           &eventout
>         );
>     -  if ( eventout ) printf( "ERROR -0x%08" PRIxrtems_event_set " events received\n", eventout );
>     -  else            puts( "TA1 - no events received" );
>     +  if ( eventout )
>     +    printf( "ERROR -0x%08" PRIxrtems_event_set " events received\n", eventout );
>     +  else
>     +    puts( "TA1 - no events received" );
>         fatal_directive_status(
>           status,
>           RTEMS_UNSATISFIED,
>     @@ -404,6 +406,24 @@
>         );
>         directive_failed( status, "rtems_timer_fire_after 200 ticks" );
>
>     +  /***** *****/
>     +  puts( "TA1 - rtems_event_send - send RTEMS_EVENT_4 to self" );
>     +  status = rtems_event_send( RTEMS_SELF, RTEMS_EVENT_4 );
>     +  directive_failed( status, "rtems_event_send" );
>     +
>     +  eventout = 0;
>     +  puts(
>     +    "TA1 - rtems_event_receive - RTEMS_EVENT_4 AND RTEMS_EVENT_5 - UNSATISFIED"
>     +  );
>     +  status  = rtems_event_receive(
>     +    RTEMS_EVENT_4 | RTEMS_EVENT_5,
>     +    RTEMS_NO_WAIT | RTEMS_EVENT_ALL,
>     +    RTEMS_NO_TIMEOUT,
>     +&eventout
>     +  );
>     +  fatal_directive_status( status, RTEMS_UNSATISFIED, "rtems_event_receive" );
>     +  /***** *****/
>     +
>         puts( "*** END OF TEST 11 ***" );
>         rtems_test_exit( 0 );
>       }
>          
>
>     --
>     Generated by Deluxe Loginfo
>     <http://www.codewiz.org/projects/index.html#loginfo> 2.122 by
>     Bernardo Innocenti <bernie at develer.com <mailto:bernie at develer.com>>
>
>
>     _______________________________________________
>     rtems-vc mailing list
>     rtems-vc at rtems.org <mailto:rtems-vc at rtems.org>
>     http://www.rtems.org/mailman/listinfo/rtems-vc
>
>


-- 
Joel Sherrill, Ph.D.             Director of Research&  Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985





More information about the vc mailing list