diff options
Diffstat (limited to 'yocto-poky/meta/recipes-extended/pax')
3 files changed, 232 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch b/yocto-poky/meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch new file mode 100644 index 000000000..88779c3bb --- /dev/null +++ b/yocto-poky/meta/recipes-extended/pax/pax/fix_for_compile_with_gcc-4.6.0.patch @@ -0,0 +1,25 @@ +Upstream-Status: Pending + +This patch fixes this compiler error with gcc 4.6.0 + +Nitin A Kamble <nitin.a.kamble@intel.com> 2011/05/08 + +| fts.c: In function 'pax_fts_set': +| fts.c:469:7: error: parameter 'sp' set but not used [-Werror=unused-but-set-parameter] +| cc1: all warnings being treated as errors +| +| make[2]: *** [fts.o] Error 1 + +Index: pax-3.4/lib/fts.c +=================================================================== +--- pax-3.4.orig/lib/fts.c ++++ pax-3.4/lib/fts.c +@@ -466,7 +466,7 @@ name: t = sp->fts_path + NAPPEND(p->fts + /* ARGSUSED */ + int + fts_set(sp, p, instr) +- FTS *sp; ++ FTS __attribute__((__unused__)) *sp; + FTSENT *p; + int instr; + { diff --git a/yocto-poky/meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch b/yocto-poky/meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch new file mode 100644 index 000000000..80878f38b --- /dev/null +++ b/yocto-poky/meta/recipes-extended/pax/pax/pax-3.4_fix_for_x32.patch @@ -0,0 +1,185 @@ +Upstream-Status: Pending + +Author: H.J. Lu <hjl.tools@gmail.com> +Date: Tue Dec 6 10:34:53 2011 -0800 + + Fix pax-3.4 build for x32 + + off_t is 8byte for x32. We need to check both _FILE_OFFSET_BITS and + size of off_t to see if file offset is 64bit. This patch adds + AC_CHECK_SIZEOF(off_t) and checks SIZEOF_OFF_T == 8. + +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/06 + +Index: pax-3.4/configure.in +=================================================================== +--- pax-3.4.orig/configure.in ++++ pax-3.4/configure.in +@@ -33,4 +33,7 @@ dnl Checks for header files. + dnl Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST + ++AC_CHECK_SIZEOF(off_t) ++AC_CHECK_SIZEOF(long) ++ + AC_OUTPUT([Makefile lib/Makefile src/Makefile]) +Index: pax-3.4/src/ar_io.c +=================================================================== +--- pax-3.4.orig/src/ar_io.c ++++ pax-3.4/src/ar_io.c +@@ -378,7 +378,8 @@ ar_close(void) + * could have written anything yet. + */ + if (frmt == NULL) { +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + (void)fprintf(listf, "%s: unknown format, %qu bytes skipped.\n", + #else + (void)fprintf(listf, "%s: unknown format, %lu bytes skipped.\n", +@@ -391,7 +392,8 @@ ar_close(void) + + if (strcmp(NM_CPIO, argv0) == 0) + (void)fprintf(listf, +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + "%qu blocks\n", + #else + "%lu blocks\n", +@@ -399,7 +401,8 @@ ar_close(void) + (rdcnt ? rdcnt : wrcnt) / 5120); + else if (strcmp(NM_TAR, argv0) != 0) + (void)fprintf(listf, +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + "%s: %s vol %d, %lu files, %qu bytes read, %qu bytes written.\n", + #else + "%s: %s vol %d, %lu files, %lu bytes read, %lu bytes written.\n", +Index: pax-3.4/src/cpio.c +=================================================================== +--- pax-3.4.orig/src/cpio.c ++++ pax-3.4/src/cpio.c +@@ -218,7 +218,8 @@ rd_ln_nm (ARCHD *arcn) + */ + if ((arcn->sb.st_size == 0) || + (arcn->sb.st_size >= (off_t) sizeof(arcn->ln_name))) { +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + paxwarn (1, "Cpio link name length is invalid: %qu", + arcn->sb.st_size); + #else +Index: pax-3.4/src/gen_subs.c +=================================================================== +--- pax-3.4.orig/src/gen_subs.c ++++ pax-3.4/src/gen_subs.c +@@ -133,7 +133,8 @@ ls_list (ARCHD *arcn, time_t now, FILE * + * print device id's for devices, or sizes for other nodes + */ + if ((arcn->type == PAX_CHR) || (arcn->type == PAX_BLK)) +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + (void) fprintf (fp, "%4lu,%4lu ", (unsigned long) MAJOR (sbp->st_rdev), + (unsigned long) MINOR (sbp->st_rdev)); + #else +@@ -142,7 +143,8 @@ ls_list (ARCHD *arcn, time_t now, FILE * + #endif + else + { +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + (void) fprintf (fp, "%9qu ", sbp->st_size); + #else + (void) fprintf (fp, "%9lu ", sbp->st_size); +@@ -334,7 +336,8 @@ ul_asc (u_long val, char *str, int len, + return (0); + } + +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + /* + * asc_uqd() + * convert hex/octal character string into a u_quad_t. We do not have to +Index: pax-3.4/src/options.c +=================================================================== +--- pax-3.4.orig/src/options.c ++++ pax-3.4/src/options.c +@@ -1545,7 +1545,8 @@ str_offt (char *val) + char *expr; + off_t num, t; + +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + num = strtoq (val, &expr, 0); + if ((num == LONG_LONG_MAX) || (num <= 0) || (expr == val)) + #else +Index: pax-3.4/src/tar.c +=================================================================== +--- pax-3.4.orig/src/tar.c ++++ pax-3.4/src/tar.c +@@ -58,7 +58,8 @@ + static unsigned long tar_chksm (char *, int); + static char *name_split (char *, int); + static int ul_oct (u_long, char *, int, int); +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + static int uqd_oct (u_quad_t, char *, int, int); + #endif + +@@ -196,7 +197,8 @@ ul_oct (u_long val, register char *str, + return (0); + } + +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + /* + * uqd_oct() + * convert an u_quad_t to an octal string. one of many oddball field +@@ -427,7 +429,8 @@ tar_rd (ARCHD *arcn, char *buf) + 0xfff); + arcn->sb.st_uid = (uid_t) asc_ul (hd->uid, sizeof (hd->uid), OCT); + arcn->sb.st_gid = (gid_t) asc_ul (hd->gid, sizeof (hd->gid), OCT); +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + arcn->sb.st_size = (off_t) asc_uqd (hd->size, sizeof (hd->size), OCT); + #else + arcn->sb.st_size = (off_t) asc_ul (hd->size, sizeof (hd->size), OCT); +@@ -659,7 +662,8 @@ tar_wr (register ARCHD * arcn) + * data follows this file, so set the pad + */ + hd->linkflag = AREGTYPE; +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + if (uqd_oct ((u_quad_t) arcn->sb.st_size, hd->size, + sizeof (hd->size), 1)) + #else +@@ -834,7 +838,8 @@ ustar_rd (ARCHD *arcn, char *buf) + */ + arcn->sb.st_mode = (mode_t) (asc_ul (hd->mode, sizeof (hd->mode), OCT) & + 0xfff); +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + arcn->sb.st_size = (off_t) asc_uqd (hd->size, sizeof (hd->size), OCT); + #else + arcn->sb.st_size = (off_t) asc_ul (hd->size, sizeof (hd->size), OCT); +@@ -1081,7 +1086,8 @@ ustar_wr (register ARCHD * arcn) + else + hd->typeflag = REGTYPE; + arcn->pad = TAR_PAD (arcn->sb.st_size); +-#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 ++#if (SIZEOF_LONG == 4 && SIZEOF_OFF_T == 8) \ ++ || (defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) + if (uqd_oct ((u_quad_t) arcn->sb.st_size, hd->size, + sizeof (hd->size), 3)) + { diff --git a/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb b/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb new file mode 100644 index 000000000..ad04871a8 --- /dev/null +++ b/yocto-poky/meta/recipes-extended/pax/pax_3.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "Portable Archive eXchange" +DESCRIPTION = "pax (Portable Archive eXchange) is the POSIX standard archive tool" +HOMEPAGE = "http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin/pax/" +BUGTRACKER = "http://www.openbsd.org/query-pr.html" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=4b0b674dfdc56daa3832d4069b820ea0 \ + file://src/pax.h;endline=40;md5=309d3e241c1d82069228e5a51e9b8d60 \ + file://src/cpio.h;endline=40;md5=c3b4bbff6133a83387968617bbae8ac4 \ + file://lib/vis.h;endline=40;md5=b283f759abd4a5ad7e014b80f51fc053" + +SECTION = "base" +PR = "r2" + +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \ + file://fix_for_compile_with_gcc-4.6.0.patch \ + file://pax-3.4_fix_for_x32.patch" + +SRC_URI[md5sum] = "fbd9023b590b45ac3ade95870702a0d6" +SRC_URI[sha256sum] = "ac3c06048e02828077cf7757d3d142241429238893b91d529af29a2e8cc5623b" + +inherit autotools |