From 4e4aa34d9d881c823c030b8a0a43ab11d3310253 Mon Sep 17 00:00:00 2001 From: Igor Vlasenko Date: Tue, 30 Sep 2008 21:03:35 +0300 Subject: [PATCH 1/7] build/parsePrep.c (doUntar): Remove "-L" option from "unzip" invocation This unzip mode is more compatible with rpm4.4 and rpm5. Fixes ALT#17407 Signed-off-by: Dmitry V. Levin (cherry picked from commit 01431efc0149205fb3c20baad8cf9d7cf063afe8) --- build/parsePrep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/parsePrep.c b/build/parsePrep.c index 55d02d6..262497e 100644 --- a/build/parsePrep.c +++ b/build/parsePrep.c @@ -249,7 +249,7 @@ static int checkOwners(const char * urlfn) break; case COMPRESSED_ZIP: zipper = "%{_unzipbin}"; - zipper_opts = (rpmIsVerbose() && !quietly) ? "-L" : "-Lq"; + zipper_opts = (rpmIsVerbose() && !quietly) ? "" : "-qq"; tarprog = NULL; break; default: From 222b98db0b5de8dbd77b4322e70cc705b2d7b633 Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Tue, 29 Sep 2009 09:20:07 +0400 Subject: [PATCH 2/7] 4.0.4-alt77.M40.25 - build/parsePrep.c (doUntar): Remove "-L" option from "unzip" invocation (Igor Vlasenko; closes: ALT#17407). --- rpm-4_0.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpm-4_0.spec b/rpm-4_0.spec index 0713d98..4a91e31 100644 --- a/rpm-4_0.spec +++ b/rpm-4_0.spec @@ -4,7 +4,7 @@ Name: %rpm_name Version: %rpm_version -Release: alt77.M40.24 +Release: alt77.M40.25 %define ifdef() %if %{expand:%%{?%{1}:1}%%{!?%{1}:0}} %define get_dep() %(rpm -q --qf '%%{NAME} >= %%|SERIAL?{%%{SERIAL}:}|%%{VERSION}-%%{RELEASE}' %1 2>/dev/null || echo '%1 >= unknown') @@ -510,6 +510,10 @@ fi %endif #with contrib %changelog +* Tue Sep 29 2009 Alexey Tourbin 4.0.4-alt77.M40.25 +- build/parsePrep.c (doUntar): Remove "-L" option from "unzip" invocation + (Igor Vlasenko; closes: ALT#17407). + * Sat Sep 26 2009 Alexey Tourbin 4.0.4-alt77.M40.24 - rpmio: Tweak lzma preset options for better compression. From 19e6de9d5edb5ed02b1d795fd99087cb3ca2dedf Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Thu, 24 Sep 2009 11:09:30 +0400 Subject: [PATCH 3/7] added support for .xz/.lzma compressed sources and patches This also fixes some bugs: - %uncompress macro never worked; - %patch -s -b .orig never worked. --- Makefile.am | 4 +- build/parsePrep.c | 175 +++++++++++++++++++++------------------------- configure.in | 27 +++---- macros.in | 24 +++---- rpm-4_0.spec | 14 ++-- rpmio/macro.c | 67 ++++++++++-------- rpmio/rpmmacro.h | 4 +- 7 files changed, 152 insertions(+), 163 deletions(-) diff --git a/Makefile.am b/Makefile.am index 61100e3..d951b22 100644 --- a/Makefile.am +++ b/Makefile.am @@ -239,9 +239,9 @@ doxygen @WITH_APIDOCS_TARGET@: Doxyfile - [ X"@__DOXYGEN@" != Xno ] && @__DOXYGEN@ ctags: - find . -type f -name "*.[ch]*" | xargs @CTAGS@ + find . -type f -name "*.[ch]*" | xargs ctags cscope: - @CSCOPE@ -b -R + cscope -b -R cref: ctags cscope diff --git a/build/parsePrep.c b/build/parsePrep.c index 262497e..12745be 100644 --- a/build/parsePrep.c +++ b/build/parsePrep.c @@ -71,13 +71,7 @@ static int checkOwners(const char * urlfn) fileSystem@*/ /*@modifies rpmGlobalMacroContext, fileSystem @*/ { - const char *fn, *urlfn, *patcher; - static char buf[BUFSIZ]; - char args[BUFSIZ]; struct Source *sp; - rpmCompressedMagic compressed = COMPRESSED_NOT; - int urltype; - for (sp = spec->sources; sp != NULL; sp = sp->next) { if ((sp->flags & RPMBUILD_ISPATCH) && (sp->num == c)) { break; @@ -88,33 +82,30 @@ static int checkOwners(const char * urlfn) return NULL; } - urlfn = rpmGetPath("%{_sourcedir}/", sp->source, NULL); + const char *urlfn = rpmGetPath("%{_sourcedir}/", sp->source, NULL); - args[0] = '\0'; + char args[BUFSIZ]; + sprintf(args, "-p%d", strip); if (silent) strcat(args, " -s"); if (db) { -#if HAVE_OLDPATCH_21 == 0 - strcat(args, "-b "); -#endif - strcat(args, "--suffix "); + strcat(args, " -b --suffix "); strcat(args, db); } - if (reverse) { + if (reverse) strcat(args, " -R"); - } - if (removeEmpties) { + if (removeEmpties) strcat(args, " -E"); - } + rpmCompressedMagic compressed = COMPRESSED_NOT; /* XXX On non-build parse's, file cannot be stat'd or read */ if (!spec->force && (isCompressed(urlfn, &compressed) || checkOwners(urlfn))) { urlfn = _free(urlfn); return NULL; } - fn = NULL; - urltype = urlPath(urlfn, &fn); + const char *fn = NULL; + int urltype = urlPath(urlfn, &fn); switch (urltype) { case URL_IS_HTTP: /* XXX WRONG WRONG WRONG */ case URL_IS_FTP: /* XXX WRONG WRONG WRONG */ @@ -127,40 +118,40 @@ static int checkOwners(const char * urlfn) /*@notreached@*/ break; } - patcher = rpmGetPath("%{__patch}", NULL); + const char *t; + const char *patcher = rpmGetPath("%{__patch}", NULL); + char cmd[BUFSIZ]; if (compressed != COMPRESSED_NOT) { - const char *zipper, *zipper_opts; - switch ( compressed ) - { - case COMPRESSED_BZIP2: - zipper = "%{_bzip2bin}"; - zipper_opts = "-dc"; - break; - case COMPRESSED_ZIP: - zipper = "%{_unzipbin}"; - zipper_opts = "-p"; - break; - default: - zipper = "%{_gzipbin}"; - zipper_opts = "-dc"; - break; + switch (compressed) { + default: /* XXX can't happen */ + case COMPRESSED_OTHER: + t = "%{__gzip} -dc"; + break; + case COMPRESSED_BZIP2: + t = "%{__bzip2} -dc"; + break; + case COMPRESSED_ZIP: + t = "%{__unzip} -qq -p"; + break; + case COMPRESSED_LZMA: + t = "%{__lzma} -dc"; + break; + case COMPRESSED_XZ: + t = "%{__xz} -dc"; + break; } - zipper = rpmGetPath( zipper, NULL ); - - snprintf(buf, sizeof(buf), - "echo \"Patch #%d (%s):\"\n" - "%s %s %s |%s -p%d %s\n", - c, /*@-unrecog@*/ (const char *) basename(fn), /*@=unrecog@*/ - zipper, zipper_opts, fn, patcher, strip, args); + const char *zipper = rpmGetPath(t, NULL); + sprintf(cmd, "%s '%s' | %s %s\n", zipper, fn, patcher, args); zipper = _free(zipper); } else { - snprintf(buf, sizeof(buf), - "echo \"Patch #%d (%s):\"\n" - "%s -p%d %s < %s", c, (const char *) basename(fn), - patcher, strip, args, fn); + sprintf(cmd, "%s %s < '%s'\n", patcher, args, fn); } - patcher = _free(patcher); + + static char buf[BUFSIZ]; + sprintf(buf, "echo 'Patch #%d (%s):'\n", c, basename(fn)); + strcat(buf, cmd); + urlfn = _free(urlfn); return buf; } @@ -177,12 +168,7 @@ static int checkOwners(const char * urlfn) fileSystem@*/ /*@modifies rpmGlobalMacroContext, fileSystem @*/ { - const char *fn, *urlfn; - static char buf[BUFSIZ]; struct Source *sp; - rpmCompressedMagic compressed = COMPRESSED_NOT; - int urltype; - for (sp = spec->sources; sp != NULL; sp = sp->next) { if ((sp->flags & RPMBUILD_ISSOURCE) && (sp->num == c)) { break; @@ -193,7 +179,7 @@ static int checkOwners(const char * urlfn) return NULL; } - urlfn = rpmGetPath("%{_sourcedir}/", sp->source, NULL); + const char *urlfn = rpmGetPath("%{_sourcedir}/", sp->source, NULL); #ifdef AUTOFETCH_NOT /* XXX don't expect this code to be enabled */ /* XXX @@ -215,14 +201,15 @@ static int checkOwners(const char * urlfn) } #endif + rpmCompressedMagic compressed = COMPRESSED_NOT; /* XXX On non-build parse's, file cannot be stat'd or read */ if (!spec->force && (isCompressed(urlfn, &compressed) || checkOwners(urlfn))) { urlfn = _free(urlfn); return NULL; } - fn = NULL; - urltype = urlPath(urlfn, &fn); + const char *fn = NULL; + int urltype = urlPath(urlfn, &fn); switch (urltype) { case URL_IS_HTTP: /* XXX WRONG WRONG WRONG */ case URL_IS_FTP: /* XXX WRONG WRONG WRONG */ @@ -235,49 +222,49 @@ static int checkOwners(const char * urlfn) /*@notreached@*/ break; } + const char *t; + if (rpmIsVerbose() && !quietly) + t = "%{__tar} -xvvf"; + else + t = "%{__tar} -xf"; + const char *tar = rpmGetPath(t, NULL); + char cmd[BUFSIZ]; if (compressed != COMPRESSED_NOT) { - /*@-internalglobs@*/ /* FIX: shrug */ - const char *taropts = (rpmIsVerbose() && !quietly) ? "-xvvf -" : "-xf -"; - /*@=internalglobs@*/ - const char *zipper, *zipper_opts, *tarprog = "%{__tar}"; - - switch ( compressed ) - { - case COMPRESSED_BZIP2: - zipper = "%{_bzip2bin}"; - zipper_opts = "-dc"; - break; - case COMPRESSED_ZIP: - zipper = "%{_unzipbin}"; - zipper_opts = (rpmIsVerbose() && !quietly) ? "" : "-qq"; - tarprog = NULL; - break; - default: - zipper = "%{_gzipbin}"; - zipper_opts = "-dc"; - break; + switch (compressed) { + default: /* XXX can't happen */ + case COMPRESSED_OTHER: + t = "%{__gzip} -dc"; + break; + case COMPRESSED_BZIP2: + t = "%{__bzip2} -dc"; + break; + case COMPRESSED_ZIP: + if (rpmIsVerbose() && !quietly) + t = "%{__unzip}"; + else + t = "%{__unzip} -qq"; + break; + case COMPRESSED_LZMA: + t = "%{__lzma} -dc"; + break; + case COMPRESSED_XZ: + t = "%{__xz} -dc"; + break; } - if ( tarprog ) - tarprog = rpmGetPath( tarprog, NULL ); - zipper = rpmGetPath( zipper, NULL ); - snprintf(buf, sizeof(buf), - "echo \"Source #%d (%s):\"\n" - "%s %s %s %s%s %s\n", - c, /*@-unrecog@*/ (const char *) basename(fn), /*@=unrecog@*/ - zipper, zipper_opts, fn, - (tarprog?"|":""), (tarprog?tarprog:""), (tarprog?taropts:"")); - zipper = _free( zipper ); - tarprog = _free( tarprog ); - } else { - const char *taropts = (rpmIsVerbose() && !quietly) ? "-xvvf" : "-xf"; - const char *tarprog = rpmGetPath( "%{__tar}", NULL ); - snprintf( buf, sizeof(buf), - "echo \"Source #%d (%s):\"\n" - "%s %s %s", - c, /*@-unrecog@*/ (const char *) basename(fn), /*@=unrecog@*/ - tarprog, taropts, fn ); - tarprog = _free( tarprog ); + const char *zipper = rpmGetPath(t, NULL); + if (compressed == COMPRESSED_ZIP) + sprintf(cmd, "%s '%s'\n", zipper, fn); + else + sprintf(cmd, "%s '%s' | %s -\n", zipper, fn, tar); + zipper = _free(zipper); + } else { + sprintf(cmd, "%s '%s'\n", tar, fn); } + tar = _free(tar); + + static char buf[BUFSIZ]; + sprintf(buf, "echo 'Source #%d (%s):'\n", c, basename(fn)); + strcat(buf, cmd); urlfn = _free(urlfn); return buf; diff --git a/configure.in b/configure.in index bf80bfe..76d257c 100644 --- a/configure.in +++ b/configure.in @@ -62,9 +62,6 @@ export RPMUSER RPMGROUP AC_SUBST(RPMUSER) AC_SUBST(RPMGROUP) -AC_PATH_PROG(CTAGS, ctags, /bin/true) -AC_PATH_PROG(CSCOPE, cscope, /bin/true) - dnl dnl This now uses libtool. Put dnl LDFLAGS_STATIC="-all" @@ -199,15 +196,20 @@ AC_PATH_PROG(__CHGRP, chgrp, /bin/chgrp, $MYPATH) AC_PATH_PROG(__CHMOD, chmod, /bin/chmod, $MYPATH) AC_PATH_PROG(__CHOWN, chown, /bin/chown, $MYPATH) AC_PATH_PROG(__CP, cp, /bin/cp, $MYPATH) -AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH) AC_PATH_PROG(__FILE, file, /usr/bin/file, $MYPATH) AC_PATH_PROG(__GPG, gpg, /usr/bin/gpg, $MYPATH) AC_PATH_PROG(__GREP, grep, /bin/grep, $MYPATH) -AC_PATH_PROG(GZIPBIN, gzip, /bin/gzip, $MYPATH) -AC_PATH_PROG(BZIP2BIN, bzip2, /bin/bzip2, $MYPATH) -AC_PATH_PROG(UNZIPBIN, unzip, /usr/bin/unzip, $MYPATH) AC_PATH_PROG(__SUBST, subst, /usr/bin/subst, $MYPATH) +dnl Archiving and compression programs +AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH) +AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH) +AC_PATH_PROG(__GZIP, gzip, /bin/gzip, $MYPATH) +AC_PATH_PROG(__BZIP2, bzip2, /bin/bzip2, $MYPATH) +AC_PATH_PROG(__UNZIP, unzip, /usr/bin/unzip, $MYPATH) +AC_PATH_PROG(__LZMA, lzms, /usr/bin/lzma, $MYPATH) +AC_PATH_PROG(__XZ, xz, /usr/bin/xz, $MYPATH) + AC_PATH_PROG(__ID, id, /usr/bin/id, $MYPATH) AC_MSG_CHECKING(checking whether id supports -u) if ${__ID} -u 2>&1 > /dev/null ; then @@ -226,16 +228,6 @@ AC_PATH_PROG(__MAKE, make, /usr/bin/make, $MYPATH) AC_PATH_PROG(__MKDIR, mkdir, /bin/mkdir, $MYPATH) AC_PATH_PROG(__MV, mv, /bin/mv, $MYPATH) AC_PATH_PROG(__PATCH, patch, /usr/bin/patch, $MYPATH) -AC_MSG_CHECKING(old version of patch) - PATCHVERSION=`patch --version 2>&1` - - if test "$PATCHVERSION" = "Patch version 2.1"; then - AC_DEFINE(HAVE_OLDPATCH_21, 1, - [Define if the patch call you'll be using is 2.1 or older]) - AC_MSG_RESULT(patch older then 2.2 found) - else - AC_MSG_RESULT(patch later then 2.2 found) - fi AC_PATH_PROG(__PERL, perl, /usr/bin/perl, $MYPATH) AC_PATH_PROG(PGPBIN, pgp, /usr/bin/pgp, $MYPATH) @@ -244,7 +236,6 @@ AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH) AC_PATH_PROG(__RSH, rsh, /usr/bin/rsh, $MYPATH) AC_PATH_PROG(__SED, sed, /bin/sed, $MYPATH) AC_PATH_PROG(__SSH, ssh, /usr/bin/ssh, $MYPATH) -AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH) AC_PATH_PROG(__LD, ld, /usr/bin/ld, $MYPATH) AC_PATH_PROG(__NM, nm, /usr/bin/nm, $MYPATH) diff --git a/macros.in b/macros.in index 7b907e4..96f75b6 100644 --- a/macros.in +++ b/macros.in @@ -33,17 +33,14 @@ # ---- Generally useful path macros. # %__awk @AWK@ -%__bzip2 @BZIP2BIN@ %__cat @__CAT@ %__chgrp @__CHGRP@ %__chmod @__CHMOD@ %__chown @__CHOWN@ %__cp @__CP@ -%__cpio @__CPIO@ %__file @__FILE@ %__gpg @__GPG@ %__grep @__GREP@ -%__gzip @GZIPBIN@ %__id @__ID@ %__install @__INSTALL@ %__install_info @__INSTALL_INFO@ @@ -61,8 +58,18 @@ %__sed @__SED@ %__ssh @__SSH@ %__subst @__SUBST@ + +#============================================================================== +# ---- Archiving and compression programs. +# +# %__tar @__TAR@ -%__unzip @UNZIPBIN@ +%__cpio @__CPIO@ +%__gzip @__GZIP@ +%__bzip2 @__BZIP2@ +%__unzip @__UNZIP@ +%__lzma @__LZMA@ +%__xz @__XZ@ #============================================================================== # ---- Build system path macros. @@ -99,9 +106,6 @@ # The interpreter used for build scriptlets. %_buildshell /bin/sh -# The path to the bzip2 executable (legacy, use %{__bzip2} instead). -%_bzip2bin %{__bzip2} - # The location of the rpm database file(s). %_dbpath %{_var}/lib/rpm @@ -129,9 +133,6 @@ #%_fixperms %{__chmod} -Rf @FIXPERMS@ # -# The path to the gzip executable (legacy, use %{__gzip} instead). -%_gzipbin %{__gzip} - # The number of changelog entries kept when installing (legacy, unused in # rpm-4.0.1 and later). %_instchangelog 5 @@ -169,9 +170,6 @@ # Path to top of spec/source/patch area. %_topsrcdir %{_topdir} -# The path to the unzip executable (legacy, use %{__unzip} instead). -%_unzipbin %{__unzip} - #============================================================================== # ---- Optional rpmrc macros. # Macros that are initialized as a side effect of rpmrc and/or spec diff --git a/rpm-4_0.spec b/rpm-4_0.spec index 4a91e31..8c0ba25 100644 --- a/rpm-4_0.spec +++ b/rpm-4_0.spec @@ -223,13 +223,13 @@ touch config.rpath gettextize --force --quiet install -pv -m644 /usr/share/gettext/intl/Makevars* po/Makevars autoreconf -fisv -I m4 -export \ - ac_cv_path_CTAGS=/usr/bin/ctags \ - ac_cv_path_UNZIPBIN=/usr/bin/unzip \ - ac_cv_path___CPIO=/bin/cpio \ - ac_cv_path___GPG=/usr/bin/gpg \ - ac_cv_path___SSH=/usr/bin/ssh \ - # +# avoid extra build dependencies +export ac_cv_path___CPIO=/bin/cpio +export ac_cv_path___UNZIP=/usr/bin/unzip +export ac_cv_path___LZMA=/usr/bin/lzma +export ac_cv_path___XZ=/usr/bin/xz +export ac_cv_path___GPG=/usr/bin/gpg +export ac_cv_path___SSH=/usr/bin/ssh %configure \ %{?_with_python} %{?_without_python} \ %{?_with_apidocs} %{?_without_apidocs} \ diff --git a/rpmio/macro.c b/rpmio/macro.c index 832e19a..0ce2f46 100644 --- a/rpmio/macro.c +++ b/rpmio/macro.c @@ -1092,17 +1092,23 @@ doFoo(MacroBuf mb, int negate, const char * f, size_t fn, #endif switch(compressed) { default: - case 0: /* COMPRESSED_NOT */ - sprintf(be, "%%_cat %s", b); + case COMPRESSED_NOT: + sprintf(be, "%%__cat '%s'", b); break; - case 1: /* COMPRESSED_OTHER */ - sprintf(be, "%%_gzip -dc %s", b); + case COMPRESSED_OTHER: + sprintf(be, "%%__gzip -dc '%s'", b); break; - case 2: /* COMPRESSED_BZIP2 */ - sprintf(be, "%%_bzip2 %s", b); + case COMPRESSED_BZIP2: + sprintf(be, "%%__bzip2 -dc '%s'", b); break; - case 3: /* COMPRESSED_ZIP */ - sprintf(be, "%%_unzip %s", b); + case COMPRESSED_ZIP: + sprintf(be, "%%__unzip -qq -p '%s'", b); + break; + case COMPRESSED_LZMA: + sprintf(be, "%%__lzma -dc '%s'", b); + break; + case COMPRESSED_XZ: + sprintf(be, "%%__xz -dc '%s'", b); break; } b = be; @@ -1766,26 +1772,24 @@ rpmFreeMacros(MacroContext mc) /* =============================================================== */ int isCompressed(const char * file, rpmCompressedMagic * compressed) { - FD_t fd; - ssize_t nb; - int rc = -1; - unsigned char magic[4]; - *compressed = COMPRESSED_NOT; - fd = Fopen(file, "r.ufdio"); + FD_t fd = Fopen(file, "r.ufdio"); if (fd == NULL || Ferror(fd)) { /* XXX Fstrerror */ rpmError(RPMERR_BADSPEC, _("File %s: %s\n"), file, Fstrerror(fd)); if (fd) (void) Fclose(fd); return 1; } - nb = Fread(magic, sizeof(magic[0]), sizeof(magic), fd); + + int rc = -1; + unsigned char magic[8]; + ssize_t nb = Fread(magic, sizeof(magic[0]), sizeof(magic), fd); if (nb < 0) { rpmError(RPMERR_BADSPEC, _("File %s: %s\n"), file, Fstrerror(fd)); rc = 1; } else if (nb < sizeof(magic)) { - rpmError(RPMERR_BADSPEC, _("File %s is smaller than %u bytes\n"), + rpmMessage(RPMMESS_WARNING, _("File %s is smaller than %u bytes\n"), file, (unsigned)sizeof(magic)); rc = 0; } @@ -1793,18 +1797,25 @@ int isCompressed(const char * file, rpmCompressedMagic * compressed) if (rc >= 0) return rc; - if ((magic[0] == 'B') && (magic[1] == 'Z')) { - *compressed = COMPRESSED_BZIP2; - } else if ((magic[0] == 0120) && (magic[1] == 0113) && - (magic[2] == 0003) && (magic[3] == 0004)) { /* pkzip */ - *compressed = COMPRESSED_ZIP; - } else if (((magic[0] == 0037) && (magic[1] == 0213)) || /* gzip */ - ((magic[0] == 0037) && (magic[1] == 0236)) || /* old gzip */ - ((magic[0] == 0037) && (magic[1] == 0036)) || /* pack */ - ((magic[0] == 0037) && (magic[1] == 0240)) || /* SCO lzh */ - ((magic[0] == 0037) && (magic[1] == 0235)) /* compress */ - ) { - *compressed = COMPRESSED_OTHER; +#define BT(s,t) \ + if (memcmp(s,magic,sizeof(s)-1)==0) \ + { *compressed = COMPRESSED_##t; return 0; } + BT("BZh", BZIP2); + BT("PK\003\004", ZIP); + BT("\037\213", OTHER); // gizp + BT("\037\236", OTHER); // old gzip + BT("\037\036", OTHER); // pack + BT("\037\240", OTHER); // SCO lzh + BT("\037\235", OTHER); // compress + BT("\3757zXZ\0", XZ); +#undef BT + + /* LZMA has no magic */ + if (magic[0] < 0xE1 && magic[1] == 0) { + const char *ext = strrchr(file, '.'); + if (ext) + if (strcmp(ext, ".lzma") == 0 || strcmp(ext, ".tlz") == 0) + *compressed = COMPRESSED_LZMA; } return 0; diff --git a/rpmio/rpmmacro.h b/rpmio/rpmmacro.h index e7f20aa..c2390a8 100644 --- a/rpmio/rpmmacro.h +++ b/rpmio/rpmmacro.h @@ -152,7 +152,9 @@ typedef enum rpmCompressedMagic_e { COMPRESSED_NOT = 0, /*!< not compressed */ COMPRESSED_OTHER = 1, /*!< gzip can handle */ COMPRESSED_BZIP2 = 2, /*!< bzip2 can handle */ - COMPRESSED_ZIP = 3 /*!< unzip can handle */ + COMPRESSED_ZIP = 3, /*!< unzip can handle */ + COMPRESSED_LZMA = 4, /*!< lzma can handle */ + COMPRESSED_XZ = 5 /*!< xz can handle */ } rpmCompressedMagic; /** From 6795a36bb148440b728824cbfac395bbca22d9b0 Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Tue, 29 Sep 2009 14:31:40 +0400 Subject: [PATCH 4/7] great removal --- .cvsignore | 34 - ABOUT-NLS | 226 -- Makefile.am | 14 +- README.amiga | 56 - RPM-GPG-KEY | 34 - RPM-PGP-KEY | 49 - autodeps/aix.prov | 78 - autodeps/aix.req | 171 - autodeps/aix4.prov | 189 -- autodeps/aix4.req | 99 - autodeps/amigaos.prov | 3 - autodeps/amigaos.req | 3 - autodeps/freebsd.prov | 9 - autodeps/freebsd.req | 22 - autodeps/freebsdelf.prov | 9 - autodeps/freebsdelf.req | 46 - autodeps/hpux.prov | 174 - autodeps/hpux.req | 125 - autodeps/irix6.prov | 200 -- autodeps/irix6.req | 163 - autodeps/mint.prov | 5 - autodeps/mint.req | 5 - autodeps/none | 3 - autodeps/openbsd.prov | 9 - autodeps/openbsd.req | 22 - autodeps/osf.prov | 187 -- autodeps/osf.req | 141 - autodeps/solaris.prov | 14 - autodeps/solaris.req | 16 - build/.cvsignore | 7 - config.site | 133 - configure.in | 66 +- doc/.cvsignore | 2 - doc/ja/.cvsignore | 2 - doc/manual/.cvsignore | 2 - doc/pl/.cvsignore | 2 - doc/ru/.cvsignore | 2 - doc/sk/.cvsignore | 2 - install-sh | 238 -- lib/.cvsignore | 9 - missing | 336 -- mkinstalldirs | 39 - po/.cvsignore | 7 - po/Makefile.in.in | 260 -- python/.cvsignore | 7 - rpm-4_0.spec | 38 +- rpm.magic | 21 - rpmdb/.cvsignore | 9 - rpmio/.cvsignore | 11 - rpmio/Makefile.am | 4 +- rpmio/dumpasn1.c | 1936 ----------- rpmio/dumpasn1.cfg | 4973 ----------------------------- scripts/.cvsignore | 3 - scripts/Makefile.am | 32 +- scripts/Specfile.pm | 193 -- scripts/convertrpmrc.sh | 115 - scripts/cpanflute | 173 - scripts/cpanflute2 | 160 - scripts/cross-build | 17 - scripts/find-prov.pl | 223 -- scripts/find-provides.perl | 4 - scripts/find-req.pl | 211 -- scripts/find-requires.perl | 4 - scripts/get_magic.pl | 115 - scripts/getpo.sh | 40 - scripts/http.req | 165 - scripts/javadeps.c | 1217 ------- scripts/magic.prov | 167 - scripts/magic.req | 143 - scripts/perl.prov | 119 - scripts/perl.req | 366 --- scripts/rpm.daily | 5 - scripts/rpm.log | 5 - scripts/rpm.xinetd | 16 - scripts/rpmdiff | 903 ------ scripts/rpmdiff.cgi | 590 ---- scripts/sql.prov | 115 - scripts/sql.req | 108 - scripts/tcl.req | 98 - scripts/trpm | 265 -- scripts/u_pkg.sh | 84 - scripts/vpkg-provides.sh | 398 --- scripts/vpkg-provides2.sh | 120 - tests/.cvsignore | 7 - tests/Makefile.am | 21 - tests/hello-test/.cvsignore | 3 - tests/hello-test/Makefile.am | 22 - tests/hello-test/ba | 16 - tests/hello-test/ba.exp | 52 - tests/hello-test/ckC | 5 - tests/hello-test/ckC.exp | 3 - tests/hello-test/ckH | 5 - tests/hello-test/ckH.exp | 143 - tests/hello-test/ckL | 5 - tests/hello-test/ckL.exp | 7 - tests/hello-test/ckS | 5 - tests/hello-test/ckS.exp | 8 - tests/hello-test/e | 11 - tests/hello-test/e.exp | 20 - tests/hello-test/hello-1.0.tar.gz | Bin 890 -> 0 bytes tests/hello-test/i | 15 - tests/hello-test/i.exp | 28 - tests/hello-test/initdb | 10 - tests/hello-test/qi | 10 - tests/hello-test/qi.exp | 18 - tests/hello-test/querytags | 10 - tests/hello-test/querytags.exp | 86 - tests/hello-test/showrc | 11 - tests/hello-test/showrc.exp | 44 - tests/hello-test/test0.exp | 51 - tests/macros.in | 186 -- tests/rpmrc.in | 3 - tools/.cvsignore | 14 - tools/Makefile.am | 3 - 114 files changed, 26 insertions(+), 17182 deletions(-) delete mode 100644 .cvsignore delete mode 100644 ABOUT-NLS delete mode 100644 README.amiga delete mode 100644 RPM-GPG-KEY delete mode 100644 RPM-PGP-KEY delete mode 100644 autodeps/aix.prov delete mode 100755 autodeps/aix.req delete mode 100644 autodeps/aix4.prov delete mode 100644 autodeps/aix4.req delete mode 100644 autodeps/amigaos.prov delete mode 100644 autodeps/amigaos.req delete mode 100644 autodeps/freebsd.prov delete mode 100644 autodeps/freebsd.req delete mode 100644 autodeps/freebsdelf.prov delete mode 100644 autodeps/freebsdelf.req delete mode 100644 autodeps/hpux.prov delete mode 100644 autodeps/hpux.req delete mode 100644 autodeps/irix6.prov delete mode 100644 autodeps/irix6.req delete mode 100644 autodeps/mint.prov delete mode 100644 autodeps/mint.req delete mode 100644 autodeps/none delete mode 100644 autodeps/openbsd.prov delete mode 100644 autodeps/openbsd.req delete mode 100644 autodeps/osf.prov delete mode 100644 autodeps/osf.req delete mode 100644 autodeps/solaris.prov delete mode 100644 autodeps/solaris.req delete mode 100644 build/.cvsignore delete mode 100644 config.site delete mode 100644 doc/.cvsignore delete mode 100644 doc/ja/.cvsignore delete mode 100644 doc/manual/.cvsignore delete mode 100644 doc/pl/.cvsignore delete mode 100644 doc/ru/.cvsignore delete mode 100644 doc/sk/.cvsignore delete mode 100755 install-sh delete mode 100644 lib/.cvsignore delete mode 100755 missing delete mode 100755 mkinstalldirs delete mode 100644 po/.cvsignore delete mode 100644 po/Makefile.in.in delete mode 100644 python/.cvsignore delete mode 100644 rpm.magic delete mode 100644 rpmdb/.cvsignore delete mode 100644 rpmio/.cvsignore delete mode 100644 rpmio/dumpasn1.c delete mode 100644 rpmio/dumpasn1.cfg delete mode 100644 scripts/.cvsignore delete mode 100644 scripts/Specfile.pm delete mode 100644 scripts/convertrpmrc.sh delete mode 100755 scripts/cpanflute delete mode 100755 scripts/cpanflute2 delete mode 100644 scripts/cross-build delete mode 100755 scripts/find-prov.pl delete mode 100755 scripts/find-provides.perl delete mode 100755 scripts/find-req.pl delete mode 100755 scripts/find-requires.perl delete mode 100755 scripts/get_magic.pl delete mode 100755 scripts/getpo.sh delete mode 100755 scripts/http.req delete mode 100755 scripts/javadeps.c delete mode 100755 scripts/magic.prov delete mode 100755 scripts/magic.req delete mode 100755 scripts/perl.prov delete mode 100755 scripts/perl.req delete mode 100755 scripts/rpm.daily delete mode 100644 scripts/rpm.log delete mode 100644 scripts/rpm.xinetd delete mode 100644 scripts/rpmdiff delete mode 100644 scripts/rpmdiff.cgi delete mode 100755 scripts/sql.prov delete mode 100755 scripts/sql.req delete mode 100644 scripts/tcl.req delete mode 100755 scripts/trpm delete mode 100755 scripts/u_pkg.sh delete mode 100755 scripts/vpkg-provides.sh delete mode 100755 scripts/vpkg-provides2.sh delete mode 100644 tests/.cvsignore delete mode 100644 tests/Makefile.am delete mode 100644 tests/hello-test/.cvsignore delete mode 100644 tests/hello-test/Makefile.am delete mode 100755 tests/hello-test/ba delete mode 100644 tests/hello-test/ba.exp delete mode 100755 tests/hello-test/ckC delete mode 100644 tests/hello-test/ckC.exp delete mode 100755 tests/hello-test/ckH delete mode 100644 tests/hello-test/ckH.exp delete mode 100755 tests/hello-test/ckL delete mode 100644 tests/hello-test/ckL.exp delete mode 100755 tests/hello-test/ckS delete mode 100644 tests/hello-test/ckS.exp delete mode 100755 tests/hello-test/e delete mode 100644 tests/hello-test/e.exp delete mode 100644 tests/hello-test/hello-1.0.tar.gz delete mode 100755 tests/hello-test/i delete mode 100644 tests/hello-test/i.exp delete mode 100755 tests/hello-test/initdb delete mode 100755 tests/hello-test/qi delete mode 100644 tests/hello-test/qi.exp delete mode 100755 tests/hello-test/querytags delete mode 100644 tests/hello-test/querytags.exp delete mode 100755 tests/hello-test/showrc delete mode 100644 tests/hello-test/showrc.exp delete mode 100644 tests/hello-test/test0.exp delete mode 100644 tests/macros.in delete mode 100644 tests/rpmrc.in delete mode 100644 tools/.cvsignore diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 721a798..0000000 --- a/.cvsignore +++ /dev/null @@ -1,34 +0,0 @@ -.deps -.depend -.depend-done -.libs -Doxyfile -Makefile -Makefile.in -apidocs -config.cache -config.guess -config.h -config.h.in -config.log -config.status -config.sub -configure -doxygen -find-requires -find-provides -lib-rpmrc -libtool -ltconfig -ltmain.sh -macros -platform -rpm -rpm[a-z] -rpm2cpio -rpmconvert -rpmpopt -rpmrc -stamp-h -stamp-h.in -rpm-*.tar.gz diff --git a/ABOUT-NLS b/ABOUT-NLS deleted file mode 100644 index 28d38c7..0000000 --- a/ABOUT-NLS +++ /dev/null @@ -1,226 +0,0 @@ -Notes on the Free Translation Project -************************************* - - Free software is going international! The Free Translation Project -is a way to get maintainers of free software, translators, and users all -together, so that will gradually become able to speak many languages. -A few packages already provide translations for their messages. - - If you found this `ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU `gettext' internally, -itself available at your nearest GNU archive site. But you do *not* -need to install GNU `gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work at translations should contact the appropriate team. - - When reporting bugs in the `intl/' directory or bugs which may be -related to internationalization, you should tell about the version of -`gettext' which is used. The information can be found in the -`intl/VERSION' file, in internationalized packages. - -One advise in advance -===================== - - If you want to exploit the full power of internationalization, you -should configure it using - - ./configure --with-included-gettext - -to force usage of internationalizing routines provided within this -package, despite the existence of internationalizing capabilities in the -operating system where this package is being installed. So far, only -the `gettext' implementation in the GNU C library version 2 provides as -many features (such as locale alias or message inheritance) as the -implementation here. It is also not possible to offer this additional -functionality on top of a `catgets' implementation. Future versions of -GNU `gettext' will very likely convey even more functionality. So it -might be a good idea to change to GNU `gettext' as soon as possible. - - So you need not provide this option if you are using GNU libc 2 or -you have installed a recent copy of the GNU gettext package with the -included `libintl'. - -INSTALL Matters -=============== - - Some packages are "localizable" when properly installed; the -programs they contain can be made to speak your own native language. -Most such packages use GNU `gettext'. Other packages have their own -ways to internationalization, predating GNU `gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system provides -usable `catgets' (if using this is selected by the installer) or -`gettext' functions. If neither is available, the GNU `gettext' own -library will be used. This library is wholly contained within this -package, usually in the `intl/' subdirectory, so prior installation of -the GNU `gettext' package is *not* required. Installers may use -special options at configuration time for changing the default -behaviour. The commands: - - ./configure --with-included-gettext - ./configure --with-catgets - ./configure --disable-nls - -will respectively bypass any pre-existing `catgets' or `gettext' to use -the internationalizing routines provided within this package, enable -the use of the `catgets' functions (if found on the locale system), or -else, *totally* disable translation of messages. - - When you already have GNU `gettext' installed on your system and run -configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl.a' file and -will decide to use this. This might be not what is desirable. You -should use the more recent version of the GNU `gettext' library. I.e. -if the file `intl/VERSION' shows that the library which comes with this -package is more recent, you should use - - ./configure --with-included-gettext - -to prevent auto-detection. - - By default the configuration process will not test for the `catgets' -function and therefore they will not be used. The reasons are already -given above: the emulation on top of `catgets' cannot provide all the -extensions provided by the GNU `gettext' library. If you nevertheless -want to use the `catgets' functions use - - ./configure --with-catgets - -to enable the test for `catgets' (this causes no harm if `catgets' is -not available on your system). If you really select this option we -would like to hear about the reasons because we cannot think of any -good one ourself. - - Internationalized packages have usually many `po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at `configure' time by using the -`--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable `LINGUAS' -may be set, prior to configuration, to limit the installed set. -`LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -Using This Package -================== - - As a user, if your language has been installed for this package, you -only have to set the `LANG' environment variable to the appropriate -ISO 639 `LL' two-letter code prior to using the programs in the -package. For example, let's suppose that you speak German. At the -shell prompt, merely execute `setenv LANG de' (in `csh'), -`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This -can be done from your `.login' or `.profile' file, once and for all. - - An operating system might already offer message localization for -many of its programs, while other programs have been installed locally -with the full capabilities of GNU `gettext'. Just using `gettext' -extended syntax for `LANG' would break proper localization of already -available operating system programs. In this case, users should set -both `LANGUAGE' and `LANG' variables in their environment, as programs -using GNU `gettext' give preference to `LANGUAGE'. For example, some -Swedish users would rather read translations in German than English for -when Swedish is not available. This is easily accomplished by setting -`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'. - -Translating Teams -================= - - For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list, courtesy of Linux -International. You may reach your translation team at the address -`LL@li.org', replacing LL by the two-letter ISO 639 code for your -language. Language codes are *not* the same as the country codes given -in ISO 3166. The following translation teams exist, as of December -1997: - - Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en', - Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian - `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja', - Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish - `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es', - Swedish `sv', and Turkish `tr'. - -For example, you may reach the Chinese translation team by writing to -`zh@li.org'. - - If you'd like to volunteer to *work* at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is *not* the same as the list itself, it has -`-request' appended. For example, speakers of Swedish can send a -message to `sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate -*actively* in translations, or at solving translational difficulties, -rather than merely lurking around. If your team does not exist yet and -you want to start one, or if you are unsure about what to do or how to -get started, please write to `translation@iro.umontreal.ca' to reach the -coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skill are praised more than -programming skill, here. - -Available Packages -================== - - Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of December -1997. The matrix shows, in regard of each package, for which languages -PO files have been submitted to translation coordination. - - Ready PO files cs da de en es fi fr it ja ko nl no pl pt ru sl sv - .----------------------------------------------------. - bash | [] [] [] | 3 - bison | [] [] [] | 3 - clisp | [] [] [] [] | 4 - cpio | [] [] [] [] [] [] | 6 - diffutils | [] [] [] [] [] | 5 - enscript | [] [] [] [] [] [] | 6 - fileutils | [] [] [] [] [] [] [] [] [] [] | 10 - findutils | [] [] [] [] [] [] [] [] [] | 9 - flex | [] [] [] [] | 4 - gcal | [] [] [] [] [] | 5 - gettext | [] [] [] [] [] [] [] [] [] [] [] | 12 - grep | [] [] [] [] [] [] [] [] [] [] | 10 - hello | [] [] [] [] [] [] [] [] [] [] [] | 11 - id-utils | [] [] [] | 3 - indent | [] [] [] [] [] | 5 - libc | [] [] [] [] [] [] [] | 7 - m4 | [] [] [] [] [] [] | 6 - make | [] [] [] [] [] [] | 6 - music | [] [] | 2 - ptx | [] [] [] [] [] [] [] [] | 8 - recode | [] [] [] [] [] [] [] [] [] | 9 - sh-utils | [] [] [] [] [] [] [] [] | 8 - sharutils | [] [] [] [] [] [] | 6 - tar | [] [] [] [] [] [] [] [] [] [] [] | 11 - texinfo | [] [] [] | 3 - textutils | [] [] [] [] [] [] [] [] [] | 9 - wdiff | [] [] [] [] [] [] [] [] | 8 - `----------------------------------------------------' - 17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv - 27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and -distributed as such by its maintainer. There might be an observable -lag between the mere existence a PO file and its wide availability in a -distribution. - - If December 1997 seems to be old, you may fetch a more recent copy -of this `ABOUT-NLS' file on most GNU archive sites. - diff --git a/Makefile.am b/Makefile.am index d951b22..c76c1c2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,14 +2,13 @@ AUTOMAKE_OPTIONS = 1.4 foreign -EXTRA_DIST = CHANGES CREDITS Doxyheader GROUPS README.amiga INSTALL \ - RPM-GPG-KEY RPM-PGP-KEY \ - autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \ - config.site gendiff installplatform platform* \ +EXTRA_DIST = CHANGES CREDITS Doxyheader GROUPS INSTALL \ + autodeps/*.prov autodeps/*.req \ + gendiff installplatform platform* \ po/*.in po/*.po po/rpm.pot \ - rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c + rpmpopt-$(VERSION) rpmqv.c -SUBDIRS = po rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ tools scripts tests doc . +SUBDIRS = po rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ tools scripts doc . INCLUDES = \ -I$(top_srcdir)/build \ @@ -32,8 +31,7 @@ bin_SCRIPTS = gendiff pkglibdir = @RPMCONFIGDIR@ pkglib_PROGRAMS = rpmb rpmd rpmi rpmk rpmq pkglib_DATA = rpmrc rpmpopt-$(VERSION) macros -pkglib_SCRIPTS = find-provides find-requires mkinstalldirs \ - config.guess config.sub config.site +pkglib_SCRIPTS = find-provides find-requires rpmpopt-$(VERSION): rpmpopt cp rpmpopt $@ diff --git a/README.amiga b/README.amiga deleted file mode 100644 index 11b66e9..0000000 --- a/README.amiga +++ /dev/null @@ -1,56 +0,0 @@ -This is the readme for RPM version 2.2.9, written by - - -1 Requirements. - -First make sure you have at least IXEmul v45.0 installed. -These packages are needed to be able to compile rpm: - * gettext - * gdbm - * zlib - -These extra packages are needed to run rpm: - * cpio - -2 Installation. - -These are the things you'll have to do to install this package. - - * cd - * tar -xzvf rpm-2.2.9-src.tar.gz - * cd rpm-2.2.9 - * configure --prefix=/gg - * make - * make install - -Now it's time to edit the file "gg:lib/rpmrc" to correspond to your -system setup. Change the following entry: - * topdir: /place/to/store/RPM/packages -Make sure points to a _harddisk_ directory (the ram disk doesn't -allow the use of softlinks): - * tmppath: /place/on/your/hard/disk -Add the following entry: - * builddir: /place/where/RPM/will/build/packages - -It is recommended to let and point to two different -partitions. - -Now create the following directories in : - * RPMS - * RPMS/m68k - * SOURCES - * SRPMS - * SPECS - -Create the "rpm" directory in "gg:lib". - makedir gg:lib/rpm - -Now it's time to initialise the rpm database with: - rpm --initdb - -3 Problems and bugs. - -Please contact me if you experience -any problems with or find bugs in this package. - -Please remember: "A bug not know of is a bug not fixed". diff --git a/RPM-GPG-KEY b/RPM-GPG-KEY deleted file mode 100644 index 075b958..0000000 --- a/RPM-GPG-KEY +++ /dev/null @@ -1,34 +0,0 @@ -The following public key can be used to verify RPM packages built and -signed by Red Hat Software using `rpm -K' using the GNU GPG package. -Questions about this key should be sent to security@redhat.com. - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.0.0 (GNU/Linux) -Comment: For info see http://www.gnupg.org - -mQGiBDfqVDgRBADBKr3Bl6PO8BQ0H8sJoD6p9U7Yyl7pjtZqioviPwXP+DCWd4u8 -HQzcxAZ57m8ssA1LK1Fx93coJhDzM130+p5BG9mYSWShLabR3N1KXdXQYYcowTOM -GxdwYRGr1Spw8QydLhjVfU1VSl4xt6bupPbWJbyjkg5Z3P7BlUOUJmrx3wCgobNV -EDGaWYJcch5z5B1of/41G8kEAKii6q7Gu/vhXXnLS6m15oNnPVybyngiw/23dKjS -ZVG7rKANEK2mxg1VB+vc/uUc4k49UxJJfCZg1gu1sPFV3GSa+Y/7jsiLktQvCiLP -lncQt1dV+ENmHR5BdIDPWDzKBVbgWnSDnqQ6KrZ7T6AlZ74VMpjGxxkWU6vV2xsW -XCLPA/9P/vtImA8CZN3jxGgtK5GGtDNJ/cMhhuv5tnfwFg4b/VGo2Jr8mhLUqoIb -E6zeGAmZbUpdckDco8D5fiFmqTf5+++pCEpJLJkkzel/32N2w4qzPrcRMCiBURES -PjCLd4Y5rPoU8E4kOHc/4BuHN903tiCsCPloCrWsQZ7UdxfQ5LQiUmVkIEhhdCwg -SW5jIDxzZWN1cml0eUByZWRoYXQuY29tPohVBBMRAgAVBQI36lQ4AwsKAwMVAwID -FgIBAheAAAoJECGRgM3bQqYOsBQAnRVtg7B25Hm11PHcpa8FpeddKiq2AJ9aO8sB -XmLDmPOEFI75mpTrKYHF6rkCDQQ36lRyEAgAokgI2xJ+3bZsk8jRA8ORIX8DH05U -lMH27qFYzLbT6npXwXYIOtVn0K2/iMDj+oEB1Aa2au4OnddYaLWp06v3d+XyS0t+ -5ab2ZfIQzdh7wCwxqRkzR+/H5TLYbMG+hvtTdylfqIX0WEfoOXMtWEGSVwyUsnM3 -Jy3LOi48rQQSCKtCAUdV20FoIGWhwnb/gHU1BnmES6UdQujFBE6EANqPhp0coYoI -hHJ2oIO8ujQItvvNaU88j/s/izQv5e7MXOgVSjKe/WX3s2JtB/tW7utpy12wh1J+ -JsFdbLV/t8CozUTpJgx5mVA3RKlxjTA+On+1IEUWioB+iVfT7Ov/0kcAzwADBQf9 -E4SKCWRand8K0XloMYgmipxMhJNnWDMLkokvbMNTUoNpSfRoQJ9EheXDxwMpTPwK -ti/PYrrL2J11P2ed0x7zm8v3gLrY0cue1iSba+8glY+p31ZPOr5ogaJw7ZARgoS8 -BwjyRymXQp+8Dete0TELKOL2/itDOPGHW07SsVWOR6cmX4VlRRcWB5KejaNvdrE5 -4XFtOd04NMgWI63uqZc4zkRa+kwEZtmbz3tHSdRCCE+Y7YVP6IUf/w6YPQFQriWY -FiA6fD10eB+BlIUqIw80VgjsBKmCwvKkn4jg8kibXgj4/TzQSx77uYokw1EqQ2wk -OZoaEtcubsNMquuLCMWijYhGBBgRAgAGBQI36lRyAAoJECGRgM3bQqYOhyYAnj7h -VDY/FJAGqmtZpwVp9IlitW5tAJ4xQApr/jNFZCTksnI+4O1765F7tA== -=3AHZ ------END PGP PUBLIC KEY BLOCK----- diff --git a/RPM-PGP-KEY b/RPM-PGP-KEY deleted file mode 100644 index 8b01038..0000000 --- a/RPM-PGP-KEY +++ /dev/null @@ -1,49 +0,0 @@ -The following public key can be used to verify RPM packages built and -signed by Red Hat Software using `rpm -K'. If anyone cares to sign -this key, please send the signed key to security@redhat.com. - -Type bits/keyID Date User ID -pub 1024/CBA29BF9 1996/02/20 Red Hat Software, Inc. - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAzEpXjUAAAEEAKG4/V9oUSiDc9wIge6Bmg6erDGCLzmFyioAho8kDIJSrcmi -F9qTdPq+fj726pgW1iSb0Y7syZn9Y2lgQm5HkPODfNi8eWyTFSxbr8ygosLRClTP -xqHVhtInGrfZNLoSpv1LdWOme0yOpOQJnghdOMzKXpgf5g84vaUg6PHLopv5AAUR -tCpSZWQgSGF0IFNvZnR3YXJlLCBJbmMuIDxyZWRoYXRAcmVkaGF0LmNvbT6JAJUD -BRAyA5tUoyDApfg4JKEBAUzSA/9QdcVsu955vVyZDk8uvOXWV0X3voT9B3aYMFvj -UNHUD6F1VFruwQHVKbGJEq1o5MOA6OXKR3vJZStXEMF47TWXJfQaflgl8ywZTH5W -+eMlKau6Nr0labUV3lmsAE4Vsgu8NCkzIrp2wNVbeW2ZAXtrKswV+refLquUhp7l -wMpH9IkAdQMFEDGttkRNdXhbO1TgGQEBAGoC/j6C22PqXIyqZc6fG6J6Jl/T5kFG -xH1pKIzua5WCDDugAgnuOJgywa4pegT4UqwEZiMTAlwT6dmG1CXgKB+5V7lnCjDc -JZLni0iztoe08ig6fJrjNGXljf7KYXzgwBftQokAlQMFEDMQzo2MRVM9rfPulQEB -pLoD/1/MWv3u0Paiu14XRvDrBaJ7BmG2/48bA5vKOzpvvoNRO95YS7ZEtqErXA7Y -DRO8+C8f6PAILMk7kCk4lNMscS/ZRzu5+J8cv4ejsFvxgJBBU3Zgp8AWdWOpvZ0I -wW//HoDUGhOxlEtymljIMFBkj4SysHWhCBUfA9Xy86kouTJQiQCVAwUQMxDOQ50a -feTWLUSJAQFnYQQAkt9nhMTeioREB1DvJt+vsFyOj//o3ThqK5ySEP3dgj62iaQp -JrBmAe5XZPw25C/TXAf+x27H8h2QbKgq49VtsElFexc6wO+uq85fAPDdyE+2XyNE -njGZkY/TP2F/jTB0sAwJO+xFCHmSYkcBjzxK/2LMD+O7rwp2UCUhhl9QhhqJAJUD -BRAx5na6pSDo8cuim/kBARmjA/4lDVnV2h9KiNabp9oE38wmGgu5m5XgUHW8L6du -iQDnwO5IgXN2vDpKGxbgtwv6iYYmGd8IRQ66uJvOsxSv3OR7J7LkCHuI2b/s0AZn -c79DZaJ2ChUCZlbNQBMeEdrFWif9NopY+d5+2tby1onu9XOFMMvomxL3NhctElYR -HC8Xw4kAlQMFEDHmdTtURTdEKY1MpQEBEtEEAMZbp1ZFrjiHkj2aLFC1S8dGRbSH -GUdnLP9qLPFgmWekp9E0o8ZztALGVdqPfPF3N/JJ+AL4IMrfojd7+eZKw36Mdvtg -dPI+Oz4sxHDbDynZ2qspD9Om5yYuxuz/Xq+9nO2IlsAnEYw3ag3cxat0kvxpOPRe -Yy+vFpgfDNizr3MgiQBVAwUQMXNMXCjtrosVMemRAQEDnwH7BsJrnnh91nI54LAK -Gcq3pr8ld0PAtWJmNRGQvUlpEMXUSnu59j2P1ogPNjL3PqKdVxk5Jqgcr8TPQMf3 -V4fqXokAlQMFEDFy+8YiEmsRQ3LyzQEB+TwD/03QDslXLg5F3zj4zf0yI6ikT0be -5OhZv2pnkb80qgdHzFRxBOYmSoueRKdQJASd8F9ue4b3bmf/Y7ikiY0DblvxcXB2 -sz1Pu8i2Zn9u8SKuxNIoVvM8/STRVkgPfvL5QjAWMHT9Wvg81XcI2yXJzrt/2f2g -mNpWIvVOOT85rVPIiQCVAwUQMVPRlBlzviMjNHElAQG1nwP/fpVX6nKRWJCSFeB7 -leZ4lb+y1uMsMVv0n7agjJVw13SXaA267y7VWCBlnhsCemxEugqEIkI4lu/1mgtw -WPWSE0BOIVjj0AA8zp2T0H3ZCCMbiFAFJ1P2Gq2rKr8QrOb/08oH1lEzyz0j/jKh -qiXAxdlB1wojQB6yLbHvTIe3rZGJAHUDBRAxKetfzauiKSJ6LJEBAed/AvsEiGgj -TQzhsZcUuRNrQpV0cDGH9Mpril7P7K7yFIzju8biB+Cu6nEknSOHlMLl8usObVlk -d8Wf14soHC7SjItiGSKtI8JhauzBJPl6fDDeyHGsJKo9f9adKeBMCipCFOuJAJUD -BRAxKeqWRHFTaIK/x+0BAY6eA/4m5X4gs1UwOUIRnljo9a0cVs6ITL554J9vSCYH -Zzd87kFwdf5W1Vd82HIkRzcr6cp33E3IDkRzaQCMVw2me7HePP7+4Ry2q3EeZMbm -NE++VzkxjikzpRb2+F5nGB2UdsElkgbXinswebiuOwOrocLbz6JFdDsJPcT5gVfi -z15FuA== -=02KW ------END PGP PUBLIC KEY BLOCK----- diff --git a/autodeps/aix.prov b/autodeps/aix.prov deleted file mode 100644 index 2fab0d0..0000000 --- a/autodeps/aix.prov +++ /dev/null @@ -1,78 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Ralph Goers(rgoer@Candle.Com) -# Borrowed heavily from Tim Mooney's HP version. -# This file is distributed under the terms of the GNU General Public License -# -# find-requires is part of RPM, the RedHat Package Manager. find-requires -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries the package requires to run correctly. -# - -find_prov_ia64() -{ - # On AIX for IA64, use the file command to find shared modules - # - # Example file output: - # - #$file /usr/lib/ia64l32/libc.so - #/usr/lib/ia64l32/libc.so: ELF 32-bit LSB version 1 AIX shared obj IA-64 - # - # - # - - # Search for shared objects - the file command on AIX for IA64 reports - # shared objects - sed -e "s/['\"]/\\\&/g" -e "s/$/\//g" | LANG=C xargs file | grep -e ":.*shared obj" | cut -d: -f1 | sed "s/\/$//g" | xargs -i basename {} | sort -u -} - -find_prov_power() -{ - # - # Example dump output: - # - #$dump -H /usr/bin/dump - # - #/usr/bin/dump: - # - # ***Loader Section*** - # Loader Header Information - #VERSION# #SYMtableENT #RELOCent LENidSTR - #0x00000001 0x00000021 0x0000006c 0x0000002f - # - ##IMPfilID OFFidSTR LENstrTBL OFFstrTBL - #0x00000002 0x00000848 0x00000049 0x00000877 - # - # - # ***Import File Strings*** - #INDEX PATH BASE MEMBER - #0 /usr/lib:/lib:/usr/lpp/xlC/lib - #1 libc.a shr.o - - # - # - - # Search executables, archives, and symlinks to those types for shared - # objects - sed -e "s/['\"]/\\\&/g" -e "s/$/\//g" | LANG=C xargs file | grep -e ":.*executable" -e ":.*archive" | cut -d: -f1 | sed "s/\/$//g" | - - # Use the verbose version of dump to find the sharable objects - while read f - do - LANG=C /usr/bin/dump -ov $f/ 2>/dev/null | egrep "^Flags.*SHROBJ|:$" | - awk 'match($1,":$") { member=$1 } - !match($1,":$") {print member} ' - done | sed -e 's/:$//' -e 's/\/\[/\(/g' -e 's/\]/)/g' | xargs -i basename {} | - sort -u -} - -PATH=/usr/bin - -machinetype=`uname -m` -if [[ $machinetype = "ia64" ]] -then - find_prov_ia64 -else - find_prov_power -fi - diff --git a/autodeps/aix.req b/autodeps/aix.req deleted file mode 100755 index e8503b3..0000000 --- a/autodeps/aix.req +++ /dev/null @@ -1,171 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Ralph Goers(rgoer@Candle.Com) -# Borrowed heavily from Tim Mooney's HP version. -# This file is distributed under the terms of the GNU General Public License -# -# find-requires is part of RPM, the RedHat Package Manager. find-requires -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries the package requires to run correctly. -# - -find_req_power () -{ - # On AIX Power, use `dump -H' to find the library dependencies - # for an executable - # - # Example dump output: - # - #$dump -H /usr/bin/dump - # - #/usr/bin/dump: - # - # ***Loader Section*** - # Loader Header Information - #VERSION# #SYMtableENT #RELOCent LENidSTR - #0x00000001 0x00000021 0x0000006c 0x0000002f - # - ##IMPfilID OFFidSTR LENstrTBL OFFstrTBL - #0x00000002 0x00000848 0x00000049 0x00000877 - # - # - # ***Import File Strings*** - #INDEX PATH BASE MEMBER - #0 /usr/lib:/lib:/usr/lpp/xlC/lib - #1 libc.a shr.o - - # - # - - while read f - do - # Find the required symbols in executables and the required shells in - # scripts - LANG=C /usr/bin/file $f | /usr/bin/grep -q -e ":.*shell script" - - if [ $? -ne 0 ] # Use dump to examine executables - then - LANG=C /usr/bin/dump -H $f 2>/dev/null | awk ' - - # - # Since this entire awk script is enclosed in single quotes, - # you need to be careful to not use single quotes, even in awk - # comments, if you modify this script. - # - - BEGIN { - in_shlib_list = 0; - in_file_strings = 0; - FS = " "; - RS = "\n"; - } - - in_shlib_list == 1 && /^$/ { - in_shlib_list = 0; - in_file_strings = 0; - } - - in_shlib_list == 1 { - pos = index($2, "/") - numfields = split($0, fields, " ") - - if (pos == 0) { - namevar = 2 - } - else { - namevar = 3 - } - if (namevar < numfields) { - printf("%s(%s)\n", fields[namevar], fields[namevar+1]) - } - else { - if ((fields[namevar] != ".") && (fields[namevar] != "..")) { - print fields[namevar] - } - } - } - - in_file_strings == 1 && $1 == "0" { - in_shlib_list = 1 - } - - /\*Import File Strings\*/ { - in_file_strings = 1 - } - ' # end of awk - else # shell scripts - if [ -x $f ]; then - /usr/bin/head -1 $f | /usr/bin/sed -e 's/^\#\![ ]*//' | /usr/bin/cut -d" " -f1 - fi - fi - done | sort -u -} - -find_req_ia64 () -{ - # On AIX IA64, use `dump -Lv' to find the library dependencies - # for an executable - # - # Example dump output: - # - #$dump -Lv /usr/bin/dump - # - # - #/usr/bin/dump: - # - # **** DYNAMIC SECTION INFORMATION **** - #[INDEX] Tag Value - # - #.dynamic: - #[1] NEEDED libC.so.1 - #[2] NEEDED libelf.so - #[3] NEEDED /usr/lib/ia64l32/libc.so.1 - #[4] INIT 0x1001d6c0 - #[5] FINI 0x1001d700 - #[6] HASH 0x1000011c - #[7] STRTAB 0x10000914 - #[8] SYMTAB 0x10000364 - #[9] STRSZ 0x3dd - #[10] SYMENT 0x10 - #[11] PLTGOT 0x20018994 - #[12] PLT_RESERVE 0x20018a00 - #[13] PLTSZ 0x1c0 - #[14] PLTREL REL - #[15] JMPREL 0x100024bc - #[16] REL 0x10000cf4 - #[17] RELSZ 0x17c8 - #[18] RELENT 0x8 - # - # - - while read f - do - # Find the required symbols in executables and the required shells in - # scripts - LANG=C /usr/bin/file $f | /usr/bin/grep -q -e ":.*shell script" - - if [ $? -ne 0 ] # Use dump to examine executables - then - LANG=C /usr/bin/dump -Lv $f 2>/dev/null | \ - awk '$2=="NEEDED" {print $3}' | xargs -i basename {} - - else # Extract the exec module from shell scripts - if [ -x $f ]; then - head -1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1 - fi - fi - done | sort -u -} - -machinetype=`uname -m` -if [[ $machinetype = "ia64" ]] -then - /usr/bin/sed "s/['\"]/\\\&/g" | LANG=C /usr/bin/xargs /usr/bin/file | \ - /usr/bin/grep -e ":.*executable" -e ":.*archive" -e ":.*shell script" | /usr/bin/cut -d: -f1 | - find_req_ia64 -else - /usr/bin/sed "s/['\"]/\\\&/g" | LANG=C /usr/bin/xargs /usr/bin/file | \ - /usr/bin/grep -e ":.*executable" -e ":.*archive" -e ":.*shell script" | /usr/bin/cut -d: -f1 | - find_req_power -fi - diff --git a/autodeps/aix4.prov b/autodeps/aix4.prov deleted file mode 100644 index a7aa5fd..0000000 --- a/autodeps/aix4.prov +++ /dev/null @@ -1,189 +0,0 @@ -#! /usr/bin/ksh - -# Current Maintainer: Tim Mooney -# -# Original Author: Ralph Goers(rgoer@Candle.Com) -# Borrowed heavily from H10 version created by Tim Mooney. -# This file is distributed under the terms of the GNU Public License -# -# find-provides is part of RPM, the RedHat Package Manager. find-provides -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries provided by (contained in) the package. -# -# On AIX, use `dump -o' to find what the library provides, if anything. -# -# -# Ralph's comments: -# -# Executables are skipped because, by convention, shared libraries -# which are not dynamically loaded are packaged as archives. Also, -# it is impossible to tell the difference between an executable -# program and a dynamically loaded shared library. -# -# Because archives can contain any number of things, including -# apparently, multiple shared libraries, dependencies in archives -# will be specified as file[member]. Any member in an archive which -# has a loader section will be listed as provided. -# -# Tim's (subsequent) comments: -# -# Based on discussions on the rpm-list in mid-March of 2000, I've modified -# the copy of find-provides that Ralph provided me to use `dump -o' instead -# of `dump -H', and I've followed Brandon S. Allbery's suggestions and modified -# the awk script to look for a modtype of `RE', which is what constitutes a -# shared member of a library. Just like everything else on AIX, libraries are -# weird. :-| -# -# I've followed Ralph's convention of generating provides in the form of -# `filebasename(member-object)' *if* there is a member object, or just -# `filebasename' if there isn't (such as in the case of certain perl modules, -# locally built shared libraries, etc.). -# -# Example dump output: -# -#$dump -o /usr/lpp/X11/lib/R6/libX11.a -# -#/usr/lpp/X11/lib/R6/libX11.a[shr4.o]: -# -# ***Object Module Header*** -## Sections Symbol Ptr # Symbols Opt Hdr Len Flags -# 4 0x00126c28 14557 72 0x3002 -#Timestamp = 920377624 -#Magic = 0x1df -# -# ***Optional Header*** -#Tsize Dsize Bsize Tstart Dstart -#0x000bcc20 0x00024bd4 0x00000e0c 0x00000000 0x00000000 -# -#SNloader SNentry SNtext SNtoc SNdata -#0x0004 0x0000 0x0001 0x0002 0x0002 -# -#TXTalign DATAalign TOC vstamp entry -#0x0005 0x0003 0x00023d74 0x0001 0xffffffff -# -#maxSTACK maxDATA SNbss magic modtype -#0x00000000 0x00000000 0x0003 0x010b RE -# -#/usr/lpp/X11/lib/R6/libX11.a[shr4net.o]: -# -# ***Object Module Header*** -## Sections Symbol Ptr # Symbols Opt Hdr Len Flags -# 7 0x000006fb 22 72 0x3002 -#Timestamp = 774732998 -#Magic = 0x1df -# -# ***Optional Header*** -#Tsize Dsize Bsize Tstart Dstart -#0x00000084 0x00000088 0x00000000 0x00000200 0x00000000 -# -#SNloader SNentry SNtext SNtoc SNdata -#0x0007 0x0000 0x0002 0x0004 0x0004 -# -#TXTalign DATAalign TOC vstamp entry -#0x0002 0x0003 0x00000080 0x0001 0xffffffff -# -#maxSTACK maxDATA SNbss magic modtype -#0x00000000 0x00000000 0x0005 0x010b RE - -PATH=/usr/bin:/usr/ccs/bin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -# -# TVM: Because AIX libraries don't have the equivalent of a SONAME, if you do -# -# ln -s /usr/lib/libc.a /tmp/libmy_libc_link.a -# -# and then link your program with `-L/tmp -lmy_libc_link', that's the name -# that will be recorded as the BASE in the Import File Strings area. -# This means we need to include "symbolic link" in the list of files to check -# out. -# -filelist=`sed "s/['\"]/\\\&/g" | xargs file \ - | egrep 'archive|executable|symbolic link' | cut -d: -f1` - -for f in $filelist -do - # - # Uncomment the next line for some additional debugging info: - #echo "Checking $f" - dump -o $f 2>/dev/null | awk ' - - # TVM: be careful to not use any single quotes, even in comments, - # since this entire awk script is enclosed in single quotes. - - BEGIN { - FS = " "; - RS = "\n"; - # our flag to indicate we found a filename[membername] or - # filename. - found_file_or_member = 0 - # our flag to indicate we found the modtype tag. If so, - # we want to look for RE on the next line. - found_modtype = 0 - # - # number of times gsub substituted, used twice below - nsub = 0 - } - - # Uncomment the next line for some debugging info. - # { print NR , ":", $0 } - - found_modtype == 1 && found_file_or_member == 1 { - - if ( $0 ~ / RE/ ) { - # we have seen a filename, we have seen a modtype line, and now - # we know that the modtype is RE. Print out the member name. - # - # Note that member names generally look like foo[bar.o], and - # since the RPM standard has become to use parens, we will - # translate the [ and ] into ( and ) in the output stream. - # awk on AIX 4 has sub() and gsub(), so we can use them to do - # it. If this script is adapted for use on some other platform - # make sure that awk on that platform has sub/gsub. If not, - # you will need to postprocess the output stream (probably before - # the sort -u) with tr or sed. - nsub = gsub(/\[/, "(", member) - if ( nsub > 1 ) { - print "substituted too many times for [:", member | "cat 1>&2" - } - nsub = gsub(/\]/, ")", member) - if ( nsub > 1 ) { - print "substituted too many times for ]:", member | "cat 1>&2" - } - print member - } - # In any case, reset our flags to zero, to indicate we are done - # with this member, so we are ready to handle additional members - # if needed. - found_file_or_member = 0 - found_modtype = 0 - } - - found_file_or_member == 1 && /magic *modtype/ { - # we have seen a filename, and now we have seen the modtype - # line. Set the found_modtype flag. The next line of input - # will be caught by the rule above, and we will print out - # the member if the modtype is RE. - found_modtype = 1 - } - - /:$/ { - numfields = split($0,fields, "/") - # chop off the trailing colon - fieldlen = length(fields[numfields])-1 - member= substr(fields[numfields], 1, fieldlen) - # Set the flat to indicate we found a file or a file(member). - found_file_or_member = 1 - } - ' # end of awk -done | sort -u -#comment out the previous line and uncomment the next line when debugging -#done diff --git a/autodeps/aix4.req b/autodeps/aix4.req deleted file mode 100644 index 84fb499..0000000 --- a/autodeps/aix4.req +++ /dev/null @@ -1,99 +0,0 @@ -#! /usr/bin/ksh -# -# Current Maintainer: Tim Mooney -# Original Author: Ralph Goers(rgoer@Candle.Com) -# -# This file is distributed under the terms of the GNU Public License -# -# find-requires is part of RPM, the RedHat Package Manager. find-requires -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries the package requires to run correctly. -# -# On AIX, use `dump -H' to find the library dependencies for an executable -# -# Example dump output: -# -#$dump -H /usr/bin/dump -# -#/usr/bin/dump: -# -# ***Loader Section*** -# Loader Header Information -#VERSION# #SYMtableENT #RELOCent LENidSTR -#0x00000001 0x00000021 0x0000006c 0x0000002f -# -##IMPfilID OFFidSTR LENstrTBL OFFstrTBL -#0x00000002 0x00000848 0x00000049 0x00000877 -# -# -# ***Import File Strings*** -#INDEX PATH BASE MEMBER -#0 /usr/lib:/lib:/usr/lpp/xlC/lib -#1 libc.a shr.o -# -# - -PATH=/usr/bin:/usr/ccs/bin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -filelist=`sed "s/['\"]/\\\&/g" | xargs file \ - | egrep '^.*:.*(executable |archive )' | cut -d: -f1` - -for f in $filelist -do - dump -H $f 2>/dev/null | awk ' - - # - # Since this entire awk script is enclosed in single quotes, - # you need to be careful to not use single quotes, even in awk - # comments, if you modify this script. - # - - BEGIN { - in_shlib_list = 0; - in_file_strings = 0; - FS = " "; - RS = "\n"; - } - - in_shlib_list == 1 && /^$/ { - in_shlib_list = 0; - in_file_strings = 0; - } - - in_shlib_list == 1 { - pos = index($2, "/") - numfields = split($0, fields, " ") - - if (pos == 0) { - namevar = 2 - } - else { - namevar = 3 - } - if (namevar < numfields) { - printf("%s(%s)\n", fields[namevar], fields[namevar+1]) - } - else { - print fields[namevar] - } - } - - in_file_strings == 1 && $1 == "0" { - in_shlib_list = 1 - } - - /\*Import File Strings\*/ { - in_file_strings = 1 - } - - ' # end of awk -done | sort -u diff --git a/autodeps/amigaos.prov b/autodeps/amigaos.prov deleted file mode 100644 index 87ad08f..0000000 --- a/autodeps/amigaos.prov +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -cat > /dev/null diff --git a/autodeps/amigaos.req b/autodeps/amigaos.req deleted file mode 100644 index 87ad08f..0000000 --- a/autodeps/amigaos.req +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -cat > /dev/null diff --git a/autodeps/freebsd.prov b/autodeps/freebsd.prov deleted file mode 100644 index cf00d4f..0000000 --- a/autodeps/freebsd.prov +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------- -# find-provides for FreeBSD-2.2.x -# ---------------------------------------------------------- -filelist=$(grep "\\.so" | grep -v "^/lib/ld.so" | xargs file -L 2>/dev/null | grep "FreeBSD.*shared" | cut -d: -f1) - -for f in $filelist; do - echo ${f##*/} -done | sort -u diff --git a/autodeps/freebsd.req b/autodeps/freebsd.req deleted file mode 100644 index c42d93c..0000000 --- a/autodeps/freebsd.req +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------- -# find-requires for FreeBSD-2.2.x -# how do we know what is required by a.out shared libraries? -# ---------------------------------------------------------------- -ulimit -c 0 - -filelist=`sed "s/['\"]/\\\&/g"` -exelist=`echo $filelist | xargs file | fgrep executable | cut -d: -f1 ` -scriptlist=`echo $filelist | xargs file | egrep ":.* (commands|script) " | cut -d: -f1 ` - -for f in $exelist; do - if [ -x $f ]; then - ldd $f | /usr/bin/awk '/=>/&&!/not found/ { print $3 }' - fi -done | sort -u | sed "s/['\"]/\\\&/g" | xargs -n 1 basename | sort -u - -for f in $scriptlist; do - if [ -x $f ]; then - head -1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1 - fi -done | sort -u diff --git a/autodeps/freebsdelf.prov b/autodeps/freebsdelf.prov deleted file mode 100644 index df7d829..0000000 --- a/autodeps/freebsdelf.prov +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------- -# find-provides for FreeBSD >= 3.3 -# ---------------------------------------------------------- -filelist=$(grep "\\.so" | grep -v "^/lib/ld.so" | xargs file -L 2>/dev/null | grep "ELF.*shared" | cut -d: -f1) - -for f in $filelist; do - echo ${f##*/} -done | sort -u diff --git a/autodeps/freebsdelf.req b/autodeps/freebsdelf.req deleted file mode 100644 index 056d9d9..0000000 --- a/autodeps/freebsdelf.req +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# note this works for both a.out and ELF executables -# it also auto-generates requirment lines for shell scripts - -ulimit -c 0 - -filelist=`sed "s/['\"]/\\\&/g"` -exelist=`if test "x$filelist" != x; then echo $filelist | xargs file | grep ":.*executable" | cut -d: -f1; fi` -scriptlist=`if test "x$filelist" != x; then echo $filelist | xargs file | egrep ":.* (commands|script) " | cut -d: -f1; fi` -liblist=`if test "x$filelist" != x; then echo $filelist | xargs file | grep ":.*shared object" | cut -d : -f1; fi` - -LDDLIST=`for f in $exelist; do - if [ -x $f ]; then - ldd $f | awk '/=>/ { print $1 }' - fi -done | sort -u | sed "s/['\"]/\\\&/g"` -if test "x$LDDLIST" != x; then - echo $LDDLIST | xargs -n 1 basename | grep -v 'libNoVersion.so' | sort -u -fi - -LDDLIST=`for f in $liblist; do - ldd $f | awk '/=>/ { print $1 }' -done | sort -u | sed "s/['\"]/\\\&/g"` -if test "x$LDDLIST" != x; then - echo $LDDLIST | xargs -n 1 basename | grep -v 'libNoVersion.so' | sort -u -fi - -for f in $scriptlist; do - if [ -x $f ]; then - head -1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1 - fi -done | sort -u - -for f in $liblist $exelist ; do - objdump -p $f | awk ' - BEGIN { START=0; LIBNAME=""; } - /Version References:/ { START=1; } - /required from/ && (START==1) { - sub(/:/, "", $3); - LIBNAME=$3; - } - (START==1) && (LIBNAME!="") && ($4~/^GLIBC_*/) { print LIBNAME "(" $4 ")"; } - /^$/ { START=0; } - ' -done | sort -u diff --git a/autodeps/hpux.prov b/autodeps/hpux.prov deleted file mode 100644 index 2753995..0000000 --- a/autodeps/hpux.prov +++ /dev/null @@ -1,174 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Tim Mooney -# -# This file is distributed under the terms of the GNU Public License -# -# find-provides is part of RPM, the Red Hat Package Manager. find-provides -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries provided by (contained in) the package. -# -# -# On HP-UX, use `chatr' to find what libraries a package provides -# -# Example chatr output: -# -#$chatr /usr/lib/libc.sl -# -#/usr/lib/libc.sl: -# shared library -# shared library dynamic path search: -# SHLIB_PATH disabled second -# embedded path disabled first Not Defined -# internal name: -# libc.1 -# shared library list: -# dynamic /usr/lib/libdld.1 -# static branch prediction disabled -# kernel assisted branch predictionenabled -# lazy swap allocationdisabled -# text segment lockingdisabled -# data segment lockingdisabled -# data page size: 4K -# instruction page size: 4K -# - -# -# Implementation notes: some of the system libraries are built without an -# `internal name' (HP-UX's equivalent to a SONAME), so I need to track what -# chatr outputs as its first line. We'll use the basename of that line in -# the event of no internal name. -# - -PATH=/usr/bin:/usr/sbin:/usr/ccs/bin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -# -# TVM: use `while read ...' instead of `for f in ...', because there may -# be too many files to stuff into one shell variable. -# -IFS="" -while read f -do - # It's possible that I should be testing to make sure that the file - # we're trying isn't a symlink, and skipping it if it is, because of - # the possible odd situation where we could have a link to a library - # with no internal name. This would need more investigation, though. - chatr $f 2>/dev/null \ - | awk ' - - BEGIN { - FS = " "; - RS = "\n"; - - # This flag signfies that we have seen the internal name: - # marker. Once we see that, we set the flag to 1. The next - # line we read should contain the library internal name, the - # SOM equivalent of an soname. At that point we set the flag - # found_internal_name to 1 and exit - # the main body of the awk script, going through the END - in_internal_name = 0; - - # - # We have seen the internal name: section (yet)? - # - found_internal_name = 0; - - # - # assume it is a shared library, until record 2 proves us wrong. - # - isa_shared_library = 1; - } - - # Uncomment the next line for some debugging info. - #{ print NR , ":", $0 } - - # - # save the first line in case there is no internal name built - # into this object. - # - NR == 1 { - my_name = $0 - opened_something = 1; - } - - # - # Check the second line (record). Clear the flag if it is not a - # shared library. - # - NR == 2 && $0 !~ /^[ ]+shared library[ ]*$/ { - # It is not a shared library. Bow out early - isa_shared_library = 0; - exit - } - - in_internal_name == 1 { - - # We found the library internal name. If it does not contain - # a path, print it. At least a couple of the system libraries - # have a full path as the internal name (this is probably a bug). - - if ( $0 ~ /\// ) { - numfields = split($0, internal_name, "/") - print internal_name[numfields] - } else { - print $1 - } - - # - # Set a flag for the EXIT section, to indicate that we found - # an internal name - # - found_internal_name = 1; - in_internal_name = 0 - exit - } - - # - # we have hit the internal name section. Set the flag. The next - # line should be what we are looking for. - # - /^ +internal name: *$/ { - in_internal_name = 1 - } - - END { - # Uncomment the next line for debugging info - #{ print "END: NR: ", NR } - if ( (isa_shared_library == 0) || (NR < 2) ) { - # both of these indicate error conditions, for which we - # should not generate any output. - exit; - } else { - if (found_internal_name == 1) { - exit; - } else { - # - # chop the : off the end of the line - # - colon = index(my_name, ":") - colon = colon - 1 - temp = substr(my_name, 1, colon) - # - # get the basename - # - numfields = split(temp, basename, "/") - # Uncomment the next line for debugging info - #print "In END:", numfields, ":", temp - print basename[numfields] - exit - } - } - } - ' # end of awk -done | sort -u -#comment out the previous line and uncomment the next line when debugging -#done diff --git a/autodeps/hpux.req b/autodeps/hpux.req deleted file mode 100644 index eed1ea6..0000000 --- a/autodeps/hpux.req +++ /dev/null @@ -1,125 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Tim Mooney -# -# This file is distributed under the terms of the GNU Public License -# -# find-requires is part of RPM, the Red Hat Package Manager. find-requires -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries the package requires to run correctly. -# -# On HP-UX, use `chatr' to find the library dependencies for an executable -# -# Example chatr output: -# -#$chatr /usr/bin/chatr -#/usr/bin/chatr: -# shared executable -# shared library dynamic path search: -# SHLIB_PATH disabled second -# embedded path disabled first Not Defined -# internal name: -# chatr -# shared library list: -# dynamic /usr/lib/libc.1 -# shared library binding: -# deferred -# static branch prediction disabled -# kernel assisted branch predictionenabled -# lazy swap allocationdisabled -# text segment lockingdisabled -# data segment lockingdisabled -# data page size: 4K -# instruction page size: 4K - -PATH=/usr/bin:/usr/sbin:/sbin:/usr/ccs/bin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -IFS="" -while read f -do - # uncomment the next line if debugging - # echo "### processing $f" - - # - # Only run the file command once per file: - # - file_output=`file $f` - - # - # First, check to see if it's a script, and try figure out what - # intpreter it requires. This is more work on HP-UX, since `file' - # doesn't tell us what interpreter the script uses, or even if it - # really is a script. - # - is_shell_script=`od -N 2 -t c $f 2>/dev/null | grep '0000000 # !'` - if test X"$is_shell_script" != X ; then - # - # it's a shell script. Now figure out what interpreter it needs - # Look at me! I'm good with sed. ;-) - interp=`head -1 $f | sed -e 's/^#! \{0,1\}\([^ ]*\).*$/\1/'` - if test X"$interp" != X ; then - echo "$interp" - # - # We've found what we need for this file. Skip back to the - # top of the loop. This saves me an `else' and another indent - # level! ;-) - continue - fi - fi - - # - # The `else' is implied here by the `continue' above - # - - # - # Is it a shared library? - # - maybe_shared_lib=`echo "$file_output" | egrep '(executable|library)'` - if test X"$maybe_shared_lib" != X ; then - chatr $f 2>/dev/null \ - | awk ' - - # - # For you non-awk-ers, no single quotes in comments -- the shell - # sees them and things get hosed. - # - - BEGIN { - in_shlib_list = 0; - FS = " "; - RS = "\n"; - } - - # uncomment the next line for debugging information - #{ print NR, ": ", $0 } - - - in_shlib_list == 1 && /dynamic[ ]+[\/\.]/ { - - # split the line on "/" and print out the last element - numfields = split($0,fields,"/") - print fields[numfields] - - } - - /^ +shared library list: *$/ { - in_shlib_list = 1 - } - - /^ +shared library binding: *$/ { - exit - } - ' # end of awk - fi # end of shared library if. -done | sort -u -#comment out the previous line and uncomment the next one if debugging. -#done diff --git a/autodeps/irix6.prov b/autodeps/irix6.prov deleted file mode 100644 index 59bba0f..0000000 --- a/autodeps/irix6.prov +++ /dev/null @@ -1,200 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Tim Mooney -# -# This file is distributed under the terms of the GNU Public License -# -# find-provides is part of RPM, the Red Hat Package Manager. find-provides -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries provided by (contained in) the package. -# -# NOTE: IRIX libraries (even system libraries) have "version information" -# in both the soname and the internal version field, so it's important to -# be able to separate the soname and internal version fields. As has -# become the case on other platforms, the soname/iversion delimiters have -# become the `(' and `)' characters. -# -# On IRIX, use `elfdump -L' to find what libraries a package provides -# -# Example `elfdump -L' output: -# -#$elfdump -L /usr/lib/libc.so -# -# -#/usr/lib/libc.so: -# -# **** DYNAMIC SECTION INFORMATION **** -#.dynamic : -#[INDEX] Tag Value -#[0] HASH 0xfa099d0 -#[1] STRTAB 0xfa0027c -#[2] SYMTAB 0xfa10e3c -#[3] STRSZ 0x9751 -#[4] SYMENT 0x10 -#[5] INIT 0 -#[6] FINI 0 -#[7] RLDVERS 0x1 -#[8] FLAGS 0x1411 -#[9] BASEADDR 0xfa00000 -#[10] LOCGOTNO 0x3c -#[11] PROTECT 0x3c -#[12] HIDDEN 0x12 -#[13] CNFLCTNO 0 -#[14] LBLISTNO 0 -#[15] SYMTABNO 0xd19 -#[16] UNREFEXT 0x8 -#[17] GOTSYM 0x8b3 -#[18] LOCAL 0x12 -#[19] LOCALPG 0x1 -#[20] LOCALPG 0x10 -#[21] PLTGOT 0xfb483b0 -#[22] RLDTXT_ADR0xfb6b580 -#[23] OPTIONS 0xfa000f4 -#[24] SONAME libc.so.1 -#[25] TIMSTAMP Jun 16 18:23:15 1997 -#[26] CHECKSUM 0x92321a0c -#[27] IVERSION sgi1.0 -#[28] REL 0xfa1dfcc -#[29] RELSZ 0x1988 -#[30] RELENT 0x8 -#[31] MSYM 0xfa1f954 -#[32] COMPCTSIZE0xc60c -#No Library List Section in /usr/lib/libc.so -# - -PATH=/usr/bin:/usr/sbin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -# -# Use `while read ...' instead of `for f in ...', because there may be too -# many files to stuff into one shell variable. -# -IFS="" -while read f -do - # - # If it's a shared library, run elfdump on it. - # - maybe_shared_lib=`file $f | egrep 'ELF.*dynamic lib'` - if test X"$maybe_shared_lib" != X ; then - elfdump -L $f 2>/dev/null | awk ' - - # - # Since this entire awk script is enclosed in single quotes, - # you need to be careful to not use single quotes, even in awk - # comments, if you modify this script. - # - - BEGIN { - FS = " "; - RS = "\n"; - OFS = ""; - - found_soname = 0; - found_iversion = 0; - } - - # Uncomment the next line for some debugging info. - #{ print NR , ":", $0 } - - /[ ]+SONAME .*[ ]*$/ { - found_soname = 1; - numfields = split($0, internal_name) - if (numfields == 3) { - soname = $3 - } else { - # - # Should never be here. - # - print "Really odd looking soname:", $0 | "cat 1>&2" - exit - } - } - - /[ ]+IVERSION .*[ ]*$/ { - if (found_soname == 1) { - numfields = split($0, iversion) - if (numfields == 3) { - version = $3 - # - # handle libraries with multiple versions, like - # 1.1:1.2. Since they really provide both versions, - # we need to generate output for each version. - # - numfields = split(version, versions, ":") - if (numfields > 1) { - for (i = 1; i < numfields; i++) { - print soname, "(", versions[i], ")" - } - # - # let our END routine print out the *last* version - # provided - # - version = versions[numfields] - } - # - # stick a fork in us. - # - found_iversion = 1; - exit - } else { - # - # handle libraries with comments and other junk in - # the version field. IRIX has a number of system libraries - # with whitespace and other junk in the version field! - # - # we discard the whitespace and keep the identifier after - # the # sign. - # - version = iversion[numfields] - numfields = split(version, version_junk, "#") - if (numfields > 1) { - version = version_junk[numfields] - found_iversion = 1; - } - } - } else { - # - # found an iversion without an soname. Is that possible? - # - print "Found version but no soname:", $0 | "cat 1>&2" - exit - } - } - - # - # we could probably watch for some other token (like RELSZ) - # that *generally* occurs later in the input than the stuff we watch - # for, and exit if we see it, but it is just as easy to read all - # the output, even after we have seen what we are looking for. - # - - END { - # Uncomment the next line for debugging info - #{ print "END: NR: ", NR } - if ( (found_soname == 1) && (found_iversion == 1) ) { - print soname, "(", version, ")" - exit - } else if ( (found_soname == 1) && (found_iversion == 0) ) { - # - # no library version information *BUT* any programs linked - # against this library will pick up a dependency on version 0 - # of this library, so we output that. - # - print soname, "(", 0, ")" - } - # else do nothing - } - ' # end of awk - fi # end of the 'if test X"$maybe_shared_lib != X ; then' clause -done | sort -u -#comment out the previous line and uncomment the next line when debugging -#done diff --git a/autodeps/irix6.req b/autodeps/irix6.req deleted file mode 100644 index 0f594ae..0000000 --- a/autodeps/irix6.req +++ /dev/null @@ -1,163 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Tim Mooney -# -# This file is distributed under the terms of the GNU Public License -# -# find-requires is part of RPM, the Red Hat Package Manager. find-requires -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries the package requires to execute. -# -# NOTE: IRIX libraries (even system libraries) have "version information" -# in both the soname and the internal version field, so it's important to -# be able to separate the soname and internal version fields. As has -# become the case on other platforms, the soname/iversion delimiters have -# become the `(' and `)' characters. -# -# On IRIX, use `elfdump -Dl' to find what libraries are required by -# an executable. `elfdump -L' does what we need too, but it gives us more -# than we really need. -# -# Example `elfdump -Dl' output: -# -#$elfdump -Dl /usr/bin/X11/xterm -# -# -# -#/usr/bin/X11/xterm: -# -# **** MIPS LIBLIST INFORMATION **** -#.liblist : -#[INDEX] Timestamp Checksum Flags Name Version -#[1] Nov 23 15:39:02 1997 0x4da65893 ----- libXaw.so.2 sgi2.0 -#[2] Nov 23 15:39:02 1997 0x414eece6 ----- libXmu.so sgi1.0 -#[3] Nov 23 15:39:02 1997 0x6f314e69 ----- libXt.so sgi1.0 -#[4] Nov 23 15:39:02 1997 0xcbe81fff ----- libXext.so sgi1.0 -#[5] Nov 23 15:39:02 1997 0x89ae8e98 ----- libX11.so.1 sgi1.0 -#[6] Oct 27 01:00:29 1997 0x99b27890 ----- libcurses.so sgi1.0 -#[7] Jun 16 18:23:15 1997 0x92321a0c ----- libc.so.1 sgi1.0 -# - -# -# TVM: it might be better to re-write this so that `file' isn't used, since -# it can all be done with `elfdump', but this works. -# - -PATH=/usr/bin:/usr/sbin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -# -# TVM: switch to using `while read ...' instead of `for f in ...', because -# packages with a large number of files could be too big for one shell -# variable to hold. -# -IFS="" -while read f -do - - # - # Uncomment the next line for additional debugging: - #echo "read ->$f<-" - - # - # Only run file once per file: - # - file_output=`file $f` - - # - # Handle scripts first - # - is_shell_script=`echo "$file_output" | grep 'script text' | \ - cut -d: -f 2 | awk '{ print $1 }'` - - # - # If it's a script... - # - if test X"$is_shell_script" != X ; then - echo "$is_shell_script" - # - # use `continue' to skip back up to the top of the loop. We've - # already done as much as we need to, and this saves me from having - # to have an else, and another indent level... ;-) - # - continue - fi - - # - # the `else' is implied here, since we used `continue' in the test above - # - - # - # It might be a shared library. - # - maybe_shared_lib=`echo "$file_output" | egrep 'executable|lib'` - if test X"$maybe_shared_lib" != X ; then - - elfdump -Dl $f 2>/dev/null \ - | awk ' - - # - # Since this entire awk script is enclosed in single quotes, - # you need to be careful to not use single quotes, even in awk - # comments, if you modify this script. - # - - BEGIN { - found_column_headers = 0; - FS = " "; - RS = "\n"; - OFS=""; - } - - # uncomment the next line for debugging information - #{ print "Saw input:", $0 } - - found_column_headers == 1 && $0 !~ /^$/ { - - # get the library name (field 15) and the library version (field 16) - # if present. - numfields = split($0,fields) - if (numfields == 8) { - print fields[8] - } else if (numfields == 9) { - # - print fields[8], "(", fields[9], ")" - } else if (numfields > 9) { - # - # SGI has this annoying habit of putting comments, complete - # with whitespace, in their library IVERSION field. Yuck. - # - # Handle libraries like this gracefully. - # - verfields = split(fields[NF], junk, "#") - if (verfields == 2) { - print fields[8], "(", junk[2], ")" - } else if (verfields > 2) { - print fields[8], "(", junk[verfields], ")" - } else { - print "Cannot find version:", fields[numfields] | "cat 2>&1" - } - } - } - - /^\[INDEX\].Timestamp.*Checksum.*Flags.*Name.*Version$/ { - # we better start paying attention now. - found_column_headers = 1 - # - # uncomment the next line for debugging information - #print "found the column headers: ", $0 - } - - ' # end of awk - fi -done | sort -u -# comment out the previous line and uncomment the next when debugging -#done diff --git a/autodeps/mint.prov b/autodeps/mint.prov deleted file mode 100644 index a752f8f..0000000 --- a/autodeps/mint.prov +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# -# No shared libs on MiNT yet, sigh. - -echo > /dev/null diff --git a/autodeps/mint.req b/autodeps/mint.req deleted file mode 100644 index a752f8f..0000000 --- a/autodeps/mint.req +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# -# No shared libs on MiNT yet, sigh. - -echo > /dev/null diff --git a/autodeps/none b/autodeps/none deleted file mode 100644 index 87ad08f..0000000 --- a/autodeps/none +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -cat > /dev/null diff --git a/autodeps/openbsd.prov b/autodeps/openbsd.prov deleted file mode 100644 index 1e7b06e..0000000 --- a/autodeps/openbsd.prov +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------- -# find-provides for OpenBSD-2.5 -# ---------------------------------------------------------- -filelist=$(grep "\\.so" | grep -v "^/lib/ld.so" | xargs file -L 2>/dev/null | grep "OpenBSD.*shared" | cut -d: -f1) - -for f in $filelist; do - echo ${f##*/} -done | sort -u diff --git a/autodeps/openbsd.req b/autodeps/openbsd.req deleted file mode 100644 index 551ac2c..0000000 --- a/autodeps/openbsd.req +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------- -# find-requires for OpenBSD-2.2.x -# how do we know what is required by a.out shared libraries? -# ---------------------------------------------------------------- -ulimit -c 0 - -filelist=`sed "s/['\"]/\\\&/g"` -exelist=`echo $filelist | xargs file | fgrep executable | cut -d: -f1 ` -scriptlist=`echo $filelist | xargs file | egrep ":.* (commands|script) " | cut -d: -f1 ` - -for f in $exelist; do - if [ -x $f ]; then - ldd $f | /usr/bin/awk '/\=\>/&&!/not found/ { print $3 }' - fi -done | sort -u | sed "s/['\"]/\\\&/g" | xargs -n 1 basename | sort -u - -for f in $scriptlist; do - if [ -x $f ]; then - head -1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1 - fi -done | sort -u diff --git a/autodeps/osf.prov b/autodeps/osf.prov deleted file mode 100644 index d6a7513..0000000 --- a/autodeps/osf.prov +++ /dev/null @@ -1,187 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Tim Mooney -# -# This file is distributed under the terms of the GNU Public License -# -# find-provides is part of RPM, the Red Hat Package Manager. find-provides -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries provided by (contained in) the package. -# -# -# On Digital/Tru64 Unix (OSF1), use `odump -D' to find what libraries a -# package provides. Note that Tru64 Unix 5.x and later come with `ldd', -# but sticking with `odump' works with versions of the OS back to at least -# 3.x, so it's the preferred method. -# -# Example `odump -D' output: -# -#$odump -D /usr/shlib/libc.so -# -# -# -# -# ***DYNAMIC SECTION*** -# Tag Value -# -#/usr/shlib/libc.so: -# UNREFEXTNO: 14. -# LOCAL_GOTNO: 521. -# GOTSYM: 2205. -# LOCAL_GOTNO: 1606. -# GOTSYM: 3289. -# SONAME: libc.so -# TIME_STAMP: (0x34a82daa) Mon Dec 29 17:09:30 1997 -# -# ICHECKSUM: 0x5e955f9b -# IVERSION: osf.1 -# CONFLICTNO: 0. -# RLD_VERSION: 2. -# HASH: 0x000003ff800a82e0 -# STRTAB: 0x000003ff8008aad0 -# SYMTAB: 0x000003ff80094ab0 -# MSYM: 0x000003ff800842c0 -# STRSZ: 40922. -# SYMENT: 24. -# PLTGOT: 0x000003ffc008f240 -# SYMTABNO: 3330. -# BASE_ADDRESS: 0x000003ff80080000 -# HIPAGENO: 0. -# RELSZ: 15296. -# RELENT: 16. -# REL: 0x000003ff80080700 -# LIBLISTNO: 0. -# INIT: 0x000003ff8019c520 -# FINI: 0x000003ff8019c570 -# FLAGS: 0x00000001 -# - -PATH=/usr/bin:/usr/sbin:/sbin:/usr/ccs/bin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -# -# Use `while read ...' instead of a `for f in ...', because there may -# be too many files to stuff into one shell variable. -# -IFS="" -while read f -do - - # - # if it's a shared library, run odump on it. - # - maybe_shared_lib=`file $f | egrep 'COFF.*shared library'` - if test X"$maybe_shared_lib" != X ; then - odump -D $f 2>/dev/null | awk ' - - BEGIN { - FS = " "; - RS = "\n"; - OFS = ""; - - found_soname = 0; - found_iversion = 0; - - } - - # Uncomment the next line for some debugging info. - #{ print NR , ":", $0 } - - /^[ ]+SONAME: .*[ ]*$/ { - found_soname = 1; - numfields = split($0, internal_name) - if (numfields == 2) { - soname = $2 - # - # we should probably check to see if the soname ends with - # a number (indicating that it contains versioning info, - # possibly in addition to the versioning info in the - # versions field) and generate a warning here. Shared - # libraries should not be built with version info in - # the soname on Digital/Tru64 Unix. - # - } else { - # - # Should never be here. - # - print "Really odd looking soname:", $0 | "cat 1>&2" - exit - } - } - - /^[ ]+IVERSION: .*[ ]*$/ { - if (found_soname == 1) { - numfields = split($0, iversion) - if (numfields == 2) { - version = $2 - # - # handle libraries with multiple versions, like - # 1.1:1.2. Since they really provide both versions, - # we need to generate output for each version. - # - numfields = split(version, versions, ":") - if (numfields > 1) { - for (i = 1; i < numfields; i++) { - print soname, "(", versions[i], ")" - } - # - # let our END routine print out the *last* version - # provided - # - version = versions[numfields] - } - # - # stick a fork in us. - # - found_iversion = 1; - exit - } else { - # - # Should never be here. - # - print "Odd looking library version:", $0 | "cat 1>&2" - exit - } - } else { - # - # found an iversion without an soname. Is that possible? - # - print "Found version but no soname:", $0 | "cat 1>&2" - exit - } - } - - # - # we could probably watch for some other token (like RLD_VERSION) - # that *generally* occurs later in the input than the stuff we watch - # for, and exit if we see it, but it is just as easy to read all - # the output, even after we have seen what we are looking for. - # - - END { - # Uncomment the next line for debugging info - #{ print "END: NR: ", NR } - if ( (found_soname == 1) && (found_iversion == 1) ) { - print soname, "(", version, ")" - exit - } else if (found_soname == 1) { - # - # no library version information - # - print soname - } - # else do nothing - } - ' # end of awk - fi -done | sort -u -#comment out the previous line and uncomment the next line when debugging -#done diff --git a/autodeps/osf.req b/autodeps/osf.req deleted file mode 100644 index 553616f..0000000 --- a/autodeps/osf.req +++ /dev/null @@ -1,141 +0,0 @@ -#! /usr/bin/ksh - -# Original Author: Tim Mooney -# -# This file is distributed under the terms of the GNU Public License -# -# find-requires is part of RPM, the Red Hat Package Manager. find-requires -# reads a list of full pathnames (in a package) on stdin, and outputs all -# shared libraries the package requires to execute. -# -# On Digital/Tru64 Unix (OSF1), use `odump -Dl' to find the library -# dependencies for an executable. `odump -D' does most of what we need, -# but it doesn't give us library version information, so you must use -# `odump -Dl'. Note that Tru64 5.x and on have `ldd', but this works just -# as well, and works on older versions of the OS. -# -# Example `odump -Dl' output: -# -#$odump -Dl /usr/bin/X11/xterm -# -# -# -# -# ***LIBRARY LIST SECTION*** -# Name Time-Stamp CheckSum Flags Version -#/usr/bin/X11/xterm: -# libXaw.so Dec 9 00:15:35 1997 0x285006d0 0 6.0 -# libXmu.so Dec 9 00:13:36 1997 0x3bf3a33d 0 -# libXt.so Dec 9 00:12:18 1997 0x10dd9a17 0 -# libSM.so Dec 9 00:08:11 1997 0xb64c7082 0 -# libICE.so Dec 9 00:07:52 1997 0x1199be32 0 -# libXext.so Dec 9 00:08:51 1997 0xafcb84d5 0 -# libX11.so Dec 9 00:06:05 1997 0xaa1bf091 0 -# libc.so Dec 8 18:41:11 1997 0x5e955f9b 0 osf.1 - -PATH=/usr/bin:/usr/sbin:/sbin:/usr/ccs/bin -export PATH - -# -# TVM: Marc Stephenson (marc@austin.ibm.com) points out we run things -# like `file', et. al. and expect the output to be what we see in the -# C/POSIX locale. Make sure it is so. -# -LANG=C -export LANG - -# -# TVM: switch to using `while read ...' instead of `for f in ...', because -# packages with a large number of files could be too big for one shell variable -# to hold. -# -IFS="" -while read f -do - - # - # Uncomment the next line for addtional debugging: - # echo "read ->$f<-" - - # - # Only run file once per file: - # - file_output=`file $f` - - # - # handle shell scripts first - # - is_shell_script=`echo "$file_output" | grep 'shell script' | \ - cut -d: -f 2 | awk '{ print $1 }'` - - # - # If it's a script... - # - if test X"$is_shell_script" != X ; then - echo "$is_shell_script" - # - # use `continue' to skip back up to the top of the loop. - # We have already done as much as we need to for this - # file, and this saves me from having to have an else, - # and another indent level... ;-) - # - continue - fi - - # - # The `else' here is implied by the `continue' above... - # - - # - # it might be a shared library. - # - - maybe_shared_lib=`echo "$file_output" | grep 'executable'` - if test X"$maybe_shared_lib" != X ; then - - odump -Dl $f 2>/dev/null \ - | awk ' - - # - # Since this entire awk script is enclosed in single quotes, - # you need to be careful to not use single quotes, even in awk - # comments, if you modify this script. - # - - BEGIN { - found_program_name = 0; - FS = " "; - RS = "\n"; - OFS=""; - } - - # uncomment the next line for debugging information - #{ print "Saw input:", $0 } - - found_program_name == 1 && $0 !~ /^$/ { - - # uncomment for debugging information - #print "found shared library: $0" - - # get the library name (field 1) and the library version - # (field 8) if present. - numfields = split($0,fields) - if (numfields == 7) { - print fields[1] - } else if (numfields == 8) { - print fields[1], "(", fields[8], ")" - } - } - - /^.*: *$/ { - found_program_name = 1 - # - # uncomment the next line for debugging information - #print "found the program name: ", $1 - } - - ' # end of awk - fi -done | sort -u -# comment out the previous line and uncomment the next when debugging -# done diff --git a/autodeps/solaris.prov b/autodeps/solaris.prov deleted file mode 100644 index 6e0fe9f..0000000 --- a/autodeps/solaris.prov +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# This script reads filenames from STDIN and outputs any relevant provides -# information that needs to be included in the package. - -PATH=/usr/bin:/usr/ccs/bin:/usr/sbin:/sbin -export PATH - -filelist=`grep "lib.*\\.so" | xargs /usr/ucb/file -L 2>/dev/null |\ - grep "ELF.*dynamic lib" | cut -d: -f1 | sort -u` -for I in $filelist; do - basename $I -done - diff --git a/autodeps/solaris.req b/autodeps/solaris.req deleted file mode 100644 index d0f7f89..0000000 --- a/autodeps/solaris.req +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# note this works for both a.out and ELF executables - -PATH=/usr/bin:/usr/ccs/bin:/usr/sbin:/sbin -export PATH - -ulimit -c 0 - -filelist=`sed "s/['\"]/\\\&/g"` -[ -z "$filelist" ] && exit #emulate -r option for xargs - -for f in `echo $filelist | xargs file | fgrep executable | cut -d: -f1`; do - ldd $f 2>/dev/null | awk '/\=\>/ { print $1 }' -done | sort -u | sed "s/['\"]/\\\&/g" | xargs -n 1 basename | sort -u - diff --git a/build/.cvsignore b/build/.cvsignore deleted file mode 100644 index dcf4bef..0000000 --- a/build/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -.deps -.depend -Makefile -Makefile.in -.libs -*.la -*.lo diff --git a/config.site b/config.site deleted file mode 100644 index c2a72e5..0000000 --- a/config.site +++ /dev/null @@ -1,133 +0,0 @@ -ac_cv_sys_restartable_syscalls=yes -ac_cv_func_setvbuf_reversed=no -ac_cv_func_getpgrp_void=yes -ac_cv_func_setpgrp_void=yes -ac_cv_sizeof_long=4 -ac_cv_sizeof_long_long=8 -ac_cv_sizeof_int=4 -ac_cv_sizeof_short=2 -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -ac_cv_c_const=${ac_cv_c_const=yes} -ac_cv_c_inline=${ac_cv_c_inline=inline} -ac_cv_func_atexit=${ac_cv_func_atexit=yes} -ac_cv_func_basename=${ac_cv_func_basename=yes} -ac_cv_func_connect=${ac_cv_func_connect=yes} -ac_cv_func_fchdir=${ac_cv_func_fchdir=yes} -ac_cv_func_flock=${ac_cv_func_flock=yes} -ac_cv_func_gethostbyname=${ac_cv_func_gethostbyname=yes} -ac_cv_func_getpass=${ac_cv_func_getpass=yes} -ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes} -ac_cv_func_gettimeofday=${ac_cv_func_gettimeofday=yes} -ac_cv_func_htons=${ac_cv_func_htons=yes} -ac_cv_func_llseek=${ac_cv_func_llseek=yes} -ac_cv_func_lockf=${ac_cv_func_lockf=yes} -ac_cv_func_lseek64=${ac_cv_func_lseek64=yes} -ac_cv_func_media_oldaliases=${ac_cv_func_media_oldaliases=no} -ac_cv_func_memcpy=${ac_cv_func_memcpy=yes} -ac_cv_func_memmove=${ac_cv_func_memmove=yes} -ac_cv_func_memset=${ac_cv_func_memset=yes} -ac_cv_func_on_exit=${ac_cv_func_on_exit=yes} -ac_cv_func_random=${ac_cv_func_random=yes} -ac_cv_func_remove=${ac_cv_func_remove=yes} -ac_cv_func_seteuid=${ac_cv_func_seteuid=yes} -ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes} -ac_cv_func_setresuid=${ac_cv_func_setresuid=yes} -ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} -ac_cv_func_shmat=${ac_cv_func_shmat=yes} -ac_cv_func_snprintf=${ac_cv_func_snprintf=yes} -ac_cv_func_srandom=${ac_cv_func_srandom=yes} -ac_cv_func_stat64=${ac_cv_func_stat64=yes} -ac_cv_func_strcasecmp=${ac_cv_func_strcasecmp=yes} -ac_cv_func_strchr=${ac_cv_func_strchr=yes} -ac_cv_func_strcspn=${ac_cv_func_strcspn=yes} -ac_cv_func_strdup=${ac_cv_func_strdup=yes} -ac_cv_func_strerror=${ac_cv_func_strerror=yes} -ac_cv_func_strncasecmp=${ac_cv_func_strncasecmp=yes} -ac_cv_func_strpbrk=${ac_cv_func_strpbrk=yes} -ac_cv_func_strrchr=${ac_cv_func_strrchr=yes} -ac_cv_func_strspn=${ac_cv_func_strspn=yes} -ac_cv_func_strtol=${ac_cv_func_strtol=yes} -ac_cv_func_strtoul=${ac_cv_func_strtoul=yes} -ac_cv_func_tcflush=${ac_cv_func_tcflush=yes} -ac_cv_func_tcsetattr=${ac_cv_func_tcsetattr=yes} -ac_cv_func_tzset=${ac_cv_func_tzset=yes} -ac_cv_func_utimes=${ac_cv_func_utimes=yes} -ac_cv_have_x=${ac_cv_have_x='have_x=yes ac_x_includes=/usr/X11R6/include ac_x_libraries=/usr/X11R6/lib'} -ac_cv_header_arpa_inet_h=${ac_cv_header_arpa_inet_h=yes} -ac_cv_header_fcntl_h=${ac_cv_header_fcntl_h=yes} -ac_cv_header_getopt_h=${ac_cv_header_getopt_h=yes} -ac_cv_header_libc_h=${ac_cv_header_libc_h=no} -ac_cv_header_limits_h=${ac_cv_header_limits_h=yes} -ac_cv_header_linux_unistd_h=${ac_cv_header_linux_unistd_h=yes} -ac_cv_header_malloc_h=${ac_cv_header_malloc_h=yes} -ac_cv_header_memory_h=${ac_cv_header_memory_h=yes} -ac_cv_header_minix_config_h=${ac_cv_header_minix_config_h=no} -ac_cv_header_mntent_h=${ac_cv_header_mntent_h=yes} -ac_cv_header_netdb_h=${ac_cv_header_netdb_h=yes} -ac_cv_header_netinet_in_h=${ac_cv_header_netinet_in_h=yes} -ac_cv_header_sgtty_h=${ac_cv_header_sgtty_h=yes} -ac_cv_header_signal_h=${ac_cv_header_signal_h=yes} -ac_cv_header_stdc=${ac_cv_header_stdc=yes} -ac_cv_header_stdlib_h=${ac_cv_header_stdlib_h=yes} -ac_cv_header_string_h=${ac_cv_header_string_h=yes} -ac_cv_header_strings_h=${ac_cv_header_strings_h=yes} -ac_cv_header_sys_file_h=${ac_cv_header_sys_file_h=yes} -ac_cv_header_sys_floppy_h=${ac_cv_header_sys_floppy_h=no} -ac_cv_header_sys_ioctl_h=${ac_cv_header_sys_ioctl_h=yes} -ac_cv_header_sys_param_h=${ac_cv_header_sys_param_h=yes} -ac_cv_header_sys_signal_h=${ac_cv_header_sys_signal_h=yes} -ac_cv_header_sys_socket_h=${ac_cv_header_sys_socket_h=yes} -ac_cv_header_sys_stat_h=${ac_cv_header_sys_stat_h=yes} -ac_cv_header_sys_sysmacros_h=${ac_cv_header_sys_sysmacros_h=yes} -ac_cv_header_sys_time_h=${ac_cv_header_sys_time_h=yes} -ac_cv_header_sys_wait_h=${ac_cv_header_sys_wait_h=yes} -ac_cv_header_termio_h=${ac_cv_header_termio_h=yes} -ac_cv_header_termios_h=${ac_cv_header_termios_h=yes} -ac_cv_header_time=${ac_cv_header_time=yes} -ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes} -ac_cv_header_utime_h=${ac_cv_header_utime_h=yes} -ac_cv_lib_ICE_IceConnectionNumber=${ac_cv_lib_ICE_IceConnectionNumber=no} -ac_cv_lib_bsd_main=${ac_cv_lib_bsd_main=no} -ac_cv_lib_cam_cam_open_device=${ac_cv_lib_cam_cam_open_device=no} -ac_cv_lib_dnet_dnet_ntoa=${ac_cv_lib_dnet_dnet_ntoa=no} -ac_cv_lib_dnet_stub_dnet_ntoa=${ac_cv_lib_dnet_stub_dnet_ntoa=no} -ac_cv_lib_nsl_main=${ac_cv_lib_nsl_main=yes} -ac_cv_lib_socket_main=${ac_cv_lib_socket_main=no} -ac_cv_lib_sun_getpwnam=${ac_cv_lib_sun_getpwnam=no} -ac_cv_path_INSTALL_INFO=${ac_cv_path_INSTALL_INFO=/sbin/install-info} -ac_cv_path_install=${ac_cv_path_install='/usr/bin/install -c'} -ac_cv_prog_CC=${ac_cv_prog_CC=sh-linux-gnu-gcc} -ac_cv_prog_CPP=${ac_cv_prog_CPP='sh-linux-gnu-gcc -E'} -ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'} -ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=yes} -ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes} -ac_cv_prog_cc_works=${ac_cv_prog_cc_works=yes} -ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} -ac_cv_prog_gcc_traditional=${ac_cv_prog_gcc_traditional=no} -ac_cv_sizeof_int=${ac_cv_sizeof_int=4} -ac_cv_sizeof_long=${ac_cv_sizeof_long=4} -ac_cv_sizeof_short=${ac_cv_sizeof_short=2} -ac_cv_struct_tm=${ac_cv_struct_tm=time.h} -ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls=yes} -ac_cv_type_signal=${ac_cv_type_signal=void} -ac_cv_type_size_t=${ac_cv_type_size_t=yes} -cf_cv_dcl_sys_errlist=${cf_cv_dcl_sys_errlist=yes} -ice_cv_have_loff_t=${ice_cv_have_loff_t=yes} -ice_cv_have_long_long=${ice_cv_have_long_long=yes} -ice_cv_have_offset_t=${ice_cv_have_offset_t=no} -mtools_cv_have_llseek_prototype=${mtools_cv_have_llseek_prototype=no} -mtools_cv_have_lseek64_prototype=${mtools_cv_have_lseek64_prototype=yes} -sfs_cv_off_t_64=${sfs_cv_off_t_64=no} diff --git a/configure.in b/configure.in index 76d257c..855e8f9 100644 --- a/configure.in +++ b/configure.in @@ -128,32 +128,9 @@ dnl see if we have a mkdir that supports `-p'. dnl AC_PATH_PROGS(MKDIR, mkdir, mkdir) AC_MSG_CHECKING(if $MKDIR supports -p) -rm -rf conftest -$MKDIR -p conftest/a 2>/dev/null -if test $? = 0 ; then - rmdir conftest/a 2>/dev/null - if test $? = 0 ; then - : - else - MKDIR_P=0 - fi +MKDIR_P="$MKDIR -p" +AC_MSG_RESULT(yes) - rmdir conftest 2>/dev/null - if test $? = 0 ; then - MKDIR_P="$MKDIR -p" - else - MKDIR_P=0 - fi -else - MKDIR_P=0 -fi - -if test X"$MKDIR_P" = X0 ; then - AC_MSG_RESULT(no) - MKDIR_P="`echo ${prefix}/lib/rpm/mkinstalldirs`" -else - AC_MSG_RESULT(yes) -fi dnl dnl substitute this into config.h, so the C source picks it up. dnl @@ -947,8 +924,6 @@ AC_OUTPUT([ Doxyfile Makefile rpmrc macros platform rpmpopt scripts/strip_files scripts/verify-elf scripts/posttrans-filetriggers - tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile - po/Makefile.in doc/Makefile doc/manual/Makefile doc/ja/Makefile doc/pl/Makefile doc/ru/Makefile doc/sk/Makefile python/Makefile ], @@ -956,38 +931,5 @@ AC_OUTPUT([ Doxyfile Makefile rpmrc macros platform rpmpopt ] ) -rm -f ./find-provides -if test -f ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov ; then - echo "using ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov for automatic provides generation" - ln -s ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.prov ./find-provides -elif test -f ${srcdir}/autodeps/${build_os_exact}.prov ; then - echo "using ${srcdir}/autodeps/${build_os_exact}.prov for automatic provides generation" - ln -s ${srcdir}/autodeps/${build_os_exact}.prov ./find-provides -elif test -f ${srcdir}/autodeps/${build_os_major}.prov ; then - echo "using ${srcdir}/autodeps/${build_os_major}.prov for automatic provides generation" - ln -s ${srcdir}/autodeps/${build_os_major}.prov ./find-provides -elif test -f ${srcdir}/autodeps/${build_os_noversion}.prov ; then - echo "using ${srcdir}/autodeps/${build_os_noversion}.prov for automatic provides generation" - ln -s ${srcdir}/autodeps/${build_os_noversion}.prov ./find-provides -else - echo "*** no default provides information is available for ${build_os_noversion}" - ln -s ${srcdir}/autodeps/none ./find-provides -fi - -rm -f ./find-requires -if test -f ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req ; then - echo "using ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req for automatic requires generation" - ln -s ${srcdir}/autodeps/${build_cpu}-${build_os_exact}.req ./find-requires -elif test -f ${srcdir}/autodeps/${build_os_exact}.req ; then - echo "using ${srcdir}/autodeps/${build_os_exact}.req for automatic requires generation" - ln -s ${srcdir}/autodeps/${build_os_exact}.req ./find-requires -elif test -f ${srcdir}/autodeps/${build_os_major}.req ; then - echo "using ${srcdir}/autodeps/${build_os_major}.req for automatic requires generation" - ln -s ${srcdir}/autodeps/${build_os_major}.req ./find-requires -elif test -f ${srcdir}/autodeps/${build_os_noversion}.req ; then - echo "using ${srcdir}/autodeps/${build_os_noversion}.req for automatic requires generation" - ln -s ${srcdir}/autodeps/${build_os_noversion}.req ./find-requires -else - echo "*** no default requires information is available for ${build_os_noversion}" - ln -s ${srcdir}/autodeps/none ./find-requires -fi +ln -s ${srcdir}/autodeps/linux.prov ./find-provides +ln -s ${srcdir}/autodeps/linux.req ./find-requires diff --git a/doc/.cvsignore b/doc/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/ja/.cvsignore b/doc/ja/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/ja/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/manual/.cvsignore b/doc/manual/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/manual/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/pl/.cvsignore b/doc/pl/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/pl/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/ru/.cvsignore b/doc/ru/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/ru/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/doc/sk/.cvsignore b/doc/sk/.cvsignore deleted file mode 100644 index 282522d..0000000 --- a/doc/sk/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/install-sh b/install-sh deleted file mode 100755 index 5871924..0000000 --- a/install-sh +++ /dev/null @@ -1,238 +0,0 @@ -#! /bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. -# - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/lib/.cvsignore b/lib/.cvsignore deleted file mode 100644 index d5d93db..0000000 --- a/lib/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -.deps -.depend -Makefile -Makefile.in -getdate.c -tagtable.c -.libs -*.la -*.lo diff --git a/missing b/missing deleted file mode 100755 index dd58370..0000000 --- a/missing +++ /dev/null @@ -1,336 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. -# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch]" - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.4 - GNU automake" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal*) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. - You can get \`$1Help2man' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then - # We have makeinfo, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - tar) - shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar ${1+"$@"} && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar ${1+"$@"} && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 diff --git a/mkinstalldirs b/mkinstalldirs deleted file mode 100755 index 3bc1836..0000000 --- a/mkinstalldirs +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/po/.cvsignore b/po/.cvsignore deleted file mode 100644 index 557ce8d..0000000 --- a/po/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -Makefile -Makefile.in -POTFILES -stamp-cat-id -cat-id-tbl.c -*.mo -*.gmo diff --git a/po/Makefile.in.in b/po/Makefile.in.in deleted file mode 100644 index cb5a26f..0000000 --- a/po/Makefile.in.in +++ /dev/null @@ -1,260 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datadir = $(prefix)/@DATADIRNAME@ -localedir = $(datadir)/locale -gnulocaledir = $(prefix)/share/locale -gettextsrcdir = $(prefix)/share/gettext/po -subdir = po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -MKINSTALLDIRS = $(top_srcdir)/@MKINSTALLDIRS@ - -CC = @CC@ -GENCAT = @GENCAT@ -GMSGFMT = PATH=../intl:$$PATH @GMSGFMT@ -MSGFMT = @MSGFMT@ -XGETTEXT = PATH=../intl:$$PATH @XGETTEXT@ -MSGMERGE = PATH=../intl:$$PATH msgmerge - -DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ - -INCLUDES = -I.. -I$(top_srcdir)/intl - -COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) - -SOURCES = cat-id-tbl.c -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = Makefile.in.in POTFILES.in $(PACKAGE).pot \ -stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES) - -POTFILES = \ - -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -INSTOBJEXT = @INSTOBJEXT@ - -.SUFFIXES: -.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat - -.c.o: - $(COMPILE) $< - -.po.pox: - $(MAKE) $(PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-@USE_NLS@ - -all-yes: cat-id-tbl.c $(CATALOGS) -all-no: - -$(srcdir)/$(PACKAGE).pot: $(POTFILES) - $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ - --add-comments --keyword=_ --keyword=N_ --keyword=RPM_ \ - --files-from=$(srcdir)/POTFILES.in \ - && test ! -f $(PACKAGE).po \ - || ( rm -f $(srcdir)/$(PACKAGE).pot \ - && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot ) - -$(srcdir)/cat-id-tbl.c: stamp-cat-id; @: -$(srcdir)/stamp-cat-id: $(PACKAGE).pot - rm -f cat-id-tbl.tmp - sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \ - | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp - if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \ - rm cat-id-tbl.tmp; \ - else \ - echo cat-id-tbl.c changed; \ - rm -f $(srcdir)/cat-id-tbl.c; \ - mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \ - fi - cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ -install-data-no: all -install-data-yes: all - if test -x "$(MKINSTALLDIRS)"; then \ - $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ - else \ - $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \ - fi - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - case "$$cat" in \ - *.gmo) destdir=$(DESTDIR)$(gnulocaledir);; \ - *) destdir=$(DESTDIR)$(localedir);; \ - esac; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - dir=$$destdir/$$lang/LC_MESSAGES; \ - if test -r "$(MKINSTALLDIRS)"; then \ - $(MKINSTALLDIRS) $$dir; \ - else \ - $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \ - fi; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(PACKAGE)$(INSTOBJEXT).m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \ - else \ - true; \ - fi; \ - fi; \ - done - if test "$(PACKAGE)" = "gettext"; then \ - if test -x "$(MKINSTALLDIRS)"; then \ - $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ - else \ - $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \ - fi; \ - $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ - $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ - else \ - : ; \ - fi - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \ - rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \ - done - -check: all - -cat-id-tbl.o: ../intl/libgettext.h - -dvi info tags TAGS ID: - -mostlyclean: - rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f $(GMOFILES) - -distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: update-po $(DISTFILES) - dists="$(DISTFILES)"; \ - for file in $$dists; do \ - ln $(srcdir)/$$file $(distdir) 2> /dev/null \ - || cp -p $(srcdir)/$$file $(distdir); \ - done - -update-po: Makefile - $(MAKE) $(PACKAGE).pot - PATH=`pwd`/../intl:$$PATH; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - mv $$lang.po $$lang.old.po; \ - echo "$$lang:"; \ - if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \ - rm -f $$lang.old.po; \ - else \ - echo "msgmerge for $$cat failed!"; \ - rm -f $$lang.po; \ - mv $$lang.old.po $$lang.po; \ - fi; \ - done - -refresh-po: Makefile - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ - if $(MSGMERGE) $$lang.po $(PACKAGE).pot > $$lang.pot ; then \ - echo "$(MSGMERGE) of $$lang succeeded" ; \ - mv -f $$lang.pot $$lang.po ; \ - else \ - echo "$(MSGMERGE) of $$lang failed" ; \ - rm -f $$lang.pot ; \ - fi \ - done - -POTFILES: POTFILES.in - ( if test 'x$(srcdir)' != 'x.'; then \ - posrcprefix='$(top_srcdir)/'; \ - else \ - posrcprefix="../"; \ - fi; \ - rm -f $@-t $@ \ - && (sed -e '/^#/d' -e '/^[ ]*$$/d' \ - -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ - | sed -e '$$s/\\$$//') > $@-t \ - && chmod a-w $@-t \ - && mv $@-t $@ ) - -Makefile: Makefile.in.in ../config.status POTFILES - cd .. \ - && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ - $(SHELL) ./config.status - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/python/.cvsignore b/python/.cvsignore deleted file mode 100644 index 52d3033..0000000 --- a/python/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -.deps -Makefile -Makefile.in -config.h.in -.libs -*.la -*.lo diff --git a/rpm-4_0.spec b/rpm-4_0.spec index 8c0ba25..d2e4644 100644 --- a/rpm-4_0.spec +++ b/rpm-4_0.spec @@ -18,7 +18,6 @@ Release: alt77.M40.25 %def_with libelf %def_without apidocs %def_without db -%def_without contrib %def_without build_topdir # XXX enable at your own risk, CDB access to rpmdb isn't cooked yet. @@ -130,13 +129,6 @@ License: GPL Group: System/Configuration/Packaging PreReq: %name = %version-%release -%package contrib -Summary: Contributed scripts and executable programs which aren't currently used -Summary(ru_RU.KOI8-R): æÁÊÌÙ, ÎÅ ÉÓÐÏÌØÚÕÅÍÙÅ × ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ -License: GPL -Group: Development/Other -PreReq: %name-build = %version-%release - %description The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, @@ -188,10 +180,6 @@ This package contains RPM package installation and build directory tree. %description static This package contains statically linked version of the RPM program. -%description contrib -This package contains extra scripts and executable programs which arent -currently used. - %if_with python %package -n python-module-rpm Version: %{rpm_version}_%__python_version @@ -290,7 +278,7 @@ touch %buildroot%_localstatedir/%name/files-awaiting-filetriggers # Prepare documentation. bzip2 -9 CHANGES ||: mkdir -p %buildroot%_docdir/%name-%rpm_version -install -p -m644 CHANGES* CREDITS README README.ALT* RPM-GPG-KEY RPM-PGP-KEY \ +install -p -m644 CHANGES* CREDITS README README.ALT* \ %buildroot%_docdir/%name-%rpm_version/ cp -a doc/manual %buildroot%_docdir/%name-%rpm_version/ rm -f %buildroot%_docdir/%name-%rpm_version/manual/{Makefile*,buildroot} @@ -448,7 +436,6 @@ fi %rpmattr %_rpmlibdir/brp-* %rpmattr %_rpmlibdir/*_files %rpmattr %_rpmlibdir/check-files -%rpmattr %_rpmlibdir/convertrpmrc.sh %rpmattr %_rpmlibdir/ldd %rpmattr %_rpmlibdir/rpm2cpio.sh %rpmattr %_rpmlibdir/find-lang @@ -456,14 +443,11 @@ fi %rpmattr %_rpmlibdir/find-provides %rpmattr %_rpmlibdir/find-requires %rpmattr %_rpmlibdir/fixup-* -%rpmattr %_rpmlibdir/http.req %rpmattr %_rpmlibdir/files.* %rpmattr %_rpmlibdir/pam.* %rpmattr %_rpmlibdir/pkgconfig.* %rpmattr %_rpmlibdir/shell.* -%rpmattr %_rpmlibdir/sql.* %rpmattr %_rpmlibdir/verify-elf -%rpmattr %_rpmlibdir/Specfile.pm %rpmattr %_rpmlibdir/*.awk %_mandir/man?/gendiff.* @@ -489,26 +473,6 @@ fi %_bindir/rpm.static %_bindir/rpm2cpio.static -%if_with contrib -%files contrib -%rpmattr %dir %_rpmlibdir -%rpmattr %_rpmlibdir/cpanflute* -%rpmattr %_rpmlibdir/cross-build -%rpmattr %_rpmlibdir/find-prov.pl -%rpmattr %_rpmlibdir/find-provides.perl -%rpmattr %_rpmlibdir/find-req.pl -%rpmattr %_rpmlibdir/find-requires.perl -%rpmattr %_rpmlibdir/get_magic.pl -%rpmattr %_rpmlibdir/getpo.sh -%rpmattr %_rpmlibdir/javadeps -%rpmattr %_rpmlibdir/magic.* -%rpmattr %_rpmlibdir/rpmdiff* -%rpmattr %_rpmlibdir/trpm -%rpmattr %_rpmlibdir/u_pkg.sh -%rpmattr %_rpmlibdir/vpkg-provides.sh -%rpmattr %_rpmlibdir/vpkg-provides2.sh -%endif #with contrib - %changelog * Tue Sep 29 2009 Alexey Tourbin 4.0.4-alt77.M40.25 - build/parsePrep.c (doUntar): Remove "-L" option from "unzip" invocation diff --git a/rpm.magic b/rpm.magic deleted file mode 100644 index 01a9b54..0000000 --- a/rpm.magic +++ /dev/null @@ -1,21 +0,0 @@ -#------------------------------------------------------------------------------ -# -# RPM: file(1) magic for Red Hat Packages -# -0 beshort 0xedab ->2 beshort 0xeedb RPM ->>4 byte x v%d ->>6 beshort 0 bin ->>6 beshort 1 src ->>8 beshort 1 i386 ->>8 beshort 2 Alpha ->>8 beshort 3 Sparc ->>8 beshort 4 MIPS big endian ->>8 beshort 5 PowerPC ->>8 beshort 6 68000 ->>8 beshort 7 SGI ->>8 beshort 8 RS6000 ->>8 beshort 10 Sparc 64bit ->>8 beshort 11 MIPS little endian ->>8 beshort 12 ARM ->>10 string x %s diff --git a/rpmdb/.cvsignore b/rpmdb/.cvsignore deleted file mode 100644 index 85d4b83..0000000 --- a/rpmdb/.cvsignore +++ /dev/null @@ -1,9 +0,0 @@ -.deps -.depend -.created -Makefile -Makefile.in -.libs -db3lobjs -*.la -*.lo diff --git a/rpmio/.cvsignore b/rpmio/.cvsignore deleted file mode 100644 index eb7c933..0000000 --- a/rpmio/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -.created -.deps -.depend -Makefile -Makefile.in -.libs -*.la -*.lo -tdigest -tkey -trpmio diff --git a/rpmio/Makefile.am b/rpmio/Makefile.am index 61de9f9..e78b719 100644 --- a/rpmio/Makefile.am +++ b/rpmio/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = 1.4 foreign EXTRA_DIST = tdigest.c tficl.c tkey.c trpmio.c -EXTRA_PROGRAMS = tdigest tkey tring trpmio dumpasn1 +EXTRA_PROGRAMS = tdigest tkey tring trpmio INCLUDES = -I. @INCPATH@ @@ -37,8 +37,6 @@ tring_SOURCES = tring.c tring_LDFLAGS = -all-static tring_LDADD = librpmio.la @LIBPOPT@ -dumpasn1_SOURCES = dumpasn1.c - .PHONY: sources sources: @echo $(librpmio_la_SOURCES:%=rpmio/%) diff --git a/rpmio/dumpasn1.c b/rpmio/dumpasn1.c deleted file mode 100644 index b0354c1..0000000 --- a/rpmio/dumpasn1.c +++ /dev/null @@ -1,1936 +0,0 @@ -/* ASN.1 object dumping code, copyright Peter Gutmann - , based on ASN.1 dump program by David Kemp - , with contributions from various people including - Matthew Hamrick , Bruno Couillard - , Hallvard Furuseth - , Geoff Thorpe , David Boyce - , John Hughes , Life is - hard, and then you die , and several other people - whose names I've misplaced. - - Available from http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.c. - Last updated 21 November 2000. - - This version of dumpasn1 requires a config file dumpasn1.cfg to be present - in the same location as the program itself or in a standard directory - where binaries live (it will run without it but will display a warning - message, you can configure the path either by hardcoding it in or using an - environment variable as explained further down). The config file is - available from http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.cfg. - - This code assumes that the input data is binary, having come from a MIME- - aware mailer or been piped through a decoding utility if the original - format used base64 encoding. Bruno Couillard has created a modified - version which will read raw base64-encoded data (ie without any MIME - encapsulation or other headers) directly, at the expense of being somewhat - non-portable. Alternatively, you can use utilities like uudeview (which - will strip virtually any kind of encoding, MIME, PEM, PGP, whatever) to - recover the binary original. - - You can use this code in whatever way you want, as long as you don't try - to claim you wrote it. - - Editing notes: Tabs to 4, phasers to stun */ - -#include -#include -#include -#include - -/* Useful defines */ - -#ifndef TRUE - #define FALSE 0 - #define TRUE ( !FALSE ) -#endif /* TRUE */ - -/* SunOS 4.x doesn't define seek codes or exit codes or FILENAME_MAX (it does - define _POSIX_MAX_PATH, but in funny locations and to different values - depending on which include file you use). Some OS's also define - FILENAME_MAX to silly values (eg 14 bytes), so we replace it with a more - sensible setting if necessary */ - -#ifndef SEEK_SET - #define SEEK_SET 0 - #define SEEK_CUR 2 -#endif /* No fseek() codes defined */ -#ifndef EXIT_FAILURE - #define EXIT_FAILURE 1 - #define EXIT_SUCCESS ( !EXIT_FAILURE ) -#endif /* No exit() codes defined */ -#ifndef FILENAME_MAX - #define FILENAME_MAX 512 -#else - #if FILENAME_MAX < 128 - #undef FILENAME_MAX - #define FILENAME_MAX 512 - #endif /* FILENAME_MAX < 128 */ -#endif /* FILENAME_MAX */ - -/* Under Windows we can do special-case handling for things like BMPStrings */ - -#if ( defined( _WINDOWS ) || defined( WIN32 ) || defined( _WIN32 ) || \ - defined( __WIN32__ ) ) - #define __WIN32__ -#endif /* Win32 */ - -/* Some OS's don't define the min() macro */ - -#ifndef min - #define min(a,b) ( ( a ) < ( b ) ? ( a ) : ( b ) ) -#endif /* !min */ - -/* The level of recursion can get scary for deeply-nested structures so we - use a larger-than-normal stack under DOS */ - -#ifdef __TURBOC__ - extern unsigned _stklen = 16384; -#endif /* __TURBOC__ */ - -/* When we dump a nested data object encapsulated within a larger object, the - length is initially set to a magic value which is adjusted to the actual - length once we start parsing the object */ - -#define LENGTH_MAGIC 177545L - -/* Tag classes */ - -#define CLASS_MASK 0xC0 /* Bits 8 and 7 */ -#define UNIVERSAL 0x00 /* 0 = Universal (defined by ITU X.680) */ -#define APPLICATION 0x40 /* 1 = Application */ -#define CONTEXT 0x80 /* 2 = Context-specific */ -#define PRIVATE 0xC0 /* 3 = Private */ - -/* Encoding type */ - -#define FORM_MASK 0x20 /* Bit 6 */ -#define PRIMITIVE 0x00 /* 0 = primitive */ -#define CONSTRUCTED 0x20 /* 1 = constructed */ - -/* Universal tags */ - -#define TAG_MASK 0x1F /* Bits 5 - 1 */ -#define EOC 0x00 /* 0: End-of-contents octets */ -#define BOOLEAN 0x01 /* 1: Boolean */ -#define INTEGER 0x02 /* 2: Integer */ -#define BITSTRING 0x03 /* 2: Bit string */ -#define OCTETSTRING 0x04 /* 4: Byte string */ -#define NULLTAG 0x05 /* 5: NULL */ -#define OID 0x06 /* 6: Object Identifier */ -#define OBJDESCRIPTOR 0x07 /* 7: Object Descriptor */ -#define EXTERNAL 0x08 /* 8: External */ -#define REAL 0x09 /* 9: Real */ -#define ENUMERATED 0x0A /* 10: Enumerated */ -#define EMBEDDED_PDV 0x0B /* 11: Embedded Presentation Data Value */ -#define UTF8STRING 0x0C /* 12: UTF8 string */ -#define SEQUENCE 0x10 /* 16: Sequence/sequence of */ -#define SET 0x11 /* 17: Set/set of */ -#define NUMERICSTRING 0x12 /* 18: Numeric string */ -#define PRINTABLESTRING 0x13 /* 19: Printable string (ASCII subset) */ -#define T61STRING 0x14 /* 20: T61/Teletex string */ -#define VIDEOTEXSTRING 0x15 /* 21: Videotex string */ -#define IA5STRING 0x16 /* 22: IA5/ASCII string */ -#define UTCTIME 0x17 /* 23: UTC time */ -#define GENERALIZEDTIME 0x18 /* 24: Generalized time */ -#define GRAPHICSTRING 0x19 /* 25: Graphic string */ -#define VISIBLESTRING 0x1A /* 26: Visible string (ASCII subset) */ -#define GENERALSTRING 0x1B /* 27: General string */ -#define UNIVERSALSTRING 0x1C /* 28: Universal string */ -#define BMPSTRING 0x1E /* 30: Basic Multilingual Plane/Unicode string */ - -/* Length encoding */ - -#define LEN_XTND 0x80 /* Indefinite or long form */ -#define LEN_MASK 0x7F /* Bits 7 - 1 */ - -/* Various special-case operations to perform on strings */ - -typedef enum { - STR_NONE, /* No special handling */ - STR_UTCTIME, /* Check it's UTCTime */ - STR_PRINTABLE, /* Check it's a PrintableString */ - STR_IA5, /* Check it's an IA5String */ - STR_BMP /* Read and display string as Unicode */ - } STR_OPTION; - -/* Structure to hold info on an ASN.1 item */ - -typedef struct { - int id; /* Identifier */ - int tag; /* Tag */ - long length; /* Data length */ - int indefinite; /* Item has indefinite length */ - int headerSize; /* Size of tag+length */ - unsigned char header[ 8 ]; /* Tag+length data */ - } ASN1_ITEM; - -/* Config options */ - -static int printDots = FALSE; /* Whether to print dots to align columns */ -static int doPure = FALSE; /* Print data without LHS info column */ -static int doDumpHeader = FALSE; /* Dump tag+len in hex (level = 0, 1, 2) */ -static int extraOIDinfo = FALSE; /* Print extra information about OIDs */ -static int doHexValues = FALSE; /* Display size, offset in hex not dec.*/ -static int useStdin = FALSE; /* Take input from stdin */ -static int zeroLengthAllowed = FALSE;/* Zero-length items allowed */ -static int dumpText = FALSE; /* Dump text alongside hex data */ -static int printAllData = FALSE; /* Whether to print all data in long blocks */ -static int checkEncaps = TRUE; /* Print encaps.data in BIT/OCTET STRINGs */ - -/* Error and warning information */ - -static int noErrors = 0; /* Number of errors found */ -static int noWarnings = 0; /* Number of warnings */ - -/* Position in the input stream */ - -static int fPos = 0; /* Absolute position in data */ - -/* The output stream */ - -static FILE *output; /* Output stream */ - -/* Information on an ASN.1 Object Identifier */ - -#define MAX_OID_SIZE 32 - -typedef struct tagOIDINFO { - struct tagOIDINFO *next; /* Next item in list */ - char oid[ MAX_OID_SIZE ], *comment, *description; - int oidLength; /* Name, rank, serial number */ - int warn; /* Whether to warn if OID encountered */ - } OIDINFO; - -static OIDINFO *oidList = NULL; - -/* If the config file isn't present in the current directory, we search the - following paths (this is needed for Unix with dumpasn1 somewhere in the - path, since this doesn't set up argv[0] to the full path). Anything - beginning with a '$' uses the appropriate environment variable */ - -#define CONFIG_NAME "dumpasn1.cfg" - -static const char *configPaths[] = { - /* Unix absolute paths */ - "/bin/", "/usr/bin/", "/usr/local/bin/", - - /* Windoze absolute paths. Usually things are on C:, but older NT setups - are easier to do on D: if the initial copy is done to C: */ - "c:\\dos\\", "d:\\dos\\", "c:\\windows\\", "d:\\windows\\", - "c:\\winnt\\", "d:\\winnt\\", - - /* It's my program, I'm allowed to hardcode in strange paths which noone - else uses */ - "$HOME/BIN/", "c:\\program files\\bin\\", - - /* Unix environment-based paths */ - "$HOME/", "$HOME/bin/", - - /* General environment-based paths */ - "$DUMPASN1_PATH/", - - NULL - }; - -#define isEnvTerminator( c ) \ - ( ( ( c ) == '/' ) || ( ( c ) == '.' ) || ( ( c ) == '$' ) || \ - ( ( c ) == '\0' ) || ( ( c ) == '~' ) ) - -/**************************************************************************** -* * -* Object Identification/Description Routines * -* * -****************************************************************************/ - -/* Return descriptive strings for universal tags */ - -char *idstr( const int tagID ) - { - switch( tagID ) - { - case EOC: - return( "End-of-contents octets" ); - case BOOLEAN: - return( "BOOLEAN" ); - case INTEGER: - return( "INTEGER" ); - case BITSTRING: - return( "BIT STRING" ); - case OCTETSTRING: - return( "OCTET STRING" ); - case NULLTAG: - return( "NULL" ); - case OID: - return( "OBJECT IDENTIFIER" ); - case OBJDESCRIPTOR: - return( "ObjectDescriptor" ); - case EXTERNAL: - return( "EXTERNAL" ); - case REAL: - return( "REAL" ); - case ENUMERATED: - return( "ENUMERATED" ); - case EMBEDDED_PDV: - return( "EMBEDDED PDV" ); - case UTF8STRING: - return( "UTF8String" ); - case SEQUENCE: - return( "SEQUENCE" ); - case SET: - return( "SET" ); - case NUMERICSTRING: - return( "NumericString" ); - case PRINTABLESTRING: - return( "PrintableString" ); - case T61STRING: - return( "TeletexString" ); - case VIDEOTEXSTRING: - return( "VideotexString" ); - case IA5STRING: - return( "IA5String" ); - case UTCTIME: - return( "UTCTime" ); - case GENERALIZEDTIME: - return( "GeneralizedTime" ); - case GRAPHICSTRING: - return( "GraphicString" ); - case VISIBLESTRING: - return( "VisibleString" ); - case GENERALSTRING: - return( "GeneralString" ); - case UNIVERSALSTRING: - return( "UniversalString" ); - case BMPSTRING: - return( "BMPString" ); - default: - return( "Unknown (Reserved)" ); - } - } - -/* Return information on an object identifier */ - -static OIDINFO *getOIDinfo( char *oid, const int oidLength ) - { - OIDINFO *oidPtr; - - memset( oid + oidLength, 0, 2 ); - for( oidPtr = oidList; oidPtr != NULL; oidPtr = oidPtr->next ) - if( oidLength == oidPtr->oidLength - 2 && \ - !memcmp( oidPtr->oid + 2, oid, oidLength ) ) - return( oidPtr ); - - return( NULL ); - } - -/* Add an OID attribute */ - -static int addAttribute( char **buffer, char *attribute ) - { - if( ( *buffer = ( char * ) malloc( strlen( attribute ) + 1 ) ) == NULL ) - { - puts( "Out of memory." ); - return( FALSE ); - } - strcpy( *buffer, attribute ); - return( TRUE ); - } - -/* Table to identify valid string chars (taken from cryptlib) */ - -#define P 1 /* PrintableString */ -#define I 2 /* IA5String */ -#define PI 3 /* IA5String and PrintableString */ - -static int charFlags[] = { - /* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - /* ! " # $ % & ' ( ) * + , - . / */ - PI, I, I, I, I, I, I, PI, PI, PI, I, PI, PI, PI, PI, PI, - /* 0 1 2 3 4 5 6 7 8 9 : ; < = > ? */ - PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, I, I, PI, I, PI, - /* @ A B C D E F G H I J K L M N O */ - I, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, - /* P Q R S T U V W X Y Z [ \ ] ^ _ */ - PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, I, I, I, I, I, - /* ` a b c d e f g h i j k l m n o */ - I, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, - /* p q r s t u v w x y z { | } ~ DL */ - PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, PI, I, I, I, I, 0 - }; - -static int isPrintable( int ch ) - { - if( ch >= 128 || !( charFlags[ ch ] & P ) ) - return( FALSE ); - return( TRUE ); - } - -static int isIA5( int ch ) - { - if( ch >= 128 || !( charFlags[ ch ] & I ) ) - return( FALSE ); - return( TRUE ); - } - -/**************************************************************************** -* * -* Config File Read Routines * -* * -****************************************************************************/ - -/* Files coming from DOS/Windows systems may have a ^Z (the CP/M EOF char) - at the end, so we need to filter this out */ - -#define CPM_EOF 0x1A /* ^Z = CPM EOF char */ - -/* The maximum input line length */ - -#define MAX_LINESIZE 512 - -/* Read a line of text from the config file */ - -static int lineNo; - -static int readLine( FILE *file, char *buffer ) - { - int bufCount = 0, ch; - - /* Skip whitespace */ - while( ( ( ch = getc( file ) ) == ' ' || ch == '\t' ) && !feof( file ) ); - - /* Get a line into the buffer */ - while( ch != '\r' && ch != '\n' && ch != CPM_EOF && !feof( file ) ) - { - /* Check for an illegal char in the data. Note that we don't just - check for chars with high bits set because these are legal in - non-ASCII strings */ - if( ( ch & 0x7F ) < ' ' ) - { - printf( "Bad character '%c' in config file line %d.\n", - ch, lineNo ); - return( FALSE ); - } - - /* Check to see if it's a comment line */ - if( ch == '#' && !bufCount ) - { - /* Skip comment section and trailing whitespace */ - while( ch != '\r' && ch != '\n' && ch != CPM_EOF && !feof( file ) ) - ch = getc( file ); - break; - } - - /* Make sure the line is of the correct length */ - if( bufCount > MAX_LINESIZE ) - { - printf( "Config file line %d too long.\n", lineNo ); - return( FALSE ); - } - else - if( ch ) /* Can happen if we read a binary file */ - buffer[ bufCount++ ] = ch; - - /* Get next character */ - ch = getc( file ); - } - - /* If we've just passed a CR, check for a following LF */ - if( ch == '\r' ) - if( ( ch = getc( file ) ) != '\n' ) - ungetc( ch, file ); - - /* Skip trailing whitespace and add der terminador */ - while( bufCount > 0 && - ( ( ch = buffer[ bufCount - 1 ] ) == ' ' || ch == '\t' ) ) - bufCount--; - buffer[ bufCount ] = '\0'; - - /* Handle special-case of ^Z if file came off an MSDOS system */ - if( ch == CPM_EOF ) - while( !feof( file ) ) - /* Keep going until we hit the true EOF (or some sort of error) */ - ch = getc( file ); - - return( ferror( file ) ? FALSE : TRUE ); - } - -/* Process an OID specified as space-separated hex digits */ - -static int processHexOID( OIDINFO *oidInfo, char *string ) - { - int value, index = 0; - - while( *string && index < MAX_OID_SIZE - 1 ) - { - if( sscanf( string, "%x", &value ) != 1 || value > 255 ) - { - printf( "Invalid hex value in config file line %d.\n", lineNo ); - return( FALSE ); - } - oidInfo->oid[ index++ ] = value; - string += 2; - if( *string && *string++ != ' ' ) - { - printf( "Invalid hex string in config file line %d.\n", lineNo ); - return( FALSE ); - } - } - oidInfo->oid[ index ] = 0; - oidInfo->oidLength = index; - if( index >= MAX_OID_SIZE - 1 ) - { - printf( "OID value in config file line %d too long.\n", lineNo ); - return( FALSE ); - } - return( TRUE ); - } - -/* Read a config file */ - -static int readConfig( const char *path, const int isDefaultConfig ) - { - OIDINFO dummyOID = { NULL, "Dummy", "Dummy", "Dummy", 1 }, *oidPtr; - FILE *file; - char buffer[ MAX_LINESIZE ]; - int status; - - /* Try and open the config file */ - if( ( file = fopen( path, "rb" ) ) == NULL ) - { - /* If we can't open the default config file, issue a warning but - continue anyway */ - if( isDefaultConfig ) - { - puts( "Cannot open config file 'dumpasn1.cfg', which should be in the same" ); - puts( "directory as the dumpasn1 program. Operation will continue without" ); - puts( "the ability to display Object Identifier information." ); - puts( "" ); - puts( "If the config file is located elsewhere, you can set the environment" ); - puts( "variable DUMPASN1_CFG to the path to the file." ); - return( TRUE ); - } - - printf( "Cannot open config file '%s'.\n", path ); - return( FALSE ); - } - - /* Add the new config entries at the appropriate point in the OID list */ - if( oidList == NULL ) - oidPtr = &dummyOID; - else - for( oidPtr = oidList; oidPtr->next != NULL; oidPtr = oidPtr->next ); - - /* Read each line in the config file */ - lineNo = 1; - while( ( status = readLine( file, buffer ) ) == TRUE && !feof( file ) ) - { - /* If it's a comment line, skip it */ - if( !*buffer ) - { - lineNo++; - continue; - } - - /* Check for an attribute tag */ - if( !strncmp( buffer, "OID = ", 6 ) ) - { - /* Make sure all the required attributes for the current OID are - present */ - if( oidPtr->description == NULL ) - { - printf( "OID ending on config file line %d has no " - "description attribute.\n", lineNo - 1 ); - return( FALSE ); - } - - /* Allocate storage for the new OID */ - if( ( oidPtr->next = ( struct tagOIDINFO * ) \ - malloc( sizeof( OIDINFO ) ) ) == NULL ) - { - puts( "Out of memory." ); - return( FALSE ); - } - oidPtr = oidPtr->next; - if( oidList == NULL ) - oidList = oidPtr; - memset( oidPtr, 0, sizeof( OIDINFO ) ); - - /* Add the new OID */ - if( !processHexOID( oidPtr, buffer + 6 ) ) - return( FALSE ); - } - else if( !strncmp( buffer, "Description = ", 14 ) ) - { - if( oidPtr->description != NULL ) - { - printf( "Duplicate OID description in config file line %d.\n", - lineNo ); - return( FALSE ); - } - if( !addAttribute( &oidPtr->description, buffer + 14 ) ) - return( FALSE ); - } - else if( !strncmp( buffer, "Comment = ", 10 ) ) - { - if( oidPtr->comment != NULL ) - { - printf( "Duplicate OID comment in config file line %d.\n", - lineNo ); - return( FALSE ); - } - if( !addAttribute( &oidPtr->comment, buffer + 10 ) ) - return( FALSE ); - } - else if( !strncmp( buffer, "Warning", 7 ) ) - { - if( oidPtr->warn ) - { - printf( "Duplicate OID warning in config file line %d.\n", - lineNo ); - return( FALSE ); - } - oidPtr->warn = TRUE; - } - else - { - printf( "Unrecognised attribute '%s', line %d.\n", buffer, - lineNo ); - return( FALSE ); - } - - lineNo++; - } - fclose( file ); - - return( status ); - } - -/* Check for the existence of a config file path */ - -static int testConfigPath( const char *path ) - { - FILE *file; - - /* Try and open the config file */ - if( ( file = fopen( path, "rb" ) ) == NULL ) - return( FALSE ); - fclose( file ); - - return( TRUE ); - } - -/* Build a config path by substituting environment strings for $NAMEs */ - -static void buildConfigPath( char *path, const char *pathTemplate ) - { - char pathBuffer[ FILENAME_MAX ], newPath[ FILENAME_MAX ]; - int pathLen, pathPos = 0, newPathPos = 0; - - /* Add the config file name at the end */ - strcpy( pathBuffer, pathTemplate ); - strcat( pathBuffer, CONFIG_NAME ); - pathLen = strlen( pathBuffer ); - - while( pathPos < pathLen ) - { - char *strPtr; - int substringSize; - - /* Find the next $ and copy the data before it to the new path */ - if( ( strPtr = strstr( pathBuffer + pathPos, "$" ) ) != NULL ) - substringSize = ( int ) ( ( strPtr - pathBuffer ) - pathPos ); - else - substringSize = pathLen - pathPos; - if( substringSize > 0 ) - memcpy( newPath + newPathPos, pathBuffer + pathPos, - substringSize ); - newPathPos += substringSize; - pathPos += substringSize; - - /* Get the environment string for the $NAME */ - if( strPtr != NULL ) - { - char envName[ MAX_LINESIZE ], *envString; - int i; - - /* Skip the '$', find the end of the $NAME, and copy the name - into an internal buffer */ - pathPos++; /* Skip the $ */ - for( i = 0; !isEnvTerminator( pathBuffer[ pathPos + i ] ); i++ ); - memcpy( envName, pathBuffer + pathPos, i ); - envName[ i ] = '\0'; - - /* Get the env.string and copy it over */ - if( ( envString = getenv( envName ) ) != NULL ) - { - const int envStrLen = strlen( envString ); - - if( newPathPos + envStrLen < FILENAME_MAX - 2 ) - { - memcpy( newPath + newPathPos, envString, envStrLen ); - newPathPos += envStrLen; - } - } - pathPos += i; - } - } - newPath[ newPathPos ] = '\0'; /* Add der terminador */ - - /* Copy the new path to the output */ - strcpy( path, newPath ); - } - -/* Read the global config file */ - -static int readGlobalConfig( const char *path ) - { - char buffer[ FILENAME_MAX ], *namePos; - int i; - - /* First, try and find the config file in the same directory as the - executable. This requires that argv[0] be set up properly, which - isn't the case if Unix search paths are being used, and seems to be - pretty broken under Windows */ - namePos = strstr( path, "dumpasn1" ); - if( namePos == NULL ) - namePos = strstr( path, "DUMPASN1" ); - if( strlen( path ) < FILENAME_MAX - 13 && namePos != NULL ) - { - strcpy( buffer, path ); - strcpy( buffer + ( int ) ( namePos - ( char * ) path ), CONFIG_NAME ); - if( testConfigPath( buffer ) ) - return( readConfig( buffer, TRUE ) ); - } - - /* Now try each of the possible absolute locations for the config file */ - for( i = 0; configPaths[ i ] != NULL; i++ ) - { - buildConfigPath( buffer, configPaths[ i ] ); - if( testConfigPath( buffer ) ) - return( readConfig( buffer, TRUE ) ); - } - - /* Default out to just the config name (which should fail as it was the - first entry in configPaths[]). readConfig() will display the - appropriate warning */ - return( readConfig( CONFIG_NAME, TRUE ) ); - } - -/**************************************************************************** -* * -* Output/Formatting Routines * -* * -****************************************************************************/ - -/* Indent a string by the appropriate amount */ - -static void doIndent( const int level ) - { - int i; - - for( i = 0; i < level; i++ ) - fprintf( output, ( printDots ) ? ". " : " " ); - } - -/* Complain about an error in the ASN.1 object */ - -static void complain( const char *message, const int level ) - { - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - fprintf( output, "Error: %s.\n", message ); - noErrors++; - } - -/* Dump data as a string of hex digits up to a maximum of 128 bytes */ - -static void dumpHex( FILE *inFile, long length, int level, int isInteger ) - { - const int lineLength = ( dumpText ) ? 8 : 16; - char printable[ 9 ]; - long noBytes = length; - int zeroPadded = FALSE, warnPadding = FALSE, warnNegative = isInteger; - int maxLevel = ( doPure ) ? 15 : 8, i; - - if( noBytes > 128 && !printAllData ) - noBytes = 128; /* Only output a maximum of 128 bytes */ - if( level > maxLevel ) - level = maxLevel; /* Make sure we don't go off edge of screen */ - printable[ 8 ] = printable[ 0 ] = '\0'; - for( i = 0; i < noBytes; i++ ) - { - int ch; - - if( !( i % lineLength ) ) - { - if( dumpText ) - { - /* If we're dumping text alongside the hex data, print the - accumulated text string */ - fputs( " ", output ); - fputs( printable, output ); - } - fputc( '\n', output ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - } - ch = getc( inFile ); - fprintf( output, "%s%02X", i % lineLength ? " " : "", ch ); - printable[ i % 8 ] = ( ch >= ' ' && ch < 127 ) ? ch : '.'; - fPos++; - - /* If we need to check for negative values and zero padding, check - this now */ - if( !i ) - { - if( !ch ) - zeroPadded = TRUE; - if( !( ch & 0x80 ) ) - warnNegative = FALSE; - } - if( i == 1 && zeroPadded && ch < 0x80 ) - warnPadding = TRUE; - } - if( dumpText ) - { - /* Print any remaining text */ - i %= lineLength; - printable[ i ] = '\0'; - while( i < lineLength ) - { - fprintf( output, " " ); - i++; - } - fputs( " ", output ); - fputs( printable, output ); - } - if( length > 128 && !printAllData ) - { - length -= 128; - fputc( '\n', output ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 5 ); - fprintf( output, "[ Another %ld bytes skipped ]", length ); - if( useStdin ) - { - while( length-- ) - getc( inFile ); - } - else - fseek( inFile, length, SEEK_CUR ); - fPos += length; - } - fputs( "\n", output ); - - if( isInteger ) - { - if( warnPadding ) - complain( "Integer has non-DER encoding", level ); - if( warnNegative ) - complain( "Integer has a negative value", level ); - } - } - -/* Dump a bitstring, reversing the bits into the standard order in the - process */ - -static void dumpBitString( FILE *inFile, const int length, const int unused, - const int level ) - { - unsigned int bitString = 0, currentBitMask = 0x80, remainderMask = 0xFF; - int bitFlag, value = 0, noBits, bitNo = -1, i; - char *errorStr = NULL; - - if( unused < 0 || unused > 7 ) - complain( "Invalid number of unused bits", level ); - noBits = ( length * 8 ) - unused; - - /* ASN.1 bitstrings start at bit 0, so we need to reverse the order of - the bits */ - if( length ) - { - bitString = fgetc( inFile ); - fPos++; - } - for( i = noBits - 8; i > 0; i -= 8 ) - { - bitString = ( bitString << 8 ) | fgetc( inFile ); - currentBitMask <<= 8; - remainderMask = ( remainderMask << 8 ) | 0xFF; - fPos++; - } - for( i = 0, bitFlag = 1; i < noBits; i++ ) - { - if( bitString & currentBitMask ) - value |= bitFlag; - if( !( bitString & remainderMask ) ) - /* The last valid bit should be a one bit */ - errorStr = "Spurious zero bits in bitstring"; - bitFlag <<= 1; - bitString <<= 1; - } - if( ( remainderMask << noBits ) & value ) - /* There shouldn't be any bits set after the last valid one */ - errorStr = "Spurious one bits in bitstring"; - - /* Now that it's in the right order, dump it. If there's only one - bit set (which is often the case for bit flags) we also print the - bit number to save users having to count the zeroes to figure out - which flag is set */ - fputc( '\n', output ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - fputc( '\'', output ); - currentBitMask = 1 << ( noBits - 1 ); - for( i = 0; i < noBits; i++ ) - { - if( value & currentBitMask ) - { - bitNo = ( bitNo == -1 ) ? ( noBits - 1 ) - i : -2; - fputc( '1', output ); - } - else - fputc( '0', output ); - currentBitMask >>= 1; - } - if( bitNo >= 0 ) - fprintf( output, "'B (bit %d)\n", bitNo ); - else - fputs( "'B\n", output ); - - if( errorStr != NULL ) - complain( errorStr, level ); - } - -/* Display data as a text string up to a maximum of 240 characters (8 lines - of 48 chars to match the hex limit of 8 lines of 16 bytes) with special - treatement for control characters and other odd things which can turn up - in BMPString and UniversalString types. - - If the string is less than 40 chars in length, we try to print it on the - same line as the rest of the text (even if it wraps), otherwise we break - it up into 48-char chunks in a somewhat less nice text-dump format */ - -static void displayString( FILE *inFile, long length, int level, - STR_OPTION strOption ) - { - long noBytes = ( length > 384 ) ? 384 : length; - int lineLength = 48; - int maxLevel = ( doPure ) ? 15 : 8, firstTime = TRUE, i; - int warnIA5 = FALSE, warnPrintable = FALSE, warnUTC = FALSE; - int warnBMP = FALSE; - - if( strOption == STR_UTCTIME && length != 13 ) - warnUTC = TRUE; - if( length <= 40 ) - fprintf( output, " '" ); /* Print string on same line */ - if( level > maxLevel ) - level = maxLevel; /* Make sure we don't go off edge of screen */ - for( i = 0; i < noBytes; i++ ) - { - int ch; - - /* If the string is longer than 40 chars, break it up into multiple - sections */ - if( length > 40 && !( i % lineLength ) ) - { - if( !firstTime ) - fputc( '\'', output ); - fputc( '\n', output ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - fputc( '\'', output ); - firstTime = FALSE; - } - ch = getc( inFile ); -#ifdef __WIN32__ - if( strOption == STR_BMP ) - { - if( i == noBytes - 1 && ( noBytes & 1 ) ) - /* Odd-length BMP string, complain */ - warnBMP = TRUE; - else - { - wchar_t wCh = ( ch << 8 ) | getc( inFile ); - unsigned char outBuf[ 8 ]; - int outLen; - - /* Attempting to display Unicode characters is pretty hit and - miss, and if it fails nothing is displayed. To try and - detect this we use wcstombs() to see if anything can be - displayed, if it can't we drop back to trying to display - the data as non-Unicode */ - outLen = wcstombs( outBuf, &wCh, 1 ); - if( outLen < 1 ) - { - /* Can't be displayed as Unicode, fall back to - displaying it as normal text */ - ungetc( wCh & 0xFF, inFile ); - } - else - { - lineLength++; - i++; /* We've read two characters for a wchar_t */ - wprintf( L"%c", wCh ); - fPos += 2; - continue; - } - } - } -#endif /* __WIN32__ */ - if( strOption == STR_PRINTABLE || strOption == STR_IA5 ) - { - if( strOption == STR_PRINTABLE && !isPrintable( ch ) ) - warnPrintable = TRUE; - if( strOption == STR_IA5 && !isIA5( ch ) ) - warnIA5 = TRUE; - if( ch < ' ' || ch >= 0x7F ) - ch = '.'; /* Convert non-ASCII to placeholders */ - } - else - if( strOption == STR_UTCTIME ) - { - if( !isdigit( ch ) && ch != 'Z' ) - { - warnUTC = TRUE; - ch = '.'; /* Convert non-numeric to placeholders */ - } - } - else - if( ( ch & 0x7F ) < ' ' || ch == 0xFF ) - ch = '.'; /* Convert control chars to placeholders */ - fputc( ch, output ); - fPos++; - } - if( length > 384 ) - { - length -= 384; - fprintf( output, "'\n" ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 5 ); - fprintf( output, "[ Another %ld characters skipped ]", length ); - fPos += length; - while( length-- ) - { - int ch = getc( inFile ); - - if( strOption == STR_PRINTABLE && !isPrintable( ch ) ) - warnPrintable = TRUE; - if( strOption == STR_IA5 && !isIA5( ch ) ) - warnIA5 = TRUE; - } - } - else - fputc( '\'', output ); - fputc( '\n', output ); - - /* Display any problems we encountered */ - if( warnPrintable ) - complain( "PrintableString contains illegal character(s)", level ); - if( warnIA5 ) - complain( "IA5String contains illegal character(s)", level ); - if( warnUTC ) - complain( "UTCTime is encoded incorrectly", level ); - if( warnBMP ) - complain( "BMPString has missing final byte/half character", level ); - } - -/**************************************************************************** -* * -* ASN.1 Parsing Routines * -* * -****************************************************************************/ - -/* Get an integer value */ - -static long getValue( FILE *inFile, const long length ) - { - long value; - char ch; - int i; - - ch = getc( inFile ); - value = ch; - for( i = 0; i < length - 1; i++ ) - value = ( value << 8 ) | getc( inFile ); - fPos += length; - - return( value ); - } - -/* Get an ASN.1 objects tag and length */ - -int getItem( FILE *inFile, ASN1_ITEM *item ) - { - int tag, length, index = 0; - - memset( item, 0, sizeof( ASN1_ITEM ) ); - item->indefinite = FALSE; - tag = item->header[ index++ ] = fgetc( inFile ); - item->id = tag & ~TAG_MASK; - tag &= TAG_MASK; - if( tag == TAG_MASK ) - { - int value; - - /* Long tag encoded as sequence of 7-bit values. This doesn't try to - handle tags > INT_MAX, it'd be pretty peculiar ASN.1 if it had to - use tags this large */ - tag = 0; - do - { - value = fgetc( inFile ); - tag = ( tag << 7 ) | ( value & 0x7F ); - item->header[ index++ ] = value; - fPos++; - } - while( value & LEN_XTND && !feof( inFile ) ); - } - item->tag = tag; - if( feof( inFile ) ) - { - fPos++; - return( FALSE ); - } - fPos += 2; /* Tag + length */ - length = item->header[ index++ ] = fgetc( inFile ); - item->headerSize = index; - if( length & LEN_XTND ) - { - int i; - - length &= LEN_MASK; - if( length > 4 ) - /* Impossible length value, probably because we've run into - the weeds */ - return( -1 ); - item->headerSize += length; - item->length = 0; - if( !length ) - item->indefinite = TRUE; - for( i = 0; i < length; i++ ) - { - int ch = fgetc( inFile ); - - item->length = ( item->length << 8 ) | ch; - item->header[ i + index ] = ch; - } - fPos += length; - } - else - item->length = length; - - return( TRUE ); - } - -/* Check whether a BIT STRING or OCTET STRING encapsulates another object */ - -static int checkEncapsulate( FILE *inFile, const int tag, const int length ) - { - ASN1_ITEM nestedItem; - const int currentPos = fPos; - int diffPos; - - /* If we're not looking for encapsulated objects, return */ - if( !checkEncaps ) - return( FALSE ); - -#if 1 - /* Read the details of the next item in the input stream */ - getItem( inFile, &nestedItem ); - diffPos = fPos - currentPos; - fPos = currentPos; - fseek( inFile, -diffPos, SEEK_CUR ); - - /* If it fits exactly within the current item and has a valid-looking - tag, treat it as nested data */ - if( ( ( nestedItem.id & CLASS_MASK ) == UNIVERSAL || \ - ( nestedItem.id & CLASS_MASK ) == CONTEXT ) && \ - ( nestedItem.tag > 0 && nestedItem.tag <= 0x31 ) && \ - nestedItem.length == length - diffPos ) - return( TRUE ); -#else - /* Older code which used heuristics but was actually less accurate than - the above code */ - int ch; - - /* Get the first character and see if it's an INTEGER or SEQUENCE */ - ch = getc( inFile ); - ungetc( ch, inFile ); - if( ch == INTEGER || ch == ( SEQUENCE | CONSTRUCTED ) ) - return( TRUE ); - - /* All sorts of weird things get bundled up in octet strings in - certificate extensions */ - if( tag == OCTETSTRING && ch == BITSTRING ) - return( TRUE ); - - /* If we're looking for all sorts of things which might be encapsulated, - check for these as well. At the moment we only check for a small - number of possibilities, this list will probably change as more - oddities are discovered, the idea is to keep the amount of burrowing - we do to a minimum in order to reduce problems with false positives */ - if( level > 1 && tag == OCTETSTRING ) - { - int length; - - if( ch == IA5STRING ) - /* Verisign extensions */ - return( TRUE ); - - /* For the following possibilities we have to look ahead a bit - further and check the length as well */ - getc( inFile ); - length = getc( inFile ); - fseek( inFile, -2, SEEK_CUR ); - if( ( ch == OID && length < 9 ) || \ - ( ch == ENUMERATED && length == 1 ) || \ - ( ch == GENERALIZEDTIME && length == 15 ) ) - /* CRL per-entry extensions */ - return( TRUE ); - } -#endif /* 0 */ - - return( FALSE ); - } - -/* Check whether a zero-length item is OK */ - -int zeroLengthOK( const ASN1_ITEM *item ) - { - /* If we can't recognise the type from the tag, reject it */ - if( ( item->id & CLASS_MASK ) != UNIVERSAL ) - return( FALSE ); - - /* The following types are zero-length by definition */ - if( item->tag == EOC || item->tag == NULLTAG ) - return( TRUE ); - - /* A real with a value of zero has zero length */ - if( item->tag == REAL ) - return( TRUE ); - - /* Everything after this point requires input from the user to say that - zero-length data is OK (usually it's not, so we flag it as a - problem) */ - if( !zeroLengthAllowed ) - return( FALSE ); - - /* String types can have zero length except for the Unrestricted - Character String type ([UNIVERSAL 29]) which has to have at least one - octet for the CH-A/CH-B index */ - if( item->tag == OCTETSTRING || item->tag == NUMERICSTRING || \ - item->tag == PRINTABLESTRING || item->tag == T61STRING || \ - item->tag == VIDEOTEXSTRING || item->tag == VISIBLESTRING || \ - item->tag == IA5STRING || item->tag == GRAPHICSTRING || \ - item->tag == GENERALSTRING || item->tag == UNIVERSALSTRING || \ - item->tag == BMPSTRING || item->tag == UTF8STRING || \ - item->tag == OBJDESCRIPTOR ) - return( TRUE ); - - /* SEQUENCE and SET can be zero if there are absent optional/default - components */ - if( item->tag == SEQUENCE || item->tag == SET ) - return( TRUE ); - - return( FALSE ); - } - -/* Check whether the next item looks like text */ - -static int looksLikeText( FILE *inFile, const int length ) - { - char buffer[ 16 ]; - int sampleLength = min( length, 16 ), i; - - /* If the sample size is too small, don't try anything */ - if( sampleLength < 4 ) - return( FALSE ); - - /* Check for ASCII-looking text */ - sampleLength = fread( buffer, 1, sampleLength, inFile ); - fseek( inFile, -sampleLength, SEEK_CUR ); - for( i = 0; i < sampleLength; i++ ) - { - if( !( i & 1 ) && !buffer[ i ] ) - /* If even bytes are zero, it could be a BMPString */ - continue; - if( buffer[ i ] < 0x20 || buffer[ i ] > 0x7E ) - return( FALSE ); - } - - /* It looks like a text string */ - return( TRUE); - } - -/* Dump the header bytes for an object, useful for vgrepping the original - object from a hex dump */ - -static void dumpHeader( FILE *inFile, const ASN1_ITEM *item ) - { - int extraLen = 24 - item->headerSize, i; - - /* Dump the tag and length bytes */ - if( !doPure ) - fprintf( output, " " ); - fprintf( output, "<%02X", *item->header ); - for( i = 1; i < item->headerSize; i++ ) - fprintf( output, " %02X", item->header[ i ] ); - - /* If we're asked for more, dump enough extra data to make up 24 bytes. - This is somewhat ugly since it assumes we can seek backwards over the - data, which means it won't always work on streams */ - if( extraLen > 0 && doDumpHeader > 1 ) - { - /* Make sure we don't print too much data. This doesn't work for - indefinite-length data, we don't try and guess the length with - this since it involves picking apart what we're printing */ - if( extraLen > item->length && !item->indefinite ) - extraLen = ( int ) item->length; - - for( i = 0; i < extraLen; i++ ) - { - int ch = fgetc( inFile ); - - if( feof( inFile ) ) - extraLen = i; /* Exit loop and get fseek() correct */ - else - fprintf( output, " %02X", ch ); - } - fseek( inFile, -extraLen, SEEK_CUR ); - } - - fputs( ">\n", output ); - } - -/* Print a constructed ASN.1 object */ - -int printAsn1( FILE *inFile, const int level, long length, const int isIndefinite ); - -static void printConstructed( FILE *inFile, int level, const ASN1_ITEM *item ) - { - int result; - - /* Special case for zero-length objects */ - if( !item->length && !item->indefinite ) - { - fputs( " {}\n", output ); - return; - } - - fputs( " {\n", output ); - result = printAsn1( inFile, level + 1, item->length, item->indefinite ); - if( result ) - { - fprintf( output, "Error: Inconsistent object length, %d byte%s " - "difference.\n", result, ( result > 1 ) ? "s" : "" ); - noErrors++; - } - if( !doPure ) - fprintf( output, " : " ); - fprintf( output, ( printDots ) ? ". " : " " ); - doIndent( level ); - fputs( "}\n", output ); - } - -/* Print a single ASN.1 object */ - -void printASN1object( FILE *inFile, ASN1_ITEM *item, int level ) - { - OIDINFO *oidInfo; - char buffer[ MAX_OID_SIZE ]; - long value; - int x, y; - - if( ( item->id & CLASS_MASK ) != UNIVERSAL ) - { - static const char *const classtext[] = - { "UNIVERSAL ", "APPLICATION ", "", "PRIVATE " }; - - /* Print the object type */ - fprintf( output, "[%s%d]", - classtext[ ( item->id & CLASS_MASK ) >> 6 ], item->tag ); - - /* Perform a sanity check */ - if( ( item->tag != NULLTAG ) && ( item->length < 0 ) ) - { - int i; - - fprintf( stderr, "\nError: Object has bad length field, tag = %02X, " - "length = %lX, value =", item->tag, item->length ); - fprintf( stderr, "<%02X", *item->header ); - for( i = 1; i < item->headerSize; i++ ) - fprintf( stderr, " %02X", item->header[ i ] ); - fputs( ">.\n", stderr ); - exit( EXIT_FAILURE ); - } - - if( !item->length && !item->indefinite ) - { - fputc( '\n', output ); - complain( "Object has zero length", level ); - return; - } - - /* If it's constructed, print the various fields in it */ - if( ( item->id & FORM_MASK ) == CONSTRUCTED ) - { - printConstructed( inFile, level, item ); - return; - } - - /* It's primitive, if it's a seekable stream try and determine - whether it's text so we can display it as such */ - if( !useStdin && looksLikeText( inFile, item->length ) ) - { - /* It looks like a text string, dump it as text */ - displayString( inFile, item->length, level, STR_NONE ); - return; - } - - /* This could be anything, dump it as hex data */ - dumpHex( inFile, item->length, level, FALSE ); - - return; - } - - /* Print the object type */ - fprintf( output, "%s", idstr( item->tag ) ); - - /* Perform a sanity check */ - if( ( item->tag != NULLTAG ) && ( item->length < 0 ) ) - { - int i; - - fprintf( stderr, "\nError: Object has bad length field, tag = %02X, " - "length = %lX, value =", item->tag, item->length ); - fprintf( stderr, "<%02X", *item->header ); - for( i = 1; i < item->headerSize; i++ ) - fprintf( stderr, " %02X", item->header[ i ] ); - fputs( ">.\n", stderr ); - exit( EXIT_FAILURE ); - } - - /* If it's constructed, print the various fields in it */ - if( ( item->id & FORM_MASK ) == CONSTRUCTED ) - { - printConstructed( inFile, level, item ); - return; - } - - /* It's primitive */ - if( !item->length && !zeroLengthOK( item ) ) - { - fputc( '\n', output ); - complain( "Object has zero length", level ); - return; - } - switch( item->tag ) - { - case BOOLEAN: - x = getc( inFile ); - fprintf( output, " %s\n", x ? "TRUE" : "FALSE" ); - if( x != 0 && x != 0xFF ) - complain( "BOOLEAN has non-DER encoding", level ); - fPos++; - break; - - case INTEGER: - case ENUMERATED: - if( item->length > 4 ) - dumpHex( inFile, item->length, level, TRUE ); - else - { - value = getValue( inFile, item->length ); - fprintf( output, " %ld\n", value ); - if( value < 0 ) - complain( "Integer has a negative value", level ); - } - break; - - case BITSTRING: - fprintf( output, " %d unused bits", x = getc( inFile ) ); - fPos++; - if( !--item->length && !x ) - { - fputc( '\n', output ); - complain( "Object has zero length", level ); - return; - } - if( item->length <= sizeof( int ) ) - { - /* It's short enough to be a bit flag, dump it as a sequence - of bits */ - dumpBitString( inFile, ( int ) item->length, x, level ); - break; - } - case OCTETSTRING: - if( checkEncapsulate( inFile, item->tag, item->length ) ) - { - /* It's something encapsulated inside the string, print it as - a constructed item */ - fprintf( output, ", encapsulates" ); - printConstructed( inFile, level + 1, item ); - break; - } - if( !useStdin && !dumpText && \ - looksLikeText( inFile, item->length ) ) - { - /* If we'd be doing a straight hex dump and it looks like - encapsulated text, display it as such */ - displayString( inFile, item->length, level, STR_NONE ); - return; - } - dumpHex( inFile, item->length, level, FALSE ); - break; - - case OID: - /* Hierarchical Object Identifier: The first two levels are - encoded into one byte, since the root level has only 3 nodes - (40*x + y). However if x = joint-iso-itu-t(2) then y may be - > 39, so we have to add special-case handling for this */ - if( item->length > MAX_OID_SIZE ) - { - fprintf( stderr, "\nError: Object identifier length %ld too " - "large.\n", item->length ); - exit( EXIT_FAILURE ); - } - fread( buffer, 1, ( size_t ) item->length, inFile ); - fPos += item->length; - if( ( oidInfo = getOIDinfo( buffer, ( int ) item->length ) ) != NULL ) - { - int lhsSize = ( doPure ) ? 0 : 14; - - /* Check if LHS status info + indent + "OID " string + oid - name will wrap */ - if( lhsSize + ( level * 2 ) + 18 + strlen( oidInfo->description ) >= 80 ) - { - fputc( '\n', output ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - } - else - fputc( ' ', output ); - fprintf( output, "%s\n", oidInfo->description ); - - /* Display extra comments about the OID if required */ - if( extraOIDinfo && oidInfo->comment != NULL ) - { - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - fprintf( output, "(%s)\n", oidInfo->comment ); - } - - /* If there's a warning associated with this OID, remember - that there was a problem */ - if( oidInfo->warn ) - noWarnings++; - - break; - } - - /* Pick apart the OID */ - x = ( unsigned char ) buffer[ 0 ] / 40; - y = ( unsigned char ) buffer[ 0 ] % 40; - if( x > 2 ) - { - /* Handle special case for large y if x = 2 */ - y += ( x - 2 ) * 40; - x = 2; - } - fprintf( output, " '%d %d", x, y ); - value = 0; - for( x = 1; x < item->length; x++ ) - { - value = ( value << 7 ) | ( buffer[ x ] & 0x7F ); - if( !( buffer[ x ] & 0x80 ) ) - { - fprintf( output, " %ld", value ); - value = 0; - } - } - fprintf( output, "'\n" ); - break; - - case EOC: - case NULLTAG: - fputc( '\n', output ); - break; - - case OBJDESCRIPTOR: - case GENERALIZEDTIME: - case GRAPHICSTRING: - case VISIBLESTRING: - case GENERALSTRING: - case UNIVERSALSTRING: - case NUMERICSTRING: - case T61STRING: - case VIDEOTEXSTRING: - case UTF8STRING: - displayString( inFile, item->length, level, STR_NONE ); - break; - case PRINTABLESTRING: - displayString( inFile, item->length, level, STR_PRINTABLE ); - break; - case BMPSTRING: - displayString( inFile, item->length, level, STR_BMP ); - break; - case UTCTIME: - displayString( inFile, item->length, level, STR_UTCTIME ); - break; - case IA5STRING: - displayString( inFile, item->length, level, STR_IA5 ); - break; - - default: - fputc( '\n', output ); - if( !doPure ) - fprintf( output, " : " ); - doIndent( level + 1 ); - fprintf( output, "Unrecognised primitive, hex value is:"); - dumpHex( inFile, item->length, level, FALSE ); - noErrors++; /* Treat it as an error */ - } - } - -/* Print a complex ASN.1 object */ - -int printAsn1( FILE *inFile, const int level, long length, - const int isIndefinite ) - { - ASN1_ITEM item; - long lastPos = fPos; - int seenEOC = FALSE, status; - - /* Special-case for zero-length objects */ - if( !length && !isIndefinite ) - return( 0 ); - - while( ( status = getItem( inFile, &item ) ) > 0 ) - { - /* If the length isn't known and the item has a definite length, set - the length to the items length */ - if( length == LENGTH_MAGIC && !item.indefinite ) - length = item.headerSize + item.length; - - /* Dump the header as hex data if requested */ - if( doDumpHeader ) - dumpHeader( inFile, &item ); - - /* Print offset into buffer, tag, and length */ - if( !doPure ) - if( item.indefinite ) - fprintf( output, ( doHexValues ) ? "%04lX %02X NDEF: " : - "%4ld %02X NDEF: ", lastPos, item.id | item.tag ); - else - if( ( item.id | item.tag ) == EOC ) - seenEOC = TRUE; - else - fprintf( output, ( doHexValues ) ? "%04lX %02X %4lX: " : - "%4ld %02X %4ld: ", lastPos, item.id | item.tag, - item.length ); - - /* Print details on the item */ - if( !seenEOC ) - { - doIndent( level ); - printASN1object( inFile, &item, level ); - } - - /* If it was an indefinite-length object (no length was ever set) and - we've come back to the top level, exit */ - if( length == LENGTH_MAGIC ) - return( 0 ); - - length -= fPos - lastPos; - lastPos = fPos; - if( isIndefinite ) - { - if( seenEOC ) - return( 0 ); - } - else - if( length <= 0 ) - { - if( length < 0 ) - return( ( int ) -length ); - return( 0 ); - } - else - if( length == 1 ) - { - const int ch = fgetc( inFile ); - - /* No object can be one byte long, try and recover. This - only works sometimes because it can be caused by - spurious data in an OCTET STRING hole or an incorrect - length encoding. The following workaround tries to - recover from spurious data by skipping the byte if - it's zero or a non-basic-ASN.1 tag, but keeping it if - it could be valid ASN.1 */ - if( ch && ch <= 0x31 ) - ungetc( ch, inFile ); - else - { - fPos++; - return( 1 ); - } - } - } - if( status == -1 ) - { - fprintf( stderr, "\nError: Invalid data encountered at position " - "%d.\n", fPos ); - exit( EXIT_FAILURE ); - } - - /* If we see an EOF and there's supposed to be more data present, - complain */ - if( length && length != LENGTH_MAGIC ) - { - fprintf( output, "Error: Inconsistent object length, %ld byte%s " - "difference.\n", length, ( length > 1 ) ? "s" : "" ); - noErrors++; - } - return( 0 ); - } - -/* Show usage and exit */ - -void usageExit( void ) - { - puts( "DumpASN1 - ASN.1 object dump/syntax check program." ); - puts( "Copyright Peter Gutmann 1997 - 2000. Last updated 21 November 2000." ); - puts( "" ); - puts( "Usage: dumpasn1 [-acdefhlpsxz] " ); - puts( " - = Take input from stdin (some options may not work properly)" ); - puts( " - = Start bytes into the file" ); - puts( " -- = End of arg list" ); - puts( " -a = Print all data in long data blocks, not just the first 128 bytes" ); - puts( " -c = Read Object Identifier info from alternate config file" ); - puts( " (values will override equivalents in global config file)" ); - puts( " -d = Print dots to show column alignment" ); - puts( " -e = Don't print encapsulated data inside OCTET/BIT STRINGs" ); - puts( " -f = Dump object at offset - to file (allows data to be" ); - puts( " extracted from encapsulating objects)" ); - puts( " -h = Hex dump object header (tag+length) before the decoded output" ); - puts( " -hh = Same as -h but display more of the object as hex data" ); - puts( " -l = Long format, display extra info about Object Identifiers" ); - puts( " -p = Pure ASN.1 output without encoding information" ); - puts( " -s = Syntax check only, don't dump ASN.1 structures" ); - puts( " -t = Display text values next to hex dump of data" ); - puts( " -x = Display size and offset in hex not decimal" ); - puts( " -z = Allow zero-length items" ); - puts( "" ); - puts( "Warnings generated by deprecated OIDs require the use of '-l' to be displayed." ); - puts( "Program return code is the number of errors found or EXIT_SUCCESS." ); - exit( EXIT_FAILURE ); - } - -int main( int argc, char *argv[] ) - { - FILE *inFile, *outFile = NULL; - char *pathPtr = argv[ 0 ]; - long offset = 0; - int moreArgs = TRUE, doCheckOnly = FALSE; - - /* Skip the program name */ - argv++; argc--; - - /* Display usage if no args given */ - if( argc < 1 ) - usageExit(); - output = stdout; /* Needs to be assigned at runtime */ - - /* Check for arguments */ - while( argc && *argv[ 0 ] == '-' && moreArgs ) - { - char *argPtr = argv[ 0 ] + 1; - - if( !*argPtr ) - useStdin = TRUE; - while( *argPtr ) - { - if( isdigit( *argPtr ) ) - { - offset = atol( argPtr ); - break; - } - switch( toupper( *argPtr ) ) - { - case '-': - moreArgs = FALSE; /* GNU-style end-of-args flag */ - break; - - case 'A': - printAllData = TRUE; - break; - - case 'C': - if( !readConfig( argPtr + 1, FALSE ) ) - exit( EXIT_FAILURE ); - while( argPtr[ 1 ] ) - argPtr++; /* Skip rest of arg */ - break; - - case 'D': - printDots = TRUE; - break; - - case 'E': - checkEncaps = FALSE; - break; - - case 'F': - if( ( outFile = fopen( argPtr + 1, "wb" ) ) == NULL ) - { - perror( argPtr + 1 ); - exit( EXIT_FAILURE ); - } - while( argPtr[ 1 ] ) - argPtr++; /* Skip rest of arg */ - break; - - case 'L': - extraOIDinfo = TRUE; - break; - - case 'H': - doDumpHeader++; - break; - - case 'P': - doPure = TRUE; - break; - - case 'S': - doCheckOnly = TRUE; -#ifdef __WIN32__ - /* Under Windows we can't fclose( stdout ) because the - VC++ runtime reassigns the stdout handle to the next - open file (which is valid) but then scribbles stdout - garbage all over it for files larger than about 16K - (which isn't), so we have to make sure that the - stdout is handle pointed to something somewhere */ - freopen( "nul", "w", stdout ); -#else - /* If we know we're running under Unix we can also - freopen( "/dev/null", "w", stdout ); */ - fclose( stdout ); -#endif /* __WIN32__ */ - break; - - case 'T': - dumpText = TRUE; - break; - - case 'X': - doHexValues = TRUE; - break; - - case 'Z': - zeroLengthAllowed = TRUE; - break; - - default: - printf( "Unknown argument '%c'.\n", *argPtr ); - return( EXIT_SUCCESS ); - } - argPtr++; - } - argv++; - argc--; - } - - /* We can't use options which perform an fseek() if reading from stdin */ - if( useStdin && ( doDumpHeader || outFile != NULL ) ) - { - puts( "Can't use -f or -h when taking input from stdin" ); - exit( EXIT_FAILURE ); - } - - /* Check args and read the config file. We don't bother weeding out - dups during the read because (a) the linear search would make the - process n^2, (b) during the dump process the search will terminate on - the first match so dups aren't that serious, and (c) there should be - very few dups present */ - if( argc != 1 && !useStdin ) - usageExit(); - if( !readGlobalConfig( pathPtr ) ) - exit( EXIT_FAILURE ); - - /* Dump the given file */ - if( useStdin ) - inFile = stdin; - else - if( ( inFile = fopen( argv[ 0 ], "rb" ) ) == NULL ) - { - perror( argv[ 0 ] ); - exit( EXIT_FAILURE ); - } - if( useStdin ) - { - while( offset-- ) - getc( inFile ); - } - else - fseek( inFile, offset, SEEK_SET ); - if( outFile != NULL ) - { - ASN1_ITEM item; - long length; - int i, status; - - /* Make sure there's something there, and that it has a definite - length */ - status = getItem( inFile, &item ); - if( status == -1 ) - { - puts( "Non-ASN.1 data encountered." ); - exit( EXIT_FAILURE ); - } - if( status == 0 ) - { - puts( "Nothing to read." ); - exit( EXIT_FAILURE ); - } - if( item.indefinite ) - { - puts( "Cannot process indefinite-length item." ); - exit( EXIT_FAILURE ); - } - - /* Copy the item across, first the header and then the data */ - for( i = 0; i < item.headerSize; i++ ) - putc( item.header[ i ], outFile ); - for( length = 0; length < item.length && !feof( inFile ); length++ ) - putc( getc( inFile ), outFile ); - fclose( outFile ); - - fseek( inFile, offset, SEEK_SET ); - } - printAsn1( inFile, 0, LENGTH_MAGIC, 0 ); - fclose( inFile ); - - /* Print a summary of warnings/errors if it's required or appropriate */ - if( !doPure ) - { - if( !doCheckOnly ) - fputc( '\n', stderr ); - fprintf( stderr, "%d warning%s, %d error%s.\n", noWarnings, - ( noWarnings != 1 ) ? "s" : "", noErrors, - ( noErrors != 1 ) ? "s" : "" ); - } - - return( ( noErrors ) ? noErrors : EXIT_SUCCESS ); - } diff --git a/rpmio/dumpasn1.cfg b/rpmio/dumpasn1.cfg deleted file mode 100644 index 39dad37..0000000 --- a/rpmio/dumpasn1.cfg +++ /dev/null @@ -1,4973 +0,0 @@ -# dumpasn1 Object Identifier configuration file, available from -# http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.cfg. This is read by -# dumpasn1.c and is used to display information on Object Identifiers found in -# ASN.1 objects. This is merely a list of things which you might conceivably -# find in use somewhere, and should in no way be taken as a guide to which OIDs -# to use - many of these will never been seen in the wild, or should be shot on -# sight if encountered. -# -# The format of this file is as follows: -# -# - All blank lines and lines beginning with a '#' are ignored. -# - OIDs are described by a set of attributes, of which at least the 'OID' and -# 'Description' must be present. Optional attributes are a 'Comment' and a -# 'Warning' (to indicate that dumpasn1 will display a warning if this OID is -# encountered). -# - Attributes are listed one per line. The first attribute should be an 'OID' -# attribute since this is used to denote the start of a new OID description. -# The other attributes may be given in any order. -# -# See the rest of this file for examples of what an OID description should look -# like. - -# Deutsche Telekom/Telesec - -OID = 06 05 02 82 06 01 0A -Comment = Deutsche Telekom -Description = Telesec (0 2 262 1 10) - -OID = 06 06 02 82 06 01 0A 00 -Comment = Telesec -Description = extension (0 2 262 1 10 0) - -OID = 06 06 02 82 06 01 0A 01 -Comment = Telesec -Description = mechanism (0 2 262 1 10 1) - -OID = 06 07 02 82 06 01 0A 01 00 -Comment = Telesec mechanism -Description = authentication (0 2 262 1 10 1 0) - -OID = 06 08 02 82 06 01 0A 01 00 01 -Comment = Telesec authentication -Description = passwordAuthentication (0 2 262 1 10 1 0 1) - -OID = 06 08 02 82 06 01 0A 01 00 02 -Comment = Telesec authentication -Description = protectedPasswordAuthentication (0 2 262 1 10 1 0 2) - -OID = 06 08 02 82 06 01 0A 01 00 03 -Comment = Telesec authentication -Description = oneWayX509Authentication (0 2 262 1 10 1 0 3) - -OID = 06 08 02 82 06 01 0A 01 00 04 -Comment = Telesec authentication -Description = twoWayX509Authentication (0 2 262 1 10 1 0 4) - -OID = 06 08 02 82 06 01 0A 01 00 05 -Comment = Telesec authentication -Description = threeWayX509Authentication (0 2 262 1 10 1 0 5) - -OID = 06 08 02 82 06 01 0A 01 00 06 -Comment = Telesec authentication -Description = oneWayISO9798Authentication (0 2 262 1 10 1 0 6) - -OID = 06 08 02 82 06 01 0A 01 00 07 -Comment = Telesec authentication -Description = twoWayISO9798Authentication (0 2 262 1 10 1 0 7) - -OID = 06 08 02 82 06 01 0A 01 00 08 -Comment = Telesec authentication -Description = telekomAuthentication (0 2 262 1 10 1 0 8) - -OID = 06 07 02 82 06 01 0A 01 01 -Comment = Telesec mechanism -Description = signature (0 2 262 1 10 1 1) - -OID = 06 08 02 82 06 01 0A 01 01 01 -Comment = Telesec mechanism -Description = md4WithRSAAndISO9697 (0 2 262 1 10 1 1 1) - -OID = 06 08 02 82 06 01 0A 01 01 02 -Comment = Telesec mechanism -Description = md4WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 2) - -OID = 06 08 02 82 06 01 0A 01 01 03 -Comment = Telesec mechanism -Description = md5WithRSAAndISO9697 (0 2 262 1 10 1 1 3) - -OID = 06 08 02 82 06 01 0A 01 01 04 -Comment = Telesec mechanism -Description = md5WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 4) - -# PKCS #1 signature with RIPEMD-160 -OID = 06 08 02 82 06 01 0A 01 01 05 -Comment = Telesec mechanism -Description = ripemd160WithRSAAndTelekomSignatureStandard (0 2 262 1 10 1 1 5) - -# RIPEMD-160 with raw RSA (ie no padding, just 160 bytes encrypted) signature -OID = 06 08 02 82 06 01 0A 01 01 09 -Comment = Telesec signature -Description = hbciRsaSignature (0 2 262 1 10 1 1 9) - -OID = 06 07 02 82 06 01 0A 01 02 -Comment = Telesec mechanism -Description = encryption (0 2 262 1 10 1 2) - -# Specially recommended by the NSA for German use -OID = 06 08 02 82 06 01 0A 01 02 00 -Comment = Telesec encryption -Description = none (0 2 262 1 10 1 2 0) - -OID = 06 08 02 82 06 01 0A 01 02 01 -Comment = Telesec encryption -Description = rsaTelesec (0 2 262 1 10 1 2 1) - -OID = 06 08 02 82 06 01 0A 01 02 02 -Comment = Telesec encryption -Description = des (0 2 262 1 10 1 2 2) - -OID = 06 09 02 82 06 01 0A 01 02 02 01 -Comment = Telesec encryption -Description = desECB (0 2 262 1 10 1 2 2 1) - -OID = 06 09 02 82 06 01 0A 01 02 02 02 -Comment = Telesec encryption -Description = desCBC (0 2 262 1 10 1 2 2 2) - -OID = 06 09 02 82 06 01 0A 01 02 02 03 -Comment = Telesec encryption -Description = desOFB (0 2 262 1 10 1 2 2 3) - -OID = 06 09 02 82 06 01 0A 01 02 02 04 -Comment = Telesec encryption -Description = desCFB8 (0 2 262 1 10 1 2 2 4) - -OID = 06 09 02 82 06 01 0A 01 02 02 05 -Comment = Telesec encryption -Description = desCFB64 (0 2 262 1 10 1 2 2 5) - -OID = 06 08 02 82 06 01 0A 01 02 03 -Comment = Telesec encryption -Description = des3 (0 2 262 1 10 1 2 3) - -OID = 06 09 02 82 06 01 0A 01 02 03 01 -Comment = Telesec encryption -Description = des3ECB (0 2 262 1 10 1 2 3 1) - -OID = 06 09 02 82 06 01 0A 01 02 03 02 -Comment = Telesec encryption -Description = des3CBC (0 2 262 1 10 1 2 3 2) - -OID = 06 09 02 82 06 01 0A 01 02 03 03 -Comment = Telesec encryption -Description = des3OFB (0 2 262 1 10 1 2 3 3) - -OID = 06 09 02 82 06 01 0A 01 02 03 04 -Comment = Telesec encryption -Description = des3CFB8 (0 2 262 1 10 1 2 3 4) - -OID = 06 09 02 82 06 01 0A 01 02 03 05 -Comment = Telesec encryption -Description = des3CFB64 (0 2 262 1 10 1 2 3 5) - -OID = 06 08 02 82 06 01 0A 01 02 04 -Comment = Telesec encryption -Description = magenta (0 2 262 1 10 1 2 4) - -OID = 06 08 02 82 06 01 0A 01 02 05 -Comment = Telesec encryption -Description = idea (0 2 262 1 10 1 2 5) - -OID = 06 09 02 82 06 01 0A 01 02 05 01 -Comment = Telesec encryption -Description = ideaECB (0 2 262 1 10 1 2 5 1) - -OID = 06 09 02 82 06 01 0A 01 02 05 02 -Comment = Telesec encryption -Description = ideaCBC (0 2 262 1 10 1 2 5 2) - -OID = 06 09 02 82 06 01 0A 01 02 05 03 -Comment = Telesec encryption -Description = ideaOFB (0 2 262 1 10 1 2 5 3) - -OID = 06 09 02 82 06 01 0A 01 02 05 04 -Comment = Telesec encryption -Description = ideaCFB8 (0 2 262 1 10 1 2 5 4) - -OID = 06 09 02 82 06 01 0A 01 02 05 05 -Comment = Telesec encryption -Description = ideaCFB64 (0 2 262 1 10 1 2 5 5) - -OID = 06 07 02 82 06 01 0A 01 03 -Comment = Telesec mechanism -Description = oneWayFunction (0 2 262 1 10 1 3) - -OID = 06 08 02 82 06 01 0A 01 03 01 -Comment = Telesec one-way function -Description = md4 (0 2 262 1 10 1 3 1) - -OID = 06 08 02 82 06 01 0A 01 03 02 -Comment = Telesec one-way function -Description = md5 (0 2 262 1 10 1 3 2) - -OID = 06 08 02 82 06 01 0A 01 03 03 -Comment = Telesec one-way function -Description = sqModNX509 (0 2 262 1 10 1 3 3) - -OID = 06 08 02 82 06 01 0A 01 03 04 -Comment = Telesec one-way function -Description = sqModNISO (0 2 262 1 10 1 3 4) - -OID = 06 08 02 82 06 01 0A 01 03 05 -Comment = Telesec one-way function -Description = ripemd128 (0 2 262 1 10 1 3 5) - -OID = 06 08 02 82 06 01 0A 01 03 06 -Comment = Telesec one-way function -Description = hashUsingBlockCipher (0 2 262 1 10 1 3 6) - -OID = 06 08 02 82 06 01 0A 01 03 07 -Comment = Telesec one-way function -Description = mac (0 2 262 1 10 1 3 7) - -OID = 06 08 02 82 06 01 0A 01 03 08 -Comment = Telesec one-way function -Description = ripemd160 (0 2 262 1 10 1 3 8) - -OID = 06 07 02 82 06 01 0A 01 04 -Comment = Telesec mechanism -Description = fecFunction (0 2 262 1 10 1 4) - -OID = 06 08 02 82 06 01 0A 01 04 01 -Comment = Telesec mechanism -Description = reedSolomon (0 2 262 1 10 1 4 1) - -OID = 06 06 02 82 06 01 0A 02 -Comment = Telesec -Description = module (0 2 262 1 10 2) - -OID = 06 07 02 82 06 01 0A 02 00 -Comment = Telesec module -Description = algorithms (0 2 262 1 10 2 0) - -OID = 06 07 02 82 06 01 0A 02 01 -Comment = Telesec module -Description = attributeTypes (0 2 262 1 10 2 1) - -OID = 06 07 02 82 06 01 0A 02 02 -Comment = Telesec module -Description = certificateTypes (0 2 262 1 10 2 2) - -OID = 06 07 02 82 06 01 0A 02 03 -Comment = Telesec module -Description = messageTypes (0 2 262 1 10 2 3) - -OID = 06 07 02 82 06 01 0A 02 04 -Comment = Telesec module -Description = plProtocol (0 2 262 1 10 2 4) - -OID = 06 07 02 82 06 01 0A 02 05 -Comment = Telesec module -Description = smeAndComponentsOfSme (0 2 262 1 10 2 5) - -OID = 06 07 02 82 06 01 0A 02 06 -Comment = Telesec module -Description = fec (0 2 262 1 10 2 6) - -OID = 06 07 02 82 06 01 0A 02 07 -Comment = Telesec module -Description = usefulDefinitions (0 2 262 1 10 2 7) - -OID = 06 07 02 82 06 01 0A 02 08 -Comment = Telesec module -Description = stefiles (0 2 262 1 10 2 8) - -OID = 06 07 02 82 06 01 0A 02 09 -Comment = Telesec module -Description = sadmib (0 2 262 1 10 2 9) - -OID = 06 07 02 82 06 01 0A 02 0A -Comment = Telesec module -Description = electronicOrder (0 2 262 1 10 2 10) - -OID = 06 07 02 82 06 01 0A 02 0B -Comment = Telesec module -Description = telesecTtpAsymmetricApplication (0 2 262 1 10 2 11) - -OID = 06 07 02 82 06 01 0A 02 0C -Comment = Telesec module -Description = telesecTtpBasisApplication (0 2 262 1 10 2 12) - -OID = 06 07 02 82 06 01 0A 02 0D -Comment = Telesec module -Description = telesecTtpMessages (0 2 262 1 10 2 13) - -OID = 06 07 02 82 06 01 0A 02 0E -Comment = Telesec module -Description = telesecTtpTimeStampApplication (0 2 262 1 10 2 14) - -OID = 06 06 02 82 06 01 0A 03 -Comment = Telesec -Description = objectClass (0 2 262 1 10 3) - -OID = 06 07 02 82 06 01 0A 03 00 -Comment = Telesec object class -Description = telesecOtherName (0 2 262 1 10 3 0) - -OID = 06 07 02 82 06 01 0A 03 01 -Comment = Telesec object class -Description = directory (0 2 262 1 10 3 1) - -OID = 06 07 02 82 06 01 0A 03 02 -Comment = Telesec object class -Description = directoryType (0 2 262 1 10 3 2) - -OID = 06 07 02 82 06 01 0A 03 03 -Comment = Telesec object class -Description = directoryGroup (0 2 262 1 10 3 3) - -OID = 06 07 02 82 06 01 0A 03 04 -Comment = Telesec object class -Description = directoryUser (0 2 262 1 10 3 4) - -OID = 06 07 02 82 06 01 0A 03 05 -Comment = Telesec object class -Description = symmetricKeyEntry (0 2 262 1 10 3 5) - -OID = 06 06 02 82 06 01 0A 04 -Comment = Telesec -Description = package (0 2 262 1 10 4) - -OID = 06 06 02 82 06 01 0A 05 -Comment = Telesec -Description = parameter (0 2 262 1 10 5) - -OID = 06 06 02 82 06 01 0A 06 -Comment = Telesec -Description = nameBinding (0 2 262 1 10 6) - -OID = 06 06 02 82 06 01 0A 07 -Comment = Telesec -Description = attribute (0 2 262 1 10 7) - -OID = 06 07 02 82 06 01 0A 07 00 -Comment = Telesec attribute -Description = applicationGroupIdentifier (0 2 262 1 10 7 0) - -OID = 06 07 02 82 06 01 0A 07 01 -Comment = Telesec attribute -Description = certificateType (0 2 262 1 10 7 1) - -OID = 06 07 02 82 06 01 0A 07 02 -Comment = Telesec attribute -Description = telesecCertificate (0 2 262 1 10 7 2) - -OID = 06 07 02 82 06 01 0A 07 03 -Comment = Telesec attribute -Description = certificateNumber (0 2 262 1 10 7 3) - -OID = 06 07 02 82 06 01 0A 07 04 -Comment = Telesec attribute -Description = certificateRevocationList (0 2 262 1 10 7 4) - -OID = 06 07 02 82 06 01 0A 07 05 -Comment = Telesec attribute -Description = creationDate (0 2 262 1 10 7 5) - -OID = 06 07 02 82 06 01 0A 07 06 -Comment = Telesec attribute -Description = issuer (0 2 262 1 10 7 6) - -OID = 06 07 02 82 06 01 0A 07 07 -Comment = Telesec attribute -Description = namingAuthority (0 2 262 1 10 7 7) - -OID = 06 07 02 82 06 01 0A 07 08 -Comment = Telesec attribute -Description = publicKeyDirectory (0 2 262 1 10 7 8) - -OID = 06 07 02 82 06 01 0A 07 09 -Comment = Telesec attribute -Description = securityDomain (0 2 262 1 10 7 9) - -OID = 06 07 02 82 06 01 0A 07 0A -Comment = Telesec attribute -Description = subject (0 2 262 1 10 7 10) - -OID = 06 07 02 82 06 01 0A 07 0B -Comment = Telesec attribute -Description = timeOfRevocation (0 2 262 1 10 7 11) - -OID = 06 07 02 82 06 01 0A 07 0C -Comment = Telesec attribute -Description = userGroupReference (0 2 262 1 10 7 12) - -OID = 06 07 02 82 06 01 0A 07 0D -Comment = Telesec attribute -Description = validity (0 2 262 1 10 7 13) - -OID = 06 07 02 82 06 01 0A 07 0E -Comment = Telesec attribute -Description = zert93 (0 2 262 1 10 7 14) - -# It really is called that -OID = 06 07 02 82 06 01 0A 07 0F -Comment = Telesec attribute -Description = securityMessEnv (0 2 262 1 10 7 15) - -OID = 06 07 02 82 06 01 0A 07 10 -Comment = Telesec attribute -Description = anonymizedPublicKeyDirectory (0 2 262 1 10 7 16) - -OID = 06 07 02 82 06 01 0A 07 11 -Comment = Telesec attribute -Description = telesecGivenName (0 2 262 1 10 7 17) - -OID = 06 07 02 82 06 01 0A 07 12 -Comment = Telesec attribute -Description = nameAdditions (0 2 262 1 10 7 18) - -OID = 06 07 02 82 06 01 0A 07 13 -Comment = Telesec attribute -Description = telesecPostalCode (0 2 262 1 10 7 19) - -OID = 06 07 02 82 06 01 0A 07 14 -Comment = Telesec attribute -Description = nameDistinguisher (0 2 262 1 10 7 20) - -OID = 06 07 02 82 06 01 0A 07 15 -Comment = Telesec attribute -Description = telesecCertificateList (0 2 262 1 10 7 21) - -OID = 06 07 02 82 06 01 0A 07 16 -Comment = Telesec attribute -Description = teletrustCertificateList (0 2 262 1 10 7 22) - -OID = 06 07 02 82 06 01 0A 07 17 -Comment = Telesec attribute -Description = x509CertificateList (0 2 262 1 10 7 23) - -OID = 06 07 02 82 06 01 0A 07 18 -Comment = Telesec attribute -Description = timeOfIssue (0 2 262 1 10 7 24) - -OID = 06 07 02 82 06 01 0A 07 19 -Comment = Telesec attribute -Description = physicalCardNumber (0 2 262 1 10 7 25) - -OID = 06 07 02 82 06 01 0A 07 1A -Comment = Telesec attribute -Description = fileType (0 2 262 1 10 7 26) - -OID = 06 07 02 82 06 01 0A 07 1B -Comment = Telesec attribute -Description = ctlFileIsArchive (0 2 262 1 10 7 27) - -OID = 06 07 02 82 06 01 0A 07 1C -Comment = Telesec attribute -Description = emailAddress (0 2 262 1 10 7 28) - -OID = 06 07 02 82 06 01 0A 07 1D -Comment = Telesec attribute -Description = certificateTemplateList (0 2 262 1 10 7 29) - -OID = 06 07 02 82 06 01 0A 07 1E -Comment = Telesec attribute -Description = directoryName (0 2 262 1 10 7 30) - -OID = 06 07 02 82 06 01 0A 07 1F -Comment = Telesec attribute -Description = directoryTypeName (0 2 262 1 10 7 31) - -OID = 06 07 02 82 06 01 0A 07 20 -Comment = Telesec attribute -Description = directoryGroupName (0 2 262 1 10 7 32) - -OID = 06 07 02 82 06 01 0A 07 21 -Comment = Telesec attribute -Description = directoryUserName (0 2 262 1 10 7 33) - -OID = 06 07 02 82 06 01 0A 07 22 -Comment = Telesec attribute -Description = revocationFlag (0 2 262 1 10 7 34) - -OID = 06 07 02 82 06 01 0A 07 23 -Comment = Telesec attribute -Description = symmetricKeyEntryName (0 2 262 1 10 7 35) - -OID = 06 07 02 82 06 01 0A 07 24 -Comment = Telesec attribute -Description = glNumber (0 2 262 1 10 7 36) - -OID = 06 07 02 82 06 01 0A 07 25 -Comment = Telesec attribute -Description = goNumber (0 2 262 1 10 7 37) - -OID = 06 07 02 82 06 01 0A 07 26 -Comment = Telesec attribute -Description = gKeyData (0 2 262 1 10 7 38) - -OID = 06 07 02 82 06 01 0A 07 27 -Comment = Telesec attribute -Description = zKeyData (0 2 262 1 10 7 39) - -OID = 06 07 02 82 06 01 0A 07 28 -Comment = Telesec attribute -Description = ktKeyData (0 2 262 1 10 7 40) - -OID = 06 07 02 82 06 01 0A 07 2A -Comment = Telesec attribute -Description = ktKeyNumber (0 2 262 1 10 7 41) - -OID = 06 07 02 82 06 01 0A 07 33 -Comment = Telesec attribute -Description = timeOfRevocationGen (0 2 262 1 10 7 51) - -OID = 06 07 02 82 06 01 0A 07 34 -Comment = Telesec attribute -Description = liabilityText (0 2 262 1 10 7 52) - -OID = 06 06 02 82 06 01 0A 08 -Comment = Telesec -Description = attributeGroup (0 2 262 1 10 8) - -OID = 06 06 02 82 06 01 0A 09 -Comment = Telesec -Description = action (0 2 262 1 10 9) - -OID = 06 06 02 82 06 01 0A 0A -Comment = Telesec -Description = notification (0 2 262 1 10 10) - -OID = 06 06 02 82 06 01 0A 0B -Comment = Telesec -Description = snmp-mibs (0 2 262 1 10 11) - -OID = 06 07 02 82 06 01 0A 0B 01 -Comment = Telesec SNMP MIBs -Description = securityApplication (0 2 262 1 10 11 1) - -OID = 06 06 02 82 06 01 0A 0C -Comment = Telesec -Description = certAndCrlExtensionDefinitions (0 2 262 1 10 12) - -OID = 06 07 02 82 06 01 0A 0C 00 -Comment = Telesec cert/CRL extension -Description = certExtensionLiabilityLimitationExt (0 2 262 1 10 12 0) - -OID = 06 07 02 82 06 01 0A 0C 01 -Comment = Telesec cert/CRL extension -Description = telesecCertIdExt (0 2 262 1 10 12 1) - -OID = 06 07 02 82 06 01 0A 0C 02 -Comment = Telesec cert/CRL extension -Description = telesecPolicyIdentifier (0 2 262 1 10 12 2) - -OID = 06 07 02 82 06 01 0A 0C 03 -Comment = Telesec cert/CRL extension -Description = telesecPolicyQualifierID (0 2 262 1 10 12 3) - -OID = 06 07 02 82 06 01 0A 0C 04 -Comment = Telesec cert/CRL extension -Description = telesecCRLFilteredExt (0 2 262 1 10 12 4) - -OID = 06 07 02 82 06 01 0A 0C 05 -Comment = Telesec cert/CRL extension -Description = telesecCRLFilterExt (0 2 262 1 10 12 5) - -OID = 06 07 02 82 06 01 0A 0C 06 -Comment = Telesec cert/CRL extension -Description = telesecNamingAuthorityExt (0 2 262 1 10 12 6) - -# Some LDAP draft from the UK - -OID = 06 0A 09 92 26 89 93 F2 2C 64 01 01 -Comment = Some oddball LDAP attribute collection -Description = uniqueID (0 9 2342 19200300 100 1 1) - -# Some unknown X.500 attributes spec from the UK - -OID = 06 0A 09 92 26 89 93 F2 2C 64 01 03 -Comment = Some oddball X.500 attribute collection -Description = rfc822Mailbox (0 9 2342 19200300 100 1 3) - -# RFC 2247, How to Kludge an FQDN as a DN (or words to that effect), another -# fine product of the UK. - -OID = 06 0A 09 92 26 89 93 F2 2C 64 01 19 -Comment = Men are from Mars, this OID is from Pluto -Description = domainComponent (0 9 2342 19200300 100 1 25) - -# Certificates Australia - -OID = 06 0A 2A 24 A4 97 A3 53 01 64 01 01 -Comment = Certificates Australia CA -Description = Certificates Australia policyIdentifier (1 2 36 75878867 1 100 1 1) - -# Signet - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 02 -Comment = Signet CA -Description = Signet personal (1 2 36 68980861 1 1 2) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 03 -Comment = Signet CA -Description = Signet business (1 2 36 68980861 1 1 3) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 04 -Comment = Signet CA -Description = Signet legal (1 2 36 68980861 1 1 4) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 0A -Comment = Signet CA -Description = Signet pilot (1 2 36 68980861 1 1 10) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 0B -Comment = Signet CA -Description = Signet intraNet (1 2 36 68980861 1 1 11) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 14 -Comment = Signet CA -Description = Signet securityPolicy (1 2 36 68980861 1 1 20) - -# Mitsubishi - -OID = 06 0B 2A 83 08 8C 1A 4B 3D 01 01 01 -Comment = Mitsubishi security algorithm -Description = symmetric-encryption-algorithm (1 2 392 200011 61 1 1 1) - -OID = 06 0C 2A 83 08 8C 9A 4B 3D 01 01 01 01 -Comment = Mitsubishi security algorithm -Description = misty1-cbc (1 2 392 200011 61 1 1 1 1) - -# SEIS - -OID = 06 05 2A 85 70 22 01 -Comment = SEIS Project -Description = seis-cp (1 2 752 34 1) - -OID = 06 06 2A 85 70 22 01 01 -Comment = SEIS Project certificate policies -Description = SEIS high-assurnace certificatePolicy (1 2 752 34 1 1) - -OID = 06 06 2A 85 70 22 01 02 -Comment = SEIS Project certificate policies -Description = SEIS GAK certificatePolicy (1 2 752 34 1 2) - -OID = 06 05 2A 85 70 22 02 -Comment = SEIS Project -Description = SEIS pe (1 2 752 34 2) - -OID = 06 05 2A 85 70 22 03 -Comment = SEIS Project -Description = SEIS at (1 2 752 34 3) - -OID = 06 06 2A 85 70 22 03 01 -Comment = SEIS Project attribute -Description = SEIS at-personalIdentifier (1 2 752 34 3 1) - -# ANSI X9.57 - -OID = 06 06 2A 86 48 CE 38 01 -Comment = ANSI X9.57 -Description = module (1 2 840 10040 1) - -OID = 06 07 2A 86 48 CE 38 01 01 -Comment = ANSI X9.57 module -Description = x9f1-cert-mgmt (1 2 840 10040 1 1) - -OID = 06 06 2A 86 48 CE 38 02 -Comment = ANSI X9.57 -Description = holdinstruction (1 2 840 10040 2) - -OID = 06 07 2A 86 48 CE 38 02 01 -Comment = ANSI X9.57 hold instruction -Description = holdinstruction-none (1 2 840 10040 2 1) - -OID = 06 07 2A 86 48 CE 38 02 02 -Comment = ANSI X9.57 hold instruction -Description = callissuer (1 2 840 10040 2 2) - -OID = 06 07 2A 86 48 CE 38 02 03 -Comment = ANSI X9.57 hold instruction -Description = reject (1 2 840 10040 2 3) - -OID = 06 07 2A 86 48 CE 38 02 04 -Comment = ANSI X9.57 hold instruction -Description = pickupToken (1 2 840 10040 2 4) - -OID = 06 06 2A 86 48 CE 38 03 -Comment = ANSI X9.57 -Description = attribute (1 2 840 10040 3) - -OID = 06 06 2A 86 48 CE 38 03 01 -Comment = ANSI X9.57 attribute -Description = countersignature (1 2 840 10040 3 1) - -OID = 06 06 2A 86 48 CE 38 03 02 -Comment = ANSI X9.57 attribute -Description = attribute-cert (1 2 840 10040 3 2) - -OID = 06 06 2A 86 48 CE 38 04 -Comment = ANSI X9.57 -Description = algorithm (1 2 840 10040 4) - -OID = 06 07 2A 86 48 CE 38 04 01 -Comment = ANSI X9.57 algorithm -Description = dsa (1 2 840 10040 4 1) - -OID = 06 07 2A 86 48 CE 38 04 02 -Comment = ANSI X9.57 algorithm -Description = dsa-match (1 2 840 10040 4 2) - -OID = 06 07 2A 86 48 CE 38 04 03 -Comment = ANSI X9.57 algorithm -Description = dsaWithSha1 (1 2 840 10040 4 3) - -# ANSI X9.62 - -OID = 06 06 2A 86 48 CE 3D 01 -Comment = ANSI X9.62. This OID is also assigned as ecdsa-with-SHA1 -Description = fieldType (1 2 840 10045 1) - -OID = 06 07 2A 86 48 CE 3D 01 01 -Comment = ANSI X9.62 field type -Description = prime-field (1 2 840 10045 1 1) - -OID = 06 07 2A 86 48 CE 3D 01 02 -Comment = ANSI X9.62 field type -Description = characteristic-two-field (1 2 840 10045 1 2) - -OID = 06 09 2A 86 48 CE 3D 01 02 03 -Comment = ANSI X9.62 field type -Description = characteristic-two-basis (1 2 840 10045 1 2 3) - -OID = 06 0A 2A 86 48 CE 3D 01 02 03 01 -Comment = ANSI X9.62 field basis -Description = onBasis (1 2 840 10045 1 2 3 1) - -OID = 06 0A 2A 86 48 CE 3D 01 02 03 02 -Comment = ANSI X9.62 field basis -Description = tpBasis (1 2 840 10045 1 2 3 2) - -OID = 06 0A 2A 86 48 CE 3D 01 02 03 03 -Comment = ANSI X9.62 field basis -Description = ppBasis (1 2 840 10045 1 2 3 3) - -# The definition for the following OID is somewhat confused, and is given as -# keyType, publicKeyType, and public-key-type, all within 4 lines of text. -# ecPublicKey is defined using the ID publicKeyType, so this is what's used -# here. -OID = 06 06 2A 86 48 CE 3D 02 -Comment = ANSI X9.62 -Description = publicKeyType (1 2 840 10045 2) - -OID = 06 07 2A 86 48 CE 3D 02 01 -Comment = ANSI X9.62 public key type -Description = ecPublicKey (1 2 840 10045 2 1) - -# ANSI X9.42 - -OID = 06 06 2A 86 48 CE 3E 01 -Comment = ANSI X9.42 -Description = fieldType (1 2 840 10046 1) - -OID = 06 07 2A 86 48 CE 3E 01 01 -Comment = ANSI X9.42 field type -Description = gf-prime (1 2 840 10046 1 1) - -OID = 06 06 2A 86 48 CE 3E 02 -Comment = ANSI X9.42 -Description = numberType (1 2 840 10046 2) - -OID = 06 07 2A 86 48 CE 3E 02 01 -Comment = ANSI X9.42 number type -Description = dhPublicKey (1 2 840 10046 2 1) - -OID = 06 06 2A 86 48 CE 3E 03 -Comment = ANSI X9.42 -Description = scheme (1 2 840 10046 3) - -OID = 06 07 2A 86 48 CE 3E 03 01 -Comment = ANSI X9.42 scheme -Description = dhStatic (1 2 840 10046 3 1) - -OID = 06 07 2A 86 48 CE 3E 03 02 -Comment = ANSI X9.42 scheme -Description = dhEphem (1 2 840 10046 3 2) - -OID = 06 07 2A 86 48 CE 3E 03 03 -Comment = ANSI X9.42 scheme -Description = dhHybrid1 (1 2 840 10046 3 3) - -OID = 06 07 2A 86 48 CE 3E 03 04 -Comment = ANSI X9.42 scheme -Description = dhHybrid2 (1 2 840 10046 3 4) - -OID = 06 07 2A 86 48 CE 3E 03 05 -Comment = ANSI X9.42 scheme -Description = mqv2 (1 2 840 10046 3 5) - -OID = 06 07 2A 86 48 CE 3E 03 06 -Comment = ANSI X9.42 scheme -Description = mqv1 (1 2 840 10046 3 6) - -# Nortel Secure Networks/Entrust - -OID = 06 07 2A 86 48 86 F6 7D 07 -Description = nsn (1 2 840 113533 7) - -OID = 06 08 2A 86 48 86 F6 7D 07 41 -Description = nsn-ce (1 2 840 113533 7 65) - -OID = 06 09 2A 86 48 86 F6 7D 07 41 00 -Comment = Nortel Secure Networks ce (1 2 840 113533 7 65) -Description = entrustVersInfo (1 2 840 113533 7 65 0) - -OID = 06 08 2A 86 48 86 F6 7D 07 42 -Description = nsn-alg (1 2 840 113533 7 66) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 03 -Comment = Nortel Secure Networks alg (1 2 840 113533 7 66) -Description = cast3CBC (1 2 840 113533 7 66 3) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0A -Comment = Nortel Secure Networks alg (1 2 840 113533 7 66) -Description = cast5CBC (1 2 840 113533 7 66 10) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0B -Comment = Nortel Secure Networks alg (1 2 840 113533 7 66) -Description = cast5MAC (1 2 840 113533 7 66 11) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0C -Comment = Nortel Secure Networks alg (1 2 840 113533 7 66) -Description = pbeWithMD5AndCAST5-CBC (1 2 840 113533 7 66 12) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0D -Comment = Nortel Secure Networks alg (1 2 840 113533 7 66) -Description = passwordBasedMac (1 2 840 113533 7 66 13) - -OID = 06 08 2A 86 48 86 F6 7D 07 43 -Description = nsn-oc (1 2 840 113533 7 67) - -OID = 06 09 2A 86 48 86 F6 7D 07 43 0C -Comment = Nortel Secure Networks oc (1 2 840 113533 7 67) -Description = entrustUser (1 2 840 113533 7 67 0) - -OID = 06 08 2A 86 48 86 F6 7D 07 44 -Description = nsn-at (1 2 840 113533 7 68) - -OID = 06 09 2A 86 48 86 F6 7D 07 44 00 -Comment = Nortel Secure Networks at (1 2 840 113533 7 68) -Description = entrustCAInfo (1 2 840 113533 7 68 0) - -OID = 06 09 2A 86 48 86 F6 7D 07 44 0A -Comment = Nortel Secure Networks at (1 2 840 113533 7 68) -Description = attributeCertificate (1 2 840 113533 7 68 10) - -# PKCS #1 - -OID = 06 08 2A 86 48 86 F7 0D 01 01 -Description = pkcs-1 (1 2 840 113549 1 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 01 -Comment = PKCS #1 -Description = rsaEncryption (1 2 840 113549 1 1 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 02 -Comment = PKCS #1 -Description = md2withRSAEncryption (1 2 840 113549 1 1 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 03 -Comment = PKCS #1 -Description = md4withRSAEncryption (1 2 840 113549 1 1 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 04 -Comment = PKCS #1 -Description = md5withRSAEncryption (1 2 840 113549 1 1 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 05 -Comment = PKCS #1 -Description = sha1withRSAEncryption (1 2 840 113549 1 1 5) - -# There is some confusion over the identity of the following OID. The OAEP -# one is more recent, but independant vendors have already used the RIPEMD -# one, however it's likely that SET will be a bigger hammer (at least as a -# standard) so we report it as that. -OID = 06 09 2A 86 48 86 F7 0D 01 01 06 -Comment = PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption -Description = rsaOAEPEncryptionSET (1 2 840 113549 1 1 6) -# ripemd160WithRSAEncryption (1 2 840 113549 1 1 6) - -# BSAFE/PKCS #2 (obsolete) - -OID = 06 08 2A 86 48 86 F7 0D 01 01 -Comment = Obsolete BSAFE OID -Description = bsafeRsaEncr (1 2 840 113549 1 2) -Warning - -# PKCS #3 - -OID = 06 08 2A 86 48 86 F7 0D 01 03 -Description = pkcs-3 (1 2 840 113549 1 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 03 01 -Comment = PKCS #3 -Description = dhKeyAgreement (1 2 840 113549 1 3 1) - -# PKCS #5 - -OID = 06 09 2A 86 48 86 F7 0D 01 05 -Description = pkcs-5 (1 2 840 113549 1 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 01 -Comment = PKCS #5 -Description = pbeWithMD2AndDES-CBC (1 2 840 113549 1 5 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 03 -Comment = PKCS #5 -Description = pbeWithMD5AndDES-CBC (1 2 840 113549 1 5 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 04 -Comment = PKCS #5 -Description = pbeWithMD2AndRC2-CBC (1 2 840 113549 1 5 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 06 -Comment = PKCS #5 -Description = pbeWithMD5AndRC2-CBC (1 2 840 113549 1 5 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 09 -Comment = PKCS #5, used in BSAFE only -Description = pbeWithMD5AndXOR (1 2 840 113549 1 5 9) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0A -Comment = PKCS #5 -Description = pbeWithSHAAndDES-CBC (1 2 840 113549 1 5 10) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0C -Comment = PKCS #5 v2.0 -Description = pkcs5PBKDF2 (1 2 840 113549 1 5 12) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0D -Comment = PKCS #5 v2.0 -Description = pkcs5PBES2 (1 2 840 113549 1 5 13) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0E -Comment = PKCS #5 v2.0 -Description = pkcs5PBMAC1 (1 2 840 113549 1 5 14) - -# PKCS #7 - -OID = 06 09 2A 86 48 86 F7 0D 01 07 -Description = pkcs-7 (1 2 840 113549 1 7) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 01 -Comment = PKCS #7 -Description = data (1 2 840 113549 1 7 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 02 -Comment = PKCS #7 -Description = signedData (1 2 840 113549 1 7 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 03 -Comment = PKCS #7 -Description = envelopedData (1 2 840 113549 1 7 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 04 -Comment = PKCS #7 -Description = signedAndEnvelopedData (1 2 840 113549 1 7 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 05 -Comment = PKCS #7 -Description = digestedData (1 2 840 113549 1 7 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 06 -Comment = PKCS #7 -Description = encryptedData (1 2 840 113549 1 7 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 07 -Comment = PKCS #7 experimental -Description = dataWithAttributes (1 2 840 113549 1 7 7) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 07 08 -Comment = PKCS #7 experimental -Description = encryptedPrivateKeyInfo (1 2 840 113549 1 7 8) -Warning - -# PKCS #9 - -OID = 06 09 2A 86 48 86 F7 0D 01 09 -Description = pkcs-9 (1 2 840 113549 1 9) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 01 -Comment = PKCS #9 (1 2 840 113549 1 9). Deprecated, use an altName extension instead -Description = emailAddress (1 2 840 113549 1 9 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 02 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = unstructuredName (1 2 840 113549 1 9 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 03 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = contentType (1 2 840 113549 1 9 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 04 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = messageDigest (1 2 840 113549 1 9 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 05 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = signingTime (1 2 840 113549 1 9 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 06 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = countersignature (1 2 840 113549 1 9 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 07 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = challengePassword (1 2 840 113549 1 9 7) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 08 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = unstructuredAddress (1 2 840 113549 1 9 8) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 09 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = extendedCertificateAttributes (1 2 840 113549 1 9 9) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0A -Comment = PKCS #9 (1 2 840 113549 1 9) experimental -Description = issuerAndSerialNumber (1 2 840 113549 1 9 10) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0B -Comment = PKCS #9 (1 2 840 113549 1 9) experimental -Description = passwordCheck (1 2 840 113549 1 9 11) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0C -Comment = PKCS #9 (1 2 840 113549 1 9) experimental -Description = publicKey (1 2 840 113549 1 9 12) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0D -Comment = PKCS #9 (1 2 840 113549 1 9) experimental -Description = signingDescription (1 2 840 113549 1 9 13) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0E -Comment = PKCS #9 (1 2 840 113549 1 9) experimental -Description = extensionReq (1 2 840 113549 1 9 14) - -# PKCS #9 for use with S/MIME - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0F -Comment = PKCS #9 (1 2 840 113549 1 9). This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name -Description = sMIMECapabilities (1 2 840 113549 1 9 15) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 01 -Comment = sMIMECapabilities (1 2 840 113549 1 9 15) -Description = preferSignedData (1 2 840 113549 1 9 15 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 02 -Comment = sMIMECapabilities (1 2 840 113549 1 9 15) -Description = canNotDecryptAny (1 2 840 113549 1 9 15 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 03 -Comment = sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 1) instead -Description = receiptRequest (1 2 840 113549 1 9 15 3) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 04 -Comment = sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 1 1) instead -Description = receipt (1 2 840 113549 1 9 15 4) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 05 -Comment = sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 4) instead -Description = contentHints (1 2 840 113549 1 9 15 5) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 06 -Comment = sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 3) instead -Description = mlExpansionHistory (1 2 840 113549 1 9 15 6) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 10 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = id-sMIME (1 2 840 113549 1 9 16) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 00 -Comment = id-sMIME (1 2 840 113549 1 9 16) -Description = id-mod (1 2 840 113549 1 9 16 0) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 01 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-cms (1 2 840 113549 1 9 16 0 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 02 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-ess (1 2 840 113549 1 9 16 0 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 03 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-oid (1 2 840 113549 1 9 16 0 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 04 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-msg-v3 (1 2 840 113549 1 9 16 0 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 05 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-ets-eSignature-88 (1 2 840 113549 1 9 16 0 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 06 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-ets-eSignature-97 (1 2 840 113549 1 9 16 0 6) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 07 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-ets-eSigPolicy-88 (1 2 840 113549 1 9 16 0 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 08 -Comment = S/MIME Modules (1 2 840 113549 1 9 16 0) -Description = id-mod-ets-eSigPolicy-88 (1 2 840 113549 1 9 16 0 8) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 01 -Comment = id-sMIME (1 2 840 113549 1 9 16) -Description = id-ct (1 2 840 113549 1 9 16 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 01 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-receipt (1 2 840 113549 1 9 16 1 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 02 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-authData (1 2 840 113549 1 9 16 1 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 03 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-publishCert (1 2 840 113549 1 9 16 1 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 04 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-TSTInfo (1 2 840 113549 1 9 16 1 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 05 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-TDTInfo (1 2 840 113549 1 9 16 1 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 06 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-contentInfo (1 2 840 113549 1 9 16 1 6) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 07 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-DVCSRequestData (1 2 840 113549 1 9 16 1 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 08 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-DVCSResponseData (1 2 840 113549 1 9 16 1 8) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 07 -Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1) -Description = id-ct-compressedData (1 2 840 113549 1 9 16 1 9) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 02 -Comment = id-sMIME (1 2 840 113549 1 9 16) -Description = id-aa (1 2 840 113549 1 9 16 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 01 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-receiptRequest (1 2 840 113549 1 9 16 2 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 02 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-securityLabel (1 2 840 113549 1 9 16 2 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 03 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-mlExpandHistory (1 2 840 113549 1 9 16 2 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 04 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-contentHint (1 2 840 113549 1 9 16 2 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 05 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-msgSigDigest (1 2 840 113549 1 9 16 2 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 06 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2). Obsolete -Description = id-aa-encapContentType (1 2 840 113549 1 9 16 2 6) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 07 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-contentIdentifier (1 2 840 113549 1 9 16 2 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 08 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2). Obsolete -Description = id-aa-macValue (1 2 840 113549 1 9 16 2 8) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 09 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-equivalentLabels (1 2 840 113549 1 9 16 2 9) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0A -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-contentReference (1 2 840 113549 1 9 16 2 10) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0B -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-encrypKeyPref (1 2 840 113549 1 9 16 2 11) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0C -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-signingCertificate (1 2 840 113549 1 9 16 2 12) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0D -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-smimeEncryptCerts (1 2 840 113549 1 9 16 2 13) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0E -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-timeStampToken (1 2 840 113549 1 9 16 2 14) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0F -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-sigPolicyId (1 2 840 113549 1 9 16 2 15) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 10 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-commitmentType (1 2 840 113549 1 9 16 2 16) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 11 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-signerLocation (1 2 840 113549 1 9 16 2 17) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 12 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-signerAttr (1 2 840 113549 1 9 16 2 18) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 13 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-otherSigCert (1 2 840 113549 1 9 16 2 19) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 14 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-contentTimestamp (1 2 840 113549 1 9 16 2 20) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 15 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-CertificateRefs (1 2 840 113549 1 9 16 2 21) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 16 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-RevocationRefs (1 2 840 113549 1 9 16 2 22) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 17 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-certValues (1 2 840 113549 1 9 16 2 23) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 18 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-revocationValues (1 2 840 113549 1 9 16 2 24) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 19 -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-escTimeStamp (1 2 840 113549 1 9 16 2 25) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1A -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-certCRLTimestamp (1 2 840 113549 1 9 16 2 26) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1B -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-ets-archiveTimeStamp (1 2 840 113549 1 9 16 2 27) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1C -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-signatureType (1 2 840 113549 1 9 16 2 28) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1D -Comment = S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2) -Description = id-aa-dvcs-dvc (1 2 840 113549 1 9 16 2 29) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 01 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete -Description = id-alg-ESDHwith3DES (1 2 840 113549 1 9 16 3 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 02 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete -Description = id-alg-ESDHwithRC2 (1 2 840 113549 1 9 16 3 2) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 03 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete -Description = id-alg-3DESwrap (1 2 840 113549 1 9 16 3 3) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 04 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete -Description = id-alg-RC2wrap (1 2 840 113549 1 9 16 3 4) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 05 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3) -Description = id-alg-ESDH (1 2 840 113549 1 9 16 3 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 06 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3) -Description = id-alg-CMS3DESwrap (1 2 840 113549 1 9 16 3 6) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 07 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3) -Description = id-alg-CMSRC2wrap (1 2 840 113549 1 9 16 3 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 08 -Comment = S/MIME Algorithms (1 2 840 113549 1 9 16 3) -Description = id-alg-zlib (1 2 840 113549 1 9 16 3 8) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 04 01 -Comment = S/MIME Certificate Distribution (1 2 840 113549 1 9 16 4) -Description = id-cd-ldap (1 2 840 113549 1 9 16 4 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 05 01 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 5) -Description = id-spq-ets-sqt-uri (1 2 840 113549 1 9 16 5 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 05 02 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 5) -Description = id-spq-ets-sqt-unotice (1 2 840 113549 1 9 16 5 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 01 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6) -Description = id-cti-ets-proofOfOrigin (1 2 840 113549 1 9 16 6 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 02 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6) -Description = id-cti-ets-proofOfReceipt (1 2 840 113549 1 9 16 6 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 03 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6) -Description = id-cti-ets-proofOfDelivery (1 2 840 113549 1 9 16 6 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 04 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6) -Description = id-cti-ets-proofOfSender (1 2 840 113549 1 9 16 6 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 05 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6) -Description = id-cti-ets-proofOfApproval (1 2 840 113549 1 9 16 6 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 06 -Comment = S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6) -Description = id-cti-ets-proofOfCreation (1 2 840 113549 1 9 16 6 6) - -# PKCS #9 for use with PKCS #12 - -OID = 06 09 2A 86 48 86 F7 0D 01 09 14 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = friendlyName (for PKCS #12) (1 2 840 113549 1 9 20) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 15 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = localKeyID (for PKCS #12) (1 2 840 113549 1 9 21) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 16 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = certTypes (for PKCS #12) (1 2 840 113549 1 9 22) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 16 01 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = x509Certificate (for PKCS #12) (1 2 840 113549 1 9 22 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 16 02 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = sdsiCertificate (for PKCS #12) (1 2 840 113549 1 9 22 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 17 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = crlTypes (for PKCS #12) (1 2 840 113549 1 9 23) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 17 01 -Comment = PKCS #9 (1 2 840 113549 1 9) -Description = x509Crl (for PKCS #12) (1 2 840 113549 1 9 23 1) - -# PKCS #12. Note that current PKCS #12 implementations tend to be strange and -# peculiar, with implementors misusing OIDs or basing their work on earlier PFX -# drafts or defining their own odd OIDs. In addition the PFX/PKCS #12 spec -# itself is full of errors and inconsistencies, and a number of OIDs have been -# redefined in different drafts (often multiple times), which doesn't make the -# implementors job any easier. - -OID = 06 08 2A 86 48 86 F7 0D 01 0C -Description = pkcs-12 (1 2 840 113549 1 12) - -OID = 06 09 2A 86 48 86 F7 0D 01 0C 01 -Comment = This OID was formerly assigned as PKCS #12 modeID -Description = pkcs-12-PbeIds (1 2 840 113549 1 12 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 01 -Comment = PKCS #12 PbeIds (1 2 840 113549 1 12 1). This OID was formerly assigned as pkcs-12-OfflineTransportMode -Description = pbeWithSHAAnd128BitRC4 (1 2 840 113549 1 12 1 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 02 -Comment = PKCS #12 PbeIds (1 2 840 113549 1 12 2). This OID was formerly assigned as pkcs-12-OnlineTransportMode -Description = pbeWithSHAAnd40BitRC4 (1 2 840 113549 1 12 1 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 03 -Comment = PKCS #12 PbeIds (1 2 840 113549 1 12 3) -Description = pbeWithSHAAnd3-KeyTripleDES-CBC (1 2 840 113549 1 12 1 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 04 -Comment = PKCS #12 PbeIds (1 2 840 113549 1 12 3) -Description = pbeWithSHAAnd2-KeyTripleDES-CBC (1 2 840 113549 1 12 1 4) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 05 -Comment = PKCS #12 PbeIds (1 2 840 113549 1 12 3) -Description = pbeWithSHAAnd128BitRC2-CBC (1 2 840 113549 1 12 1 5) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 06 -Comment = PKCS #12 PbeIds (1 2 840 113549 1 12 3) -Description = pbeWithSHAAnd40BitRC2-CBC (1 2 840 113549 1 12 1 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 0C 02 -Comment = Deprecated -Description = pkcs-12-ESPVKID (1 2 840 113549 1 12 2) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 02 01 -Comment = PKCS #12 ESPVKID (1 2 840 113549 1 12 2). Deprecated, use (1 2 840 113549 1 12 3 5) instead -Description = pkcs-12-PKCS8KeyShrouding (1 2 840 113549 1 12 2 1) -Warning - -# The following appear to have been redefined yet again at 12 10 in the latest -# PKCS #12 spec. -OID = 06 09 2A 86 48 86 F7 0D 01 0C 03 -Description = pkcs-12-BagIds (1 2 840 113549 1 12 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 01 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 3) -Description = pkcs-12-keyBagId (1 2 840 113549 1 12 3 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 02 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 3) -Description = pkcs-12-certAndCRLBagId (1 2 840 113549 1 12 3 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 03 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 3) -Description = pkcs-12-secretBagId (1 2 840 113549 1 12 3 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 04 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 3) -Description = pkcs-12-safeContentsId (1 2 840 113549 1 12 3 4) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 05 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 3) -Description = pkcs-12-pkcs-8ShroudedKeyBagId (1 2 840 113549 1 12 3 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 0C 04 -Comment = Deprecated -Description = pkcs-12-CertBagID (1 2 840 113549 1 12 4) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 04 01 -Comment = PKCS #12 CertBagID (1 2 840 113549 1 12 4). This OID was formerly assigned as pkcs-12-X509CertCRLBag -Description = pkcs-12-X509CertCRLBagID (1 2 840 113549 1 12 4 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 04 02 -Comment = PKCS #12 CertBagID (1 2 840 113549 1 12 4). This OID was formerly assigned as pkcs-12-SDSICertBag -Description = pkcs-12-SDSICertBagID (1 2 840 113549 1 12 4 2) - -# The following are from PFX. The ... 5 1 values have been reassigned to OIDs -# with incompatible algorithms at ... 1, the 5 2 values seem to have vanished. -OID = 06 09 2A 86 48 86 F7 0D 01 0C 05 -Description = pkcs-12-OID (1 2 840 113549 1 12 5) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 05 01 -Comment = PKCS #12 OID (1 2 840 113549 1 12 5). Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead -Description = pkcs-12-PBEID (1 2 840 113549 1 12 5 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 01 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 1) instead -Description = pkcs-12-PBEWithSha1And128BitRC4 (1 2 840 113549 1 12 5 1 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 02 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 2) instead -Description = pkcs-12-PBEWithSha1And40BitRC4 (1 2 840 113549 1 12 5 1 2) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 03 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 3) or (1 2 840 113549 1 12 1 4) instead -Description = pkcs-12-PBEWithSha1AndTripleDESCBC (1 2 840 113549 1 12 5 1 3) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 04 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 5) instead -Description = pkcs-12-PBEWithSha1And128BitRC2CBC (1 2 840 113549 1 12 5 1 4) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 05 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 6) instead -Description = pkcs-12-PBEWithSha1And40BitRC2CBC (1 2 840 113549 1 12 5 1 5) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 06 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 1) or (1 2 840 113549 1 12 1 2) instead -Description = pkcs-12-PBEWithSha1AndRC4 (1 2 840 113549 1 12 5 1 6) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 07 -Comment = PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 5) or (1 2 840 113549 1 12 1 6) instead -Description = pkcs-12-PBEWithSha1AndRC2CBC (1 2 840 113549 1 12 5 1 7) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 05 02 -Description = pkcs-12-EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 01 -Comment = PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSAEncryptionWith128BitRC4 (1 2 840 113549 1 12 5 2 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 02 -Comment = PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSAEncryptionWith40BitRC4 (1 2 840 113549 1 12 5 2 2) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 03 -Comment = PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSAEncryptionWithTripleDES (1 2 840 113549 1 12 5 2 3) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 05 03 -Description = pkcs-12-SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 03 01 -Comment = PKCS #12 OID SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSASignatureWithSHA1Digest (1 2 840 113549 1 12 5 3 1) -Warning - -# Yet *another* redefinition of the PKCS #12 "bag" ID's, now in a different -# order than the last redefinition at ... 12 3. -OID = 06 09 2A 86 48 86 F7 0D 01 0C 0A -Description = pkcs-12Version1 (1 2 840 113549 1 12 10) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 0A 01 -Description = pkcs-12BadIds (1 2 840 113549 1 12 10 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 01 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 10 1) -Description = pkcs-12-keyBag (1 2 840 113549 1 12 10 1 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 02 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 10 1) -Description = pkcs-12-pkcs-8ShroudedKeyBag (1 2 840 113549 1 12 10 1 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 03 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 10 1) -Description = pkcs-12-certBag (1 2 840 113549 1 12 10 1 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 04 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 10 1) -Description = pkcs-12-crlBag (1 2 840 113549 1 12 10 1 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 05 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 10 1) -Description = pkcs-12-secretBag (1 2 840 113549 1 12 10 1 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 06 -Comment = PKCS #12 BagIds (1 2 840 113549 1 12 10 1) -Description = pkcs-12-safeContentsBag (1 2 840 113549 1 12 10 1 6) - -# PKCS #15 - -OID = 06 09 2A 86 48 86 F7 0D 01 0F 01 -Comment = PKCS #15 -Description = pkcs15modules (1 2 840 113549 1 15 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 0F 02 -Comment = PKCS #15 -Description = pkcs15attributes (1 2 840 113549 1 15 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 0F 03 -Comment = PKCS #15 -Description = pkcs15contentType (1 2 840 113549 1 15 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0F 03 01 -Comment = PKCS #15 content type -Description = pkcs15content (1 2 840 113549 1 15 3 1) - -# RSADSI digest algorithms - -OID = 06 08 2A 86 48 86 F7 0D 02 -Description = digestAlgorithm (1 2 840 113549 2) - -OID = 06 08 2A 86 48 86 F7 0D 02 02 -Comment = RSADSI digestAlgorithm (1 2 840 113549 2) -Description = md2 (1 2 840 113549 2 2) - -OID = 06 08 2A 86 48 86 F7 0D 02 04 -Comment = RSADSI digestAlgorithm (1 2 840 113549 2) -Description = md4 (1 2 840 113549 2 4) - -OID = 06 08 2A 86 48 86 F7 0D 02 05 -Comment = RSADSI digestAlgorithm (1 2 840 113549 2) -Description = md5 (1 2 840 113549 2 5) - -# RSADSI encryption algorithms - -OID = 06 08 2A 86 48 86 F7 0D 03 -Description = encryptionAlgorithm (1 2 840 113549 3) - -OID = 06 08 2A 86 48 86 F7 0D 03 02 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = rc2CBC (1 2 840 113549 3 2) - -OID = 06 08 2A 86 48 86 F7 0D 03 03 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = rc2ECB (1 2 840 113549 3 3) - -OID = 06 08 2A 86 48 86 F7 0D 03 04 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = rc4 (1 2 840 113549 3 4) - -OID = 06 08 2A 86 48 86 F7 0D 03 05 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = rc4WithMAC (1 2 840 113549 3 5) - -OID = 06 08 2A 86 48 86 F7 0D 03 06 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = desx-CBC (1 2 840 113549 3 6) - -OID = 06 08 2A 86 48 86 F7 0D 03 07 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = des-EDE3-CBC (1 2 840 113549 3 7) - -OID = 06 08 2A 86 48 86 F7 0D 03 08 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = rc5CBC (1 2 840 113549 3 8) - -OID = 06 08 2A 86 48 86 F7 0D 03 09 -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3) -Description = rc5-CBCPad (1 2 840 113549 3 9) - -OID = 06 08 2A 86 48 86 F7 0D 03 0A -Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3). Formerly called CDMFCBCPad -Description = desCDMF (1 2 840 113549 3 10) - -# Ascom Systech - -OID = 06 0A 2B 06 01 04 01 81 3C 07 01 01 -Comment = Ascom Systech -Description = ascom (1 3 6 1 4 1 188 7 1 1) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 01 -Comment = Ascom Systech -Description = ideaECB (1 3 6 1 4 1 188 7 1 1 1) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 02 -Comment = Ascom Systech -Description = ideaCBC (1 3 6 1 4 1 188 7 1 1 2) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 03 -Comment = Ascom Systech -Description = ideaCFB (1 3 6 1 4 1 188 7 1 1 3) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 04 -Comment = Ascom Systech -Description = ideaOFB (1 3 6 1 4 1 188 7 1 1 4) - -# Microsoft - -OID = 06 09 2A 86 48 86 F7 14 01 03 00 -Comment = Microsoft Exchange Server - object class -Description = site-Addressing (1 2 840 113556 1 3 00) - -OID = 06 09 2A 86 48 86 F7 14 01 03 0D -Comment = Microsoft Exchange Server - object class -Description = classSchema (1 2 840 113556 1 3 13) - -OID = 06 09 2A 86 48 86 F7 14 01 03 0E -Comment = Microsoft Exchange Server - object class -Description = attributeSchema (1 2 840 113556 1 3 14) - -OID = 06 09 2A 86 48 86 F7 14 01 03 11 -Comment = Microsoft Exchange Server - object class -Description = mailbox-Agent (1 2 840 113556 1 3 174) - -OID = 06 09 2A 86 48 86 F7 14 01 03 16 -Comment = Microsoft Exchange Server - object class -Description = mailbox (1 2 840 113556 1 3 22) - -OID = 06 09 2A 86 48 86 F7 14 01 03 17 -Comment = Microsoft Exchange Server - object class -Description = container (1 2 840 113556 1 3 23) - -OID = 06 09 2A 86 48 86 F7 14 01 03 2E -Comment = Microsoft Exchange Server - object class -Description = mailRecipient (1 2 840 113556 1 3 46) - -OID = 06 09 2A 86 48 86 F7 14 01 02 81 71 -Comment = Microsoft Exchange Server - attribute -Description = deliveryMechanism (1 2 840 113556 1 2 241) - -OID = 06 08 2A 86 48 86 F7 14 04 03 -Comment = Microsoft -Description = microsoftExcel (1 2 840 113556 4 3) - -OID = 06 08 2A 86 48 86 F7 14 04 04 -Comment = Microsoft -Description = titledWithOID (1 2 840 113556 4 4) - -OID = 06 08 2A 86 48 86 F7 14 04 05 -Comment = Microsoft -Description = microsoftPowerPoint (1 2 840 113556 4 5) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 04 -Comment = Microsoft code signing -Description = spcIndirectDataContext (1 3 6 1 4 1 311 2 1 4) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0A -Comment = Microsoft code signing. Also known as policyLink -Description = spcAgencyInfo (1 3 6 1 4 1 311 2 1 10) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0B -Comment = Microsoft code signing -Description = spcStatementType (1 3 6 1 4 1 311 2 1 11) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0C -Comment = Microsoft code signing -Description = spcSpOpusInfo (1 3 6 1 4 1 311 2 1 12) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0E -Comment = Microsoft -Description = certReqExtensions (1 3 6 1 4 1 311 2 1 14) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0F -Comment = Microsoft code signing -Description = spcPelmageData (1 3 6 1 4 1 311 2 1 15) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 14 -Comment = Microsoft code signing. Also known as "glue extension" -Description = spcLink (type 1) (1 3 6 1 4 1 311 2 1 20) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 15 -Comment = Microsoft -Description = individualCodeSigning (1 3 6 1 4 1 311 2 1 21) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 16 -Comment = Microsoft -Description = commercialCodeSigning (1 3 6 1 4 1 311 2 1 22) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 19 -Comment = Microsoft code signing. Also known as "glue extension" -Description = spcLink (type 2) (1 3 6 1 4 1 311 2 1 25) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 1A -Comment = Microsoft code signing -Description = spcMinimalCriteriaInfo (1 3 6 1 4 1 311 2 1 26) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 1B -Comment = Microsoft code signing -Description = spcFinancialCriteriaInfo (1 3 6 1 4 1 311 2 1 27) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 1C -Comment = Microsoft code signing. Also known as "glue extension" -Description = spcLink (type 3) (1 3 6 1 4 1 311 2 1 28) - -OID = 06 0A 2B 06 01 04 01 82 37 03 02 01 -Comment = Microsoft code signing -Description = timestampCountersignature (1 3 6 1 4 1 311 3 2 1) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 01 -Comment = Microsoft PKCS #7 contentType -Description = certTrustList (1 3 6 1 4 1 311 10 1) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 02 -Comment = Microsoft -Description = nextUpdateLocation (1 3 6 1 4 1 311 10 2) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 01 -Comment = Microsoft enhanced key usage -Description = certTrustListSigning (1 3 6 1 4 1 311 10 3 1) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 02 -Comment = Microsoft enhanced key usage -Description = timeStampSigning (1 3 6 1 4 1 311 10 3 2) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 03 -Comment = Microsoft enhanced key usage -Description = serverGatedCrypto (1 3 6 1 4 1 311 10 3 3) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 04 -Comment = Microsoft enhanced key usage -Description = encryptedFileSystem (1 3 6 1 4 1 311 10 3 4) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 04 01 -Comment = Microsoft attribute -Description = yesnoTrustAttr (1 3 6 1 4 1 311 10 4 1) - -# Something related to CAPI, contains a BMPString describing the CAPI level and -# a BIT STRING blob -OID = 06 0A 2B 06 01 04 01 82 37 0D 02 02 -Comment = Microsoft attribute -Description = Unknown MS CryptoAPI-related extension (1 3 6 1 4 1 311 13 2 2) - -# This is just the normal issuerAndSerialNumber but with a MS-specific OID. -# Apparently it's used for CryptEncode/DecodeObject, whatever that is. -OID = 06 0A 2B 06 01 04 01 82 37 10 04 -Comment = Microsoft attribute -Description = microsoftRecipientInfo (1 3 6 1 4 1 311 16 4) - -# Win2K CA certificate key/cert counter, high 16 bits = key index, low 16 bits -# = cert index. Key index is inc'd when a CA gets a new key, cert index is -# inc'd when a CA gets a new cert (ie recertifies a current key). This -# extension has two purposes, as a hint to rebuild key/cert lists when a Win2K -# CA is restored, and as a poster boy for the kind of crap which people are -# shovelling into certs which has no place there -OID = 06 09 2B 06 01 04 01 82 37 15 01 -Comment = Microsoft attribute -Description = cAKeyCertIndexPair (1 3 6 1 4 1 311 21 1) - -# UNINETT - -OID = 06 0A 2B 06 01 04 01 92 7C 0A 01 01 -Comment = UNINETT PCA -Description = UNINETT policyIdentifier (1 3 6 1 4 1 2428 10 1 1) - -# ICE-TEL - -OID = 06 08 2B 06 01 04 01 95 18 0A -Comment = ICE-TEL CA -Description = ICE-TEL policyIdentifier (1 3 6 1 4 1 2712 10) - -OID = 06 0A 2B 06 01 04 01 95 62 01 01 01 -Comment = ICE-TEL CA policy -Description = ICE-TEL Italian policyIdentifier (1 3 6 1 4 1 2786 1 1 1) - -# cryptlib - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 01 -Comment = cryptlib encryption algorithm -Description = blowfishECB (1 3 6 1 4 1 3029 1 1 1) - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 02 -Comment = cryptlib encryption algorithm -Description = blowfishCBC (1 3 6 1 4 1 3029 1 1 2) - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 03 -Comment = cryptlib encryption algorithm -Description = blowfishCFB (1 3 6 1 4 1 3029 1 1 3) - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 04 -Comment = cryptlib encryption algorithm -Description = blowfishOFB (1 3 6 1 4 1 3029 1 1 4) - -OID = 06 0A 2B 06 01 04 01 97 55 01 02 01 -Comment = cryptlib public-key algorithm -Description = elgamal (1 3 6 1 4 1 3029 1 2 1) - -OID = 06 0B 2B 06 01 04 01 97 55 01 02 01 01 -Comment = cryptlib public-key algorithm -Description = elgamalWithSHA-1 (1 3 6 1 4 1 3029 1 2 1 1) - -OID = 06 0B 2B 06 01 04 01 97 55 01 02 01 02 -Comment = cryptlib public-key algorithm -Description = elgamalWithRIPEMD-160 (1 3 6 1 4 1 3029 1 2 1 2) - -OID = 06 09 2B 06 01 04 01 97 55 04 01 -Comment = cryptlib -Description = cryptlibContent (1 3 6 1 4 1 3029 4 1) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 01 -Comment = cryptlib content type -Description = cryptlibConfigData (1 3 6 1 4 1 3029 4 1 1) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 02 -Comment = cryptlib content type -Description = cryptlibUserIndex (1 3 6 1 4 1 3029 4 1 2) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 03 -Comment = cryptlib content type -Description = cryptlibUserInfo (1 3 6 1 4 1 3029 4 1 3) - -OID = 06 0B 2B 06 01 04 01 97 55 2A D7 24 01 -Comment = cryptlib special MPEG-of-cat OID -Description = mpeg-1 (1 3 6 1 4 1 3029 42 11172 1) - -# PKIX - -OID = 06 06 2B 06 01 05 05 07 -Description = pkix (1 3 6 1 5 5 7) - -OID = 06 06 2B 06 01 05 05 07 -Comment = PKIX -Description = attributeCert (1 3 6 1 5 5 7 0 12) - -OID = 06 07 2B 06 01 05 05 07 01 -Comment = PKIX -Description = privateExtension (1 3 6 1 5 5 7 1) - -OID = 06 08 2B 06 01 05 05 07 01 01 -Comment = PKIX private extension -Description = authorityInfoAccess (1 3 6 1 5 5 7 1 1) - -OID = 06 08 2B 06 01 05 05 07 01 04 -Comment = PKIX private extension -Description = acAuditIdentity (1 3 6 1 5 5 7 1 4) - -OID = 06 08 2B 06 01 05 05 07 01 05 -Comment = PKIX private extension -Description = acTargeting (1 3 6 1 5 5 7 1 5) - -OID = 06 08 2B 06 01 05 05 07 01 06 -Comment = PKIX private extension -Description = acAaControls (1 3 6 1 5 5 7 1 6) - -OID = 06 08 2B 06 01 05 05 07 01 07 -Comment = PKIX private extension -Description = acProxying (1 3 6 1 5 5 7 1 7) - -OID = 06 07 2B 06 01 05 05 07 02 -Comment = PKIX -Description = policyQualifierIds (1 3 6 1 5 5 7 2) - -OID = 06 08 2B 06 01 05 05 07 02 01 -Comment = PKIX policy qualifier -Description = cps (1 3 6 1 5 5 7 2 1) - -OID = 06 08 2B 06 01 05 05 07 02 02 -Comment = PKIX policy qualifier -Description = unotice (1 3 6 1 5 5 7 2 2) - -OID = 06 07 2B 06 01 05 05 07 03 -Comment = PKIX -Description = keyPurpose (1 3 6 1 5 5 7 3) - -OID = 06 08 2B 06 01 05 05 07 03 01 -Comment = PKIX key purpose -Description = serverAuth (1 3 6 1 5 5 7 3 1) - -OID = 06 08 2B 06 01 05 05 07 03 02 -Comment = PKIX key purpose -Description = clientAuth (1 3 6 1 5 5 7 3 2) - -OID = 06 08 2B 06 01 05 05 07 03 03 -Comment = PKIX key purpose -Description = codeSigning (1 3 6 1 5 5 7 3 3) - -OID = 06 08 2B 06 01 05 05 07 03 04 -Comment = PKIX key purpose -Description = emailProtection (1 3 6 1 5 5 7 3 4) - -OID = 06 08 2B 06 01 05 05 07 03 05 -Comment = PKIX key purpose -Description = ipsecEndSystem (1 3 6 1 5 5 7 3 5) - -OID = 06 08 2B 06 01 05 05 07 03 06 -Comment = PKIX key purpose -Description = ipsecTunnel (1 3 6 1 5 5 7 3 6) - -OID = 06 08 2B 06 01 05 05 07 03 07 -Comment = PKIX key purpose -Description = ipsecUser (1 3 6 1 5 5 7 3 7) - -OID = 06 08 2B 06 01 05 05 07 03 08 -Comment = PKIX key purpose -Description = timeStamping (1 3 6 1 5 5 7 3 8) - -OID = 06 08 2B 06 01 05 05 07 03 09 -Comment = PKIX key purpose -Description = ocspSigning (1 3 6 1 5 5 7 3 9) - -OID = 06 07 2B 06 01 05 05 07 04 -Comment = PKIX -Description = cmpInformationTypes (1 3 6 1 5 5 7 4) - -OID = 06 08 2B 06 01 05 05 07 04 01 -Comment = PKIX CMP information -Description = caProtEncCert (1 3 6 1 5 5 7 4 1) - -OID = 06 08 2B 06 01 05 05 07 04 02 -Comment = PKIX CMP information -Description = signKeyPairTypes (1 3 6 1 5 5 7 4 2) - -OID = 06 08 2B 06 01 05 05 07 04 03 -Comment = PKIX CMP information -Description = encKeyPairTypes (1 3 6 1 5 5 7 4 3) - -OID = 06 08 2B 06 01 05 05 07 04 04 -Comment = PKIX CMP information -Description = preferredSymmAlg (1 3 6 1 5 5 7 4 4) - -OID = 06 08 2B 06 01 05 05 07 04 05 -Comment = PKIX CMP information -Description = caKeyUpdateInfo (1 3 6 1 5 5 7 4 5) - -OID = 06 08 2B 06 01 05 05 07 04 06 -Comment = PKIX CMP information -Description = currentCRL (1 3 6 1 5 5 7 4 6) - -OID = 06 08 2B 06 01 05 05 07 04 07 -Comment = PKIX CMP information -Description = unsupportedOIDs (1 3 6 1 5 5 7 4 7) - -OID = 06 08 2B 06 01 05 05 07 04 0A -Comment = PKIX CMP information -Description = keyPairParamReq (1 3 6 1 5 5 7 4 10) - -OID = 06 08 2B 06 01 05 05 07 04 0B -Comment = PKIX CMP information -Description = keyPairParamRep (1 3 6 1 5 5 7 4 11) - -OID = 06 08 2B 06 01 05 05 07 04 0C -Comment = PKIX CMP information -Description = revPassphrase (1 3 6 1 5 5 7 4 12) - -OID = 06 08 2B 06 01 05 05 07 04 0D -Comment = PKIX CMP information -Description = implicitConfirm (1 3 6 1 5 5 7 4 13) - -OID = 06 08 2B 06 01 05 05 07 04 0E -Comment = PKIX CMP information -Description = confirmWaitTime (1 3 6 1 5 5 7 4 14) - -OID = 06 08 2B 06 01 05 05 07 04 0F -Comment = PKIX CMP information -Description = origPKIMessage (1 3 6 1 5 5 7 4 15) - -OID = 06 08 2B 06 01 05 05 07 06 03 -Comment = PKIX algorithm -Description = dh-sig-hmac-sha1 (1 3 6 1 5 5 7 6 3) - -OID = 06 08 2B 06 01 05 05 07 06 04 -Comment = PKIX algorithm -Description = dh-pop (1 3 6 1 5 5 7 6 4) - -# Attribute certificates - -OID = 06 08 2B 06 01 05 05 07 0A 01 -Comment = PKIX attribute certificate extension -Description = authenticationInfo (1 3 6 1 5 5 7 10 1) - -OID = 06 08 2B 06 01 05 05 07 0A 02 -Comment = PKIX attribute certificate extension -Description = accessIdentity (1 3 6 1 5 5 7 10 2) - -OID = 06 08 2B 06 01 05 05 07 0A 03 -Comment = PKIX attribute certificate extension -Description = chargingIdentity (1 3 6 1 5 5 7 10 3) - -OID = 06 08 2B 06 01 05 05 07 0A 04 -Comment = PKIX attribute certificate extension -Description = group (1 3 6 1 5 5 7 10 4) - -OID = 06 08 2B 06 01 05 05 07 0A 06 -Comment = PKIX attribute certificate extension -Description = encAttrs (1 3 6 1 5 5 7 10 6) - -# OCSP - -OID = 06 08 2B 06 01 05 05 07 30 01 -Comment = PKIX -Description = ocsp (1 3 6 1 5 5 7 48 1) - -OID = 06 09 2B 06 01 05 05 07 30 01 01 -Comment = OCSP -Description = ocspBasic (1 3 6 1 5 5 7 48 1 1) - -OID = 06 09 2B 06 01 05 05 07 30 01 02 -Comment = OCSP -Description = ocspNonce (1 3 6 1 5 5 7 48 1 2) - -OID = 06 09 2B 06 01 05 05 07 30 01 03 -Comment = OCSP -Description = ocspCRL (1 3 6 1 5 5 7 48 1 3) - -OID = 06 09 2B 06 01 05 05 07 30 01 04 -Comment = OCSP -Description = ocspResponse (1 3 6 1 5 5 7 48 1 4) - -OID = 06 09 2B 06 01 05 05 07 30 01 05 -Comment = OCSP -Description = ocspNoCheck (1 3 6 1 5 5 7 48 1 5) - -OID = 06 09 2B 06 01 05 05 07 30 01 06 -Comment = OCSP -Description = ocspArchiveCutoff (1 3 6 1 5 5 7 48 1 6) - -OID = 06 09 2B 06 01 05 05 07 30 01 07 -Comment = OCSP -Description = ocspServiceLocator (1 3 6 1 5 5 7 48 1 7) - -# Some PKIX usage - -OID = 06 08 2B 06 01 05 05 07 30 02 -Comment = PKIX authority info access descriptor -Description = caIssuers (1 3 6 1 5 5 7 48 2) - -# ISAKMP - -OID = 06 08 2B 06 01 05 05 08 01 01 -Comment = ISAKMP HMAC algorithm -Description = hmacMD5 (1 3 6 1 5 5 8 1 1) - -OID = 06 08 2B 06 01 05 05 08 01 02 -Comment = ISAKMP HMAC algorithm -Description = hmacSHA (1 3 6 1 5 5 8 1 2) - -OID = 06 08 2B 06 01 05 05 08 01 03 -Comment = ISAKMP HMAC algorithm -Description = hmacTiger (1 3 6 1 5 5 8 1 3) - -OID = 06 08 2B 06 01 05 05 08 02 02 -Comment = IKE ??? -Description = iKEIntermediate (1 3 6 1 5 5 8 2 2) - -# DEC (via ECMA) - -OID = 06 07 2B 0C 02 87 73 07 01 -Comment = DASS algorithm -Description = decEncryptionAlgorithm (1 3 12 2 1011 7 1) - -OID = 06 08 2B 0C 02 87 73 07 01 02 -Comment = DASS encryption algorithm -Description = decDEA (1 3 12 2 1011 7 1 2) - -OID = 06 07 2B 0C 02 87 73 07 02 -Comment = DASS algorithm -Description = decHashAlgorithm (1 3 12 2 1011 7 2) - -OID = 06 07 2B 0C 02 87 73 07 02 01 -Comment = DASS hash algorithm -Description = decMD2 (1 3 12 2 1011 7 2 1) - -OID = 06 07 2B 0C 02 87 73 07 02 02 -Comment = DASS hash algorithm -Description = decMD4 (1 3 12 2 1011 7 2 2) - -OID = 06 07 2B 0C 02 87 73 07 03 -Comment = DASS algorithm -Description = decSignatureAlgorithm (1 3 12 2 1011 7 3) - -OID = 06 07 2B 0C 02 87 73 07 03 01 -Comment = DASS signature algorithm -Description = decMD2withRSA (1 3 12 2 1011 7 3 1) - -OID = 06 07 2B 0C 02 87 73 07 03 02 -Comment = DASS signature algorithm -Description = decMD4withRSA (1 3 12 2 1011 7 3 2) - -OID = 06 07 2B 0C 02 87 73 07 03 03 -Comment = DASS signature algorithm -Description = decDEAMAC (1 3 12 2 1011 7 3 3) - -# NIST Open Systems Environment (OSE) Implementor's Workshop (OIW), -# specialising in oddball and partially-defunct OIDs - -OID = 06 05 2B 0E 02 1A 05 -Comment = Unsure about this OID -Description = sha (1 3 14 2 26 5) - -OID = 06 06 2B 0E 03 02 01 01 -Comment = X.509. Unsure about this OID -Description = rsa (1 3 14 3 2 1 1) - -OID = 06 05 2B 0E 03 02 02 -Comment = Oddball OIW OID -Description = md4WitRSA (1 3 14 3 2 2) - -OID = 06 05 2B 0E 03 02 03 -Comment = Oddball OIW OID -Description = md5WithRSA (1 3 14 3 2 3) - -OID = 06 05 2B 0E 03 02 04 -Comment = Oddball OIW OID -Description = md4WithRSAEncryption (1 3 14 3 2 4) - -OID = 06 06 2B 0E 03 02 02 01 -Comment = X.509. Deprecated -Description = sqmod-N (1 3 14 3 2 2 1) -Warning - -OID = 06 06 2B 0E 03 02 03 01 -Comment = X.509. Deprecated -Description = sqmod-NwithRSA (1 3 14 3 2 3 1) -Warning - -OID = 06 05 2B 0E 03 02 06 -Description = desECB (1 3 14 3 2 6) - -OID = 06 05 2B 0E 03 02 07 -Description = desCBC (1 3 14 3 2 7) - -OID = 06 05 2B 0E 03 02 08 -Description = desOFB (1 3 14 3 2 8) - -OID = 06 05 2B 0E 03 02 09 -Description = desCFB (1 3 14 3 2 9) - -OID = 06 05 2B 0E 03 02 0A -Description = desMAC (1 3 14 3 2 10) - -OID = 06 05 2B 0E 03 02 0B -Comment = ISO 9796-2, also X9.31 Part 1 -Description = rsaSignature (1 3 14 3 2 11) - -OID = 06 05 2B 0E 03 02 0C -Comment = OIW?, supposedly from an incomplete version of SDN.701 (doesn't match final SDN.701) -Description = dsa (1 3 14 3 2 12) -Warning - -OID = 06 05 2B 0E 03 02 0D -Comment = Oddball OIW OID. Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27) -# Their response was that they know it's wrong, but noone uses SHA0 so it won't -# cause any problems, right? -Description = dsaWithSHA (1 3 14 3 2 13) -Warning - -# The various mdWithRSASIsignature OIDs are for the ANSI X9.31 draft and use -# ISO 9796-2 padding rules. This work was derailed during the PKP brouhaha and -# is still in progress -OID = 06 05 2B 0E 03 02 0E -Comment = Oddball OIW OID using 9796-2 padding rules -Description = mdc2WithRSASignature (1 3 14 3 2 14) - -OID = 06 05 2B 0E 03 02 0F -Comment = Oddball OIW OID using 9796-2 padding rules -Description = shaWithRSASignature (1 3 14 3 2 15) - -OID = 06 05 2B 0E 03 02 10 -Comment = Oddball OIW OID. Deprecated, use a plain DH OID instead -Description = dhWithCommonModulus (1 3 14 3 2 16) -Warning - -OID = 06 05 2B 0E 03 02 11 -Comment = Oddball OIW OID. Mode is ECB -Description = desEDE (1 3 14 3 2 17) - -OID = 06 05 2B 0E 03 02 12 -Comment = Oddball OIW OID -Description = sha (1 3 14 3 2 18) - -OID = 06 05 2B 0E 03 02 13 -Comment = Oddball OIW OID, DES-based hash, planned for X9.31 Part 2 -Description = mdc-2 (1 3 14 3 2 19) - -OID = 06 05 2B 0E 03 02 14 -Comment = Oddball OIW OID. Deprecated, use a plain DSA OID instead -Description = dsaCommon (1 3 14 3 2 20) -Warning - -OID = 06 05 2B 0E 03 02 15 -Comment = Oddball OIW OID. Deprecated, use a plain dsaWithSHA OID instead -Description = dsaCommonWithSHA (1 3 14 3 2 21) -Warning - -OID = 06 05 2B 0E 03 02 16 -Comment = Oddball OIW OID -Description = rsaKeyTransport (1 3 14 3 2 22) - -OID = 06 05 2B 0E 03 02 17 -Comment = Oddball OIW OID -Description = keyed-hash-seal (1 3 14 3 2 23) - -OID = 06 05 2B 0E 03 02 18 -Comment = Oddball OIW OID using 9796-2 padding rules -Description = md2WithRSASignature (1 3 14 3 2 24) - -OID = 06 05 2B 0E 03 02 19 -Comment = Oddball OIW OID using 9796-2 padding rules -Description = md5WithRSASignature (1 3 14 3 2 25) - -OID = 06 05 2B 0E 03 02 1A -Comment = OIW -Description = sha1 (1 3 14 3 2 26) - -# Yet another multiply-assigned OID -OID = 06 05 2B 0E 03 02 1B -Comment = OIW. This OID may also be assigned as ripemd-160 -Description = dsaWithSHA1 (1 3 14 3 2 27) - -OID = 06 05 2B 0E 03 02 1C -Comment = OIW -Description = dsaWithCommonSHA1 (1 3 14 3 2 28) - -OID = 06 05 2B 0E 03 02 1D -Comment = Oddball OIW OID -Description = sha-1WithRSAEncryption (1 3 14 3 2 29) - -OID = 06 05 2B 0E 03 03 01 -Comment = Oddball OIW OID -Description = simple-strong-auth-mechanism (1 3 14 3 3 1) - -OID = 06 06 2B 0E 07 02 01 01 -Comment = Unsure about this OID -Description = ElGamal (1 3 14 7 2 1 1) - -OID = 06 06 2B 0E 07 02 03 01 -Comment = Unsure about this OID -Description = md2WithRSA (1 3 14 7 2 3 1) - -OID = 06 06 2B 0E 07 02 03 02 -Comment = Unsure about this OID -Description = md2WithElGamal (1 3 14 7 2 3 2) - -# Teletrust - -OID = 06 03 2B 24 01 -Comment = Teletrust document -Description = document (1 3 36 1) - -OID = 06 04 2B 24 01 01 -Comment = Teletrust document -Description = finalVersion (1 3 36 1 1) - -OID = 06 04 2B 24 01 02 -Comment = Teletrust document -Description = draft (1 3 36 1 2) - -OID = 06 03 2B 24 02 -Comment = Teletrust sio -Description = sio (1 3 36 2) - -OID = 06 04 2B 24 02 01 -Comment = Teletrust sio -Description = sedu (1 3 36 2 1) - -OID = 06 03 2B 24 03 -Comment = Teletrust algorithm -Description = algorithm (1 3 36 3) - -OID = 06 04 2B 24 03 01 -Comment = Teletrust algorithm -Description = encryptionAlgorithm (1 3 36 3 1) - -OID = 06 05 2B 24 03 01 01 -Comment = Teletrust encryption algorithm -Description = des (1 3 36 3 1 1) - -OID = 06 06 2B 24 03 01 01 01 -Comment = Teletrust encryption algorithm -Description = desECB_pad (1 3 36 3 1 1 1) - -OID = 06 07 2B 24 03 01 01 01 01 -Comment = Teletrust encryption algorithm -Description = desECB_ISOpad (1 3 36 3 1 1 1 1) - -OID = 06 07 2B 24 03 01 01 02 01 -Comment = Teletrust encryption algorithm -Description = desCBC_pad (1 3 36 3 1 1 2 1) - -OID = 06 08 2B 24 03 01 01 02 01 01 -Comment = Teletrust encryption algorithm -Description = desCBC_ISOpad (1 3 36 3 1 1 2 1 1) - -OID = 06 05 2B 24 03 01 03 -Comment = Teletrust encryption algorithm -Description = des_3 (1 3 36 3 1 3) - -OID = 06 07 2B 24 03 01 03 01 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3ECB_pad (1 3 36 3 1 3 1 1) - -OID = 06 08 2B 24 03 01 03 01 01 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3ECB_ISOpad (1 3 36 3 1 3 1 1 1) - -OID = 06 07 2B 24 03 01 03 02 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3CBC_pad (1 3 36 3 1 3 2 1) - -OID = 06 08 2B 24 03 01 03 02 01 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3CBC_ISOpad (1 3 36 3 1 3 2 1 1) - -OID = 06 05 2B 24 03 01 02 -Comment = Teletrust encryption algorithm -Description = idea (1 3 36 3 1 2) - -OID = 06 06 2B 24 03 01 02 01 -Comment = Teletrust encryption algorithm -Description = ideaECB (1 3 36 3 1 2 1) - -OID = 06 07 2B 24 03 01 02 01 01 -Comment = Teletrust encryption algorithm -Description = ideaECB_pad (1 3 36 3 1 2 1 1) - -OID = 06 08 2B 24 03 01 02 01 01 01 -Comment = Teletrust encryption algorithm -Description = ideaECB_ISOpad (1 3 36 3 1 2 1 1 1) - -OID = 06 06 2B 24 03 01 02 02 -Comment = Teletrust encryption algorithm -Description = ideaCBC (1 3 36 3 1 2 2) - -OID = 06 07 2B 24 03 01 02 02 01 -Comment = Teletrust encryption algorithm -Description = ideaCBC_pad (1 3 36 3 1 2 2 1) - -OID = 06 08 2B 24 03 01 02 02 01 01 -Comment = Teletrust encryption algorithm -Description = ideaCBC_ISOpad (1 3 36 3 1 2 2 1 1) - -OID = 06 06 2B 24 03 01 02 03 -Comment = Teletrust encryption algorithm -Description = ideaOFB (1 3 36 3 1 2 3) - -OID = 06 06 2B 24 03 01 02 04 -Comment = Teletrust encryption algorithm -Description = ideaCFB (1 3 36 3 1 2 4) - -OID = 06 05 2B 24 03 01 04 -Comment = Teletrust encryption algorithm -Description = rsaEncryption (1 3 36 3 1 4) - -OID = 06 08 2B 24 03 01 04 84 00 11 -Comment = Teletrust encryption algorithm -Description = rsaEncryptionWithlmod512expe17 (1 3 36 3 1 4 512 17) - -OID = 06 05 2B 24 03 01 05 -Comment = Teletrust encryption algorithm -Description = bsi-1 (1 3 36 3 1 5) - -OID = 06 06 2B 24 03 01 05 01 -Comment = Teletrust encryption algorithm -Description = bsi_1ECB_pad (1 3 36 3 1 5 1) - -OID = 06 06 2B 24 03 01 05 02 -Comment = Teletrust encryption algorithm -Description = bsi_1CBC_pad (1 3 36 3 1 5 2) - -OID = 06 07 2B 24 03 01 05 02 01 -Comment = Teletrust encryption algorithm -Description = bsi_1CBC_PEMpad (1 3 36 3 1 5 2 1) - -OID = 06 04 2B 24 03 02 -Comment = Teletrust algorithm -Description = hashAlgorithm (1 3 36 3 2) - -OID = 06 05 2B 24 03 02 01 -Comment = Teletrust hash algorithm -Description = ripemd160 (1 3 36 3 2 1) - -OID = 06 05 2B 24 03 02 02 -Comment = Teletrust hash algorithm -Description = ripemd128 (1 3 36 3 2 2) - -OID = 06 05 2B 24 03 02 03 -Comment = Teletrust hash algorithm -Description = ripemd256 (1 3 36 3 2 3) - -OID = 06 05 2B 24 03 02 04 -Comment = Teletrust hash algorithm -Description = mdc2singleLength (1 3 36 3 2 4) - -OID = 06 05 2B 24 03 02 05 -Comment = Teletrust hash algorithm -Description = mdc2doubleLength (1 3 36 3 2 5) - -OID = 06 04 2B 24 03 03 -Comment = Teletrust algorithm -Description = signatureAlgorithm (1 3 36 3 3) - -OID = 06 05 2B 24 03 03 01 -Comment = Teletrust signature algorithm -Description = rsaSignature (1 3 36 3 3 1) - -OID = 06 06 2B 24 03 03 01 01 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1 (1 3 36 3 3 1 1) - -# What *were* they thinking? -OID = 06 09 2B 24 03 03 01 01 84 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l2 (1 3 36 3 3 1 1 512 2) -OID = 06 09 2B 24 03 03 01 01 85 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l2 (1 3 36 3 3 1 1 640 2) -OID = 06 09 2B 24 03 03 01 01 86 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l2 (1 3 36 3 3 1 1 768 2) -OID = 06 09 2B 24 03 03 01 01 87 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l2 (1 3 36 3 3 1 1 892 2) -OID = 06 09 2B 24 03 03 01 01 88 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l2 (1 3 36 3 3 1 1 1024 2) -OID = 06 09 2B 24 03 03 01 01 84 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l3 (1 3 36 3 3 1 1 512 3) -OID = 06 09 2B 24 03 03 01 01 85 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l3 (1 3 36 3 3 1 1 640 3) -OID = 06 09 2B 24 03 03 01 01 86 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l3 (1 3 36 3 3 1 1 768 3) -OID = 06 09 2B 24 03 03 01 01 87 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l3 (1 3 36 3 3 1 1 896 3) -OID = 06 09 2B 24 03 03 01 01 88 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l3 (1 3 36 3 3 1 1 1024 3) -OID = 06 09 2B 24 03 03 01 01 84 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l5 (1 3 36 3 3 1 1 512 5) -OID = 06 09 2B 24 03 03 01 01 85 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l5 (1 3 36 3 3 1 1 640 5) -OID = 06 09 2B 24 03 03 01 01 86 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l5 (1 3 36 3 3 1 1 768 5) -OID = 06 09 2B 24 03 03 01 01 87 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l5 (1 3 36 3 3 1 1 896 5) -OID = 06 09 2B 24 03 03 01 01 88 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l5 (1 3 36 3 3 1 1 1024 5) -OID = 06 09 2B 24 03 03 01 01 84 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l9 (1 3 36 3 3 1 1 512 9) -OID = 06 09 2B 24 03 03 01 01 85 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l9 (1 3 36 3 3 1 1 640 9) -OID = 06 09 2B 24 03 03 01 01 86 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l9 (1 3 36 3 3 1 1 768 9) -OID = 06 09 2B 24 03 03 01 01 87 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l9 (1 3 36 3 3 1 1 896 9) -OID = 06 09 2B 24 03 03 01 01 88 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l9 (1 3 36 3 3 1 1 1024 9) -OID = 06 09 2B 24 03 03 01 01 84 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l11 (1 3 36 3 3 1 1 512 11) -OID = 06 09 2B 24 03 03 01 01 85 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l11 (1 3 36 3 3 1 1 640 11) -OID = 06 09 2B 24 03 03 01 01 86 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l11 (1 3 36 3 3 1 1 768 11) -OID = 06 09 2B 24 03 03 01 01 87 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l11 (1 3 36 3 3 1 1 896 11) -OID = 06 09 2B 24 03 03 01 01 88 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l11 (1 3 36 3 3 1 1 1024 11) - -OID = 06 06 2B 24 03 03 01 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160 (1 3 36 3 3 1 2) - -OID = 06 09 2B 24 03 03 01 02 84 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l2 (1 3 36 3 3 1 2 512 2) -OID = 06 09 2B 24 03 03 01 02 85 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l2 (1 3 36 3 3 1 2 640 2) -OID = 06 09 2B 24 03 03 01 02 86 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l2 (1 3 36 3 3 1 2 768 2) -OID = 06 09 2B 24 03 03 01 02 87 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l2 (1 3 36 3 3 1 2 892 2) -OID = 06 09 2B 24 03 03 01 02 88 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l2 (1 3 36 3 3 1 2 1024 2) -OID = 06 09 2B 24 03 03 01 02 84 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l3 (1 3 36 3 3 1 2 512 3) -OID = 06 09 2B 24 03 03 01 02 85 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l3 (1 3 36 3 3 1 2 640 3) -OID = 06 09 2B 24 03 03 01 02 86 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l3 (1 3 36 3 3 1 2 768 3) -OID = 06 09 2B 24 03 03 01 02 87 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l3 (1 3 36 3 3 1 2 896 3) -OID = 06 09 2B 24 03 03 01 02 88 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l3 (1 3 36 3 3 1 2 1024 3) -OID = 06 09 2B 24 03 03 01 02 84 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l5 (1 3 36 3 3 1 2 512 5) -OID = 06 09 2B 24 03 03 01 02 85 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l5 (1 3 36 3 3 1 2 640 5) -OID = 06 09 2B 24 03 03 01 02 86 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l5 (1 3 36 3 3 1 2 768 5) -OID = 06 09 2B 24 03 03 01 02 87 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l5 (1 3 36 3 3 1 2 896 5) -OID = 06 09 2B 24 03 03 01 02 88 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l5 (1 3 36 3 3 1 2 1024 5) -OID = 06 09 2B 24 03 03 01 02 84 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l9 (1 3 36 3 3 1 2 512 9) -OID = 06 09 2B 24 03 03 01 02 85 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l9 (1 3 36 3 3 1 2 640 9) -OID = 06 09 2B 24 03 03 01 02 86 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l9 (1 3 36 3 3 1 2 768 9) -OID = 06 09 2B 24 03 03 01 02 87 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l9 (1 3 36 3 3 1 2 896 9) -OID = 06 09 2B 24 03 03 01 02 88 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l9 (1 3 36 3 3 1 2 1024 9) -OID = 06 09 2B 24 03 03 01 02 84 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l11 (1 3 36 3 3 1 2 512 11) -OID = 06 09 2B 24 03 03 01 02 85 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l11 (1 3 36 3 3 1 2 640 11) -OID = 06 09 2B 24 03 03 01 02 86 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l11 (1 3 36 3 3 1 2 768 11) -OID = 06 09 2B 24 03 03 01 02 87 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l11 (1 3 36 3 3 1 2 896 11) -OID = 06 09 2B 24 03 03 01 02 88 00 11 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l11 (1 3 36 3 3 1 2 1024 11) - -OID = 06 06 2B 24 03 03 01 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithrimpemd128 (1 3 36 3 3 1 3) - -OID = 06 06 2B 24 03 03 01 04 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithrimpemd256 (1 3 36 3 3 1 4) - -OID = 06 05 2B 24 03 03 02 -Comment = Teletrust signature algorithm -Description = ecsieSign (1 3 36 3 3 2) - -OID = 06 06 2B 24 03 03 02 01 -Comment = Teletrust signature algorithm -Description = ecsieSignWithsha1 (1 3 36 3 3 2 1) - -OID = 06 06 2B 24 03 03 02 02 -Comment = Teletrust signature algorithm -Description = ecsieSignWithripemd160 (1 3 36 3 3 2 2) - -OID = 06 06 2B 24 03 03 02 03 -Comment = Teletrust signature algorithm -Description = ecsieSignWithmd2 (1 3 36 3 3 2 3) - -OID = 06 06 2B 24 03 03 02 04 -Comment = Teletrust signature algorithm -Description = ecsieSignWithmd5 (1 3 36 3 3 2 4) - -OID = 06 04 2B 24 03 04 -Comment = Teletrust algorithm -Description = signatureScheme (1 3 36 3 4) - -OID = 06 05 2B 24 03 04 01 -Comment = Teletrust signature scheme -Description = sigS_ISO9796-1 (1 3 36 3 4 1) - -OID = 06 05 2B 24 03 04 02 -Comment = Teletrust signature scheme -Description = sigS_ISO9796-2 (1 3 36 3 4 2) - -OID = 06 05 2B 24 03 04 02 01 -Comment = Teletrust signature scheme. Unsure what this is supposed to be -Description = sigS_ISO9796-2Withred (1 3 36 3 4 2 1) - -OID = 06 06 2B 24 03 04 02 02 -Comment = Teletrust signature scheme. Unsure what this is supposed to be -Description = sigS_ISO9796-2Withrsa (1 3 36 3 4 2 2) - -OID = 06 06 2B 24 03 04 02 03 -Comment = Teletrust signature scheme. 9796-2 with random number in padding field -Description = sigS_ISO9796-2Withrnd (1 3 36 3 4 2 3) - -OID = 06 03 2B 24 04 -Comment = Teletrust attribute -Description = attribute (1 3 36 4) - -OID = 06 03 2B 24 05 -Comment = Teletrust policy -Description = policy (1 3 36 5) - -OID = 06 03 2B 24 06 -Comment = Teletrust API -Description = api (1 3 36 6) - -OID = 06 04 2B 24 06 01 -Comment = Teletrust API -Description = manufacturer-specific_api (1 3 36 6 1) - -OID = 06 05 2B 24 06 01 01 -Comment = Teletrust API -Description = utimaco-api (1 3 36 6 1 1) - -OID = 06 04 2B 24 06 02 -Comment = Teletrust API -Description = functionality-specific_api (1 3 36 6 2) - -OID = 06 03 2B 24 07 -Comment = Teletrust key management -Description = keymgmnt (1 3 36 7) - -OID = 06 04 2B 24 07 01 -Comment = Teletrust key management -Description = keyagree (1 3 36 7 1) - -OID = 06 05 2B 24 07 01 01 -Comment = Teletrust key management -Description = bsiPKE (1 3 36 7 1 1) - -OID = 06 04 2B 24 07 02 -Comment = Teletrust key management -Description = keytrans (1 3 36 7 2) - -OID = 06 05 2B 24 07 02 01 -Comment = Teletrust key management. 9796-2 with key stored in hash field -Description = encISO9796-2Withrsa (1 3 36 7 2 1) - -OID = 06 05 2B 24 08 01 01 -Comment = Teletrust policy -Description = sigiSigConform (1 3 36 8 1 1) - -OID = 06 05 2B 24 08 02 01 -Comment = Teletrust extended key usage -Description = directoryService (1 3 36 8 2 1) - -OID = 06 05 2B 24 08 03 01 -Comment = Teletrust attribute -Description = dateOfCertGen (1 3 36 8 3 1) - -OID = 06 05 2B 24 08 03 02 -Comment = Teletrust attribute -Description = procuration (1 3 36 8 3 2) - -OID = 06 05 2B 24 08 03 03 -Comment = Teletrust attribute -Description = admission (1 3 36 8 3 3) - -OID = 06 05 2B 24 08 03 04 -Comment = Teletrust attribute -Description = monetaryLimit (1 3 36 8 3 4) - -OID = 06 05 2B 24 08 03 05 -Comment = Teletrust attribute -Description = declarationOfMajority (1 3 36 8 3 5) - -OID = 06 05 2B 24 08 03 06 -Comment = Teletrust attribute -Description = integratedCircuitCardSerialNumber (1 3 36 8 3 6) - -OID = 06 05 2B 24 08 03 07 -Comment = Teletrust attribute -Description = pKReference (1 3 36 8 3 7) - -OID = 06 05 2B 24 08 03 08 -Comment = Teletrust attribute -Description = restriction (1 3 36 8 3 8) - -OID = 06 05 2B 24 08 03 09 -Comment = Teletrust attribute -Description = retrieveIfAllowed (1 3 36 8 3 9) - -OID = 06 05 2B 24 08 03 0A -Comment = Teletrust attribute -Description = requestedCertificate (1 3 36 8 3 10) - -OID = 06 05 2B 24 08 03 0B -Comment = Teletrust attribute -Description = namingAuthorities (1 3 36 8 3 11) - -OID = 06 05 2B 24 08 03 0C -Comment = Teletrust attribute -Description = certInDirSince (1 3 36 8 3 12) - -OID = 06 05 2B 24 08 03 0D -Comment = Teletrust attribute -Description = certHash (1 3 36 8 3 13) - -OID = 06 05 2B 24 08 04 01 -Comment = Teletrust OtherName attribute -Description = personalData (1 3 36 8 4 1) - -OID = 06 05 2B 24 08 04 08 -Comment = Teletrust attribute certificate attribute -Description = restriction (1 3 36 8 4 8) - -OID = 06 07 2B 24 08 05 01 01 01 -Comment = Teletrust signature algorithm -Description = rsaIndicateSHA1 (1 3 36 8 5 1 1 1) - -OID = 06 07 2B 24 08 05 01 01 02 -Comment = Teletrust signature algorithm -Description = rsaIndicateRIPEMD160 (1 3 36 8 5 1 1 2) - -OID = 06 07 2B 24 08 05 01 01 03 -Comment = Teletrust signature algorithm -Description = rsaWithSHA1 (1 3 36 8 5 1 1 3) - -OID = 06 07 2B 24 08 05 01 01 04 -Comment = Teletrust signature algorithm -Description = rsaWithRIPEMD160 (1 3 36 8 5 1 1 4) - -OID = 06 07 2B 24 08 05 01 02 01 -Comment = Teletrust signature algorithm -Description = dsaExtended (1 3 36 8 5 1 2 1) - -OID = 06 07 2B 24 08 05 01 02 02 -Comment = Teletrust signature algorithm -Description = dsaWithRIPEMD160 (1 3 36 8 5 1 2 2) - -OID = 06 05 2B 24 08 06 01 -Comment = Teletrust signature attributes -Description = cert (1 3 36 8 6 1) - -OID = 06 05 2B 24 08 06 02 -Comment = Teletrust signature attributes -Description = certRef (1 3 36 8 6 2) - -OID = 06 05 2B 24 08 06 03 -Comment = Teletrust signature attributes -Description = attrCert (1 3 36 8 6 3) - -OID = 06 05 2B 24 08 06 04 -Comment = Teletrust signature attributes -Description = attrRef (1 3 36 8 6 4) - -OID = 06 05 2B 24 08 06 05 -Comment = Teletrust signature attributes -Description = fileName (1 3 36 8 6 5) - -OID = 06 05 2B 24 08 06 06 -Comment = Teletrust signature attributes -Description = storageTime (1 3 36 8 6 6) - -OID = 06 05 2B 24 08 06 07 -Comment = Teletrust signature attributes -Description = fileSize (1 3 36 8 6 7) - -OID = 06 05 2B 24 08 06 08 -Comment = Teletrust signature attributes -Description = location (1 3 36 8 6 8) - -OID = 06 05 2B 24 08 06 09 -Comment = Teletrust signature attributes -Description = sigNumber (1 3 36 8 6 9) - -OID = 06 05 2B 24 08 06 0A -Comment = Teletrust signature attributes -Description = autoGen (1 3 36 8 6 10) - -OID = 06 06 2B 24 08 07 01 01 -Comment = Teletrust presentation types -Description = ptAdobeILL (1 3 36 8 7 1 1) - -OID = 06 06 2B 24 08 07 01 02 -Comment = Teletrust presentation types -Description = ptAmiPro (1 3 36 8 7 1 2) - -OID = 06 06 2B 24 08 07 01 03 -Comment = Teletrust presentation types -Description = ptAutoCAD (1 3 36 8 7 1 3) - -OID = 06 06 2B 24 08 07 01 04 -Comment = Teletrust presentation types -Description = ptBinary (1 3 36 8 7 1 4) - -OID = 06 06 2B 24 08 07 01 05 -Comment = Teletrust presentation types -Description = ptBMP (1 3 36 8 7 1 5) - -OID = 06 06 2B 24 08 07 01 06 -Comment = Teletrust presentation types -Description = ptCGM (1 3 36 8 7 1 6) - -OID = 06 06 2B 24 08 07 01 07 -Comment = Teletrust presentation types -Description = ptCorelCRT (1 3 36 8 7 1 7) - -OID = 06 06 2B 24 08 07 01 08 -Comment = Teletrust presentation types -Description = ptCorelDRW (1 3 36 8 7 1 8) - -OID = 06 06 2B 24 08 07 01 09 -Comment = Teletrust presentation types -Description = ptCorelEXC (1 3 36 8 7 1 9) - -OID = 06 06 2B 24 08 07 01 0A -Comment = Teletrust presentation types -Description = ptCorelPHT (1 3 36 8 7 1 10) - -OID = 06 06 2B 24 08 07 01 0B -Comment = Teletrust presentation types -Description = ptDraw (1 3 36 8 7 1 11) - -OID = 06 06 2B 24 08 07 01 0C -Comment = Teletrust presentation types -Description = ptDVI (1 3 36 8 7 1 12) - -OID = 06 06 2B 24 08 07 01 0D -Comment = Teletrust presentation types -Description = ptEPS (1 3 36 8 7 1 13) - -OID = 06 06 2B 24 08 07 01 0E -Comment = Teletrust presentation types -Description = ptExcel (1 3 36 8 7 1 14) - -OID = 06 06 2B 24 08 07 01 0F -Comment = Teletrust presentation types -Description = ptGEM (1 3 36 8 7 1 15) - -OID = 06 06 2B 24 08 07 01 10 -Comment = Teletrust presentation types -Description = ptGIF (1 3 36 8 7 1 16) - -OID = 06 06 2B 24 08 07 01 11 -Comment = Teletrust presentation types -Description = ptHPGL (1 3 36 8 7 1 17) - -OID = 06 06 2B 24 08 07 01 12 -Comment = Teletrust presentation types -Description = ptJPEG (1 3 36 8 7 1 18) - -OID = 06 06 2B 24 08 07 01 13 -Comment = Teletrust presentation types -Description = ptKodak (1 3 36 8 7 1 19) - -OID = 06 06 2B 24 08 07 01 14 -Comment = Teletrust presentation types -Description = ptLaTeX (1 3 36 8 7 1 20) - -OID = 06 06 2B 24 08 07 01 15 -Comment = Teletrust presentation types -Description = ptLotus (1 3 36 8 7 1 21) - -OID = 06 06 2B 24 08 07 01 16 -Comment = Teletrust presentation types -Description = ptLotusPIC (1 3 36 8 7 1 22) - -OID = 06 06 2B 24 08 07 01 17 -Comment = Teletrust presentation types -Description = ptMacPICT (1 3 36 8 7 1 23) - -OID = 06 06 2B 24 08 07 01 18 -Comment = Teletrust presentation types -Description = ptMacWord (1 3 36 8 7 1 24) - -OID = 06 06 2B 24 08 07 01 19 -Comment = Teletrust presentation types -Description = ptMSWfD (1 3 36 8 7 1 25) - -OID = 06 06 2B 24 08 07 01 1A -Comment = Teletrust presentation types -Description = ptMSWord (1 3 36 8 7 1 26) - -OID = 06 06 2B 24 08 07 01 1B -Comment = Teletrust presentation types -Description = ptMSWord2 (1 3 36 8 7 1 27) - -OID = 06 06 2B 24 08 07 01 1C -Comment = Teletrust presentation types -Description = ptMSWord6 (1 3 36 8 7 1 28) - -OID = 06 06 2B 24 08 07 01 1D -Comment = Teletrust presentation types -Description = ptMSWord8 (1 3 36 8 7 1 29) - -OID = 06 06 2B 24 08 07 01 1E -Comment = Teletrust presentation types -Description = ptPDF (1 3 36 8 7 1 30) - -OID = 06 06 2B 24 08 07 01 1F -Comment = Teletrust presentation types -Description = ptPIF (1 3 36 8 7 1 31) - -OID = 06 06 2B 24 08 07 01 20 -Comment = Teletrust presentation types -Description = ptPostscript (1 3 36 8 7 1 32) - -OID = 06 06 2B 24 08 07 01 21 -Comment = Teletrust presentation types -Description = ptRTF (1 3 36 8 7 1 33) - -OID = 06 06 2B 24 08 07 01 22 -Comment = Teletrust presentation types -Description = ptSCITEX (1 3 36 8 7 1 34) - -OID = 06 06 2B 24 08 07 01 23 -Comment = Teletrust presentation types -Description = ptTAR (1 3 36 8 7 1 35) - -OID = 06 06 2B 24 08 07 01 24 -Comment = Teletrust presentation types -Description = ptTarga (1 3 36 8 7 1 36) - -OID = 06 06 2B 24 08 07 01 25 -Comment = Teletrust presentation types -Description = ptTeX (1 3 36 8 7 1 37) - -OID = 06 06 2B 24 08 07 01 26 -Comment = Teletrust presentation types -Description = ptText (1 3 36 8 7 1 38) - -OID = 06 06 2B 24 08 07 01 27 -Comment = Teletrust presentation types -Description = ptTIFF (1 3 36 8 7 1 39) - -OID = 06 06 2B 24 08 07 01 28 -Comment = Teletrust presentation types -Description = ptTIFF-FC (1 3 36 8 7 1 40) - -OID = 06 06 2B 24 08 07 01 29 -Comment = Teletrust presentation types -Description = ptUID (1 3 36 8 7 1 41) - -OID = 06 06 2B 24 08 07 01 2A -Comment = Teletrust presentation types -Description = ptUUEncode (1 3 36 8 7 1 42) - -OID = 06 06 2B 24 08 07 01 2B -Comment = Teletrust presentation types -Description = ptWMF (1 3 36 8 7 1 43) - -OID = 06 06 2B 24 08 07 01 2C -Comment = Teletrust presentation types -Description = ptWordPerfect (1 3 36 8 7 1 44) - -OID = 06 06 2B 24 08 07 01 2D -Comment = Teletrust presentation types -Description = ptWPGrph (1 3 36 8 7 1 45) - -# Thawte - -OID = 06 04 2B 65 01 04 -Comment = Thawte -Description = thawte-ce (1 3 101 1 4) - -OID = 06 05 2B 65 01 04 01 -Comment = Thawte certificate extension -Description = strongExtranet (1 3 101 1 4 1) - -# X.520 - -OID = 06 03 55 04 00 -Comment = X.520 id-at (2 5 4) -Description = objectClass (2 5 4 0) - -OID = 06 03 55 04 01 -Comment = X.520 id-at (2 5 4) -Description = aliasedEntryName (2 5 4 1) - -OID = 06 03 55 04 02 -Comment = X.520 id-at (2 5 4) -Description = knowledgeInformation (2 5 4 2) - -OID = 06 03 55 04 03 -Comment = X.520 id-at (2 5 4) -Description = commonName (2 5 4 3) - -OID = 06 03 55 04 04 -Comment = X.520 id-at (2 5 4) -Description = surname (2 5 4 4) - -OID = 06 03 55 04 05 -Comment = X.520 id-at (2 5 4) -Description = serialNumber (2 5 4 5) - -OID = 06 03 55 04 06 -Comment = X.520 id-at (2 5 4) -Description = countryName (2 5 4 6) - -OID = 06 03 55 04 07 -Comment = X.520 id-at (2 5 4) -Description = localityName (2 5 4 7) - -OID = 06 04 55 04 07 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveLocalityName (2 5 4 7 1) - -OID = 06 03 55 04 08 -Comment = X.520 id-at (2 5 4) -Description = stateOrProvinceName (2 5 4 8) - -OID = 06 04 55 04 08 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveStateOrProvinceName (2 5 4 8 1) - -OID = 06 03 55 04 09 -Comment = X.520 id-at (2 5 4) -Description = streetAddress (2 5 4 9) - -OID = 06 04 55 04 09 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveStreetAddress (2 5 4 9 1) - -OID = 06 03 55 04 0A -Comment = X.520 id-at (2 5 4) -Description = organizationName (2 5 4 10) - -OID = 06 04 55 04 0A 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveOrganizationName (2 5 4 10 1) - -OID = 06 03 55 04 0B -Comment = X.520 id-at (2 5 4) -Description = organizationalUnitName (2 5 4 11) - -OID = 06 04 55 04 0B 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveOrganizationalUnitName (2 5 4 11 1) - -OID = 06 03 55 04 0C -Comment = X.520 id-at (2 5 4) -Description = title (2 5 4 12) - -OID = 06 03 55 04 0D -Comment = X.520 id-at (2 5 4) -Description = description (2 5 4 13) - -OID = 06 03 55 04 0E -Comment = X.520 id-at (2 5 4) -Description = searchGuide (2 5 4 14) - -OID = 06 03 55 04 0F -Comment = X.520 id-at (2 5 4) -Description = businessCategory (2 5 4 15) - -OID = 06 03 55 04 10 -Comment = X.520 id-at (2 5 4) -Description = postalAddress (2 5 4 16) - -OID = 06 04 55 04 10 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePostalAddress (2 5 4 16 1) - -OID = 06 03 55 04 11 -Comment = X.520 id-at (2 5 4) -Description = postalCode (2 5 4 17) - -OID = 06 04 55 04 11 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePostalCode (2 5 4 17 1) - -OID = 06 03 55 04 12 -Comment = X.520 id-at (2 5 4) -Description = postOfficeBox (2 5 4 18) - -OID = 06 04 55 04 12 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePostOfficeBox (2 5 4 18 1) - -OID = 06 03 55 04 13 -Comment = X.520 id-at (2 5 4) -Description = physicalDeliveryOfficeName (2 5 4 19) - -OID = 06 04 55 04 13 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePhysicalDeliveryOfficeName (2 5 4 19 1) - -OID = 06 03 55 04 14 -Comment = X.520 id-at (2 5 4) -Description = telephoneNumber (2 5 4 20) - -OID = 06 04 55 04 14 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveTelephoneNumber (2 5 4 20 1) - -OID = 06 03 55 04 15 -Comment = X.520 id-at (2 5 4) -Description = telexNumber (2 5 4 21) - -OID = 06 04 55 04 15 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveTelexNumber (2 5 4 21 1) - -OID = 06 03 55 04 16 -Comment = X.520 id-at (2 5 4) -Description = teletexTerminalIdentifier (2 5 4 22) - -OID = 06 04 55 04 16 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveTeletexTerminalIdentifier (2 5 4 22 1) - -OID = 06 03 55 04 17 -Comment = X.520 id-at (2 5 4) -Description = facsimileTelephoneNumber (2 5 4 23) - -OID = 06 04 55 04 17 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveFacsimileTelephoneNumber (2 5 4 23 1) - -OID = 06 03 55 04 18 -Comment = X.520 id-at (2 5 4) -Description = x121Address (2 5 4 24) - -OID = 06 03 55 04 19 -Comment = X.520 id-at (2 5 4) -Description = internationalISDNNumber (2 5 4 25) - -OID = 06 04 55 04 19 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveInternationalISDNNumber (2 5 4 25 1) - -OID = 06 03 55 04 1A -Comment = X.520 id-at (2 5 4) -Description = registeredAddress (2 5 4 26) - -OID = 06 03 55 04 1B -Comment = X.520 id-at (2 5 4) -Description = destinationIndicator (2 5 4 27) - -OID = 06 03 55 04 1C -Comment = X.520 id-at (2 5 4) -Description = preferredDeliveryMehtod (2 5 4 28) - -OID = 06 03 55 04 1D -Comment = X.520 id-at (2 5 4) -Description = presentationAddress (2 5 4 29) - -OID = 06 03 55 04 1E -Comment = X.520 id-at (2 5 4) -Description = supportedApplicationContext (2 5 4 30) - -OID = 06 03 55 04 1F -Comment = X.520 id-at (2 5 4) -Description = member (2 5 4 31) - -OID = 06 03 55 04 20 -Comment = X.520 id-at (2 5 4) -Description = owner (2 5 4 32) - -OID = 06 03 55 04 21 -Comment = X.520 id-at (2 5 4) -Description = roleOccupant (2 5 4 33) - -OID = 06 03 55 04 22 -Comment = X.520 id-at (2 5 4) -Description = seeAlso (2 5 4 34) - -OID = 06 03 55 04 23 -Comment = X.520 id-at (2 5 4) -Description = userPassword (2 5 4 35) - -OID = 06 03 55 04 24 -Comment = X.520 id-at (2 5 4) -Description = userCertificate (2 5 4 36) - -OID = 06 03 55 04 25 -Comment = X.520 id-at (2 5 4) -Description = caCertificate (2 5 4 37) - -OID = 06 03 55 04 26 -Comment = X.520 id-at (2 5 4) -Description = authorityRevocationList (2 5 4 38) - -OID = 06 03 55 04 27 -Comment = X.520 id-at (2 5 4) -Description = certificateRevocationList (2 5 4 39) - -OID = 06 03 55 04 28 -Comment = X.520 id-at (2 5 4) -Description = crossCertificatePair (2 5 4 40) - -OID = 06 03 55 04 29 -Comment = X.520 id-at (2 5 4) -Description = name (2 5 4 41) - -OID = 06 03 55 04 2A -Comment = X.520 id-at (2 5 4) -Description = givenName (2 5 4 42) - -OID = 06 03 55 04 2B -Comment = X.520 id-at (2 5 4) -Description = initials (2 5 4 43) - -OID = 06 03 55 04 2C -Comment = X.520 id-at (2 5 4) -Description = generationQualifier (2 5 4 44) - -OID = 06 03 55 04 2D -Comment = X.520 id-at (2 5 4) -Description = uniqueIdentifier (2 5 4 45) - -OID = 06 03 55 04 2E -Comment = X.520 id-at (2 5 4) -Description = dnQualifier (2 5 4 46) - -OID = 06 03 55 04 2F -Comment = X.520 id-at (2 5 4) -Description = enhancedSearchGuide (2 5 4 47) - -OID = 06 03 55 04 30 -Comment = X.520 id-at (2 5 4) -Description = protocolInformation (2 5 4 48) - -OID = 06 03 55 04 31 -Comment = X.520 id-at (2 5 4) -Description = distinguishedName (2 5 4 49) - -OID = 06 03 55 04 32 -Comment = X.520 id-at (2 5 4) -Description = uniqueMember (2 5 4 50) - -OID = 06 03 55 04 33 -Comment = X.520 id-at (2 5 4) -Description = houseIdentifier (2 5 4 51) - -OID = 06 03 55 04 34 -Comment = X.520 id-at (2 5 4) -Description = supportedAlgorithms (2 5 4 52) - -OID = 06 03 55 04 35 -Comment = X.520 id-at (2 5 4) -Description = deltaRevocationList (2 5 4 53) - -OID = 06 03 55 04 36 -Comment = X.520 id-at (2 5 4) -Description = clearance (2 5 4 55) - -OID = 06 03 55 04 3A -Comment = X.520 id-at (2 5 4) -Description = crossCertificatePair (2 5 4 58) - -# X.500 object classes - -OID = 06 03 55 06 00 -Comment = X.520 objectClass (2 5 6) -Description = top (2 5 6 0) - -OID = 06 03 55 06 01 -Comment = X.520 objectClass (2 5 6) -Description = alias (2 5 6 1) - -OID = 06 03 55 06 02 -Comment = X.520 objectClass (2 5 6) -Description = country (2 5 6 2) - -OID = 06 03 55 06 03 -Comment = X.520 objectClass (2 5 6) -Description = locality (2 5 6 3) - -OID = 06 03 55 06 04 -Comment = X.520 objectClass (2 5 6) -Description = organization (2 5 6 4) - -OID = 06 03 55 06 05 -Comment = X.520 objectClass (2 5 6) -Description = organizationalUnit (2 5 6 5) - -OID = 06 03 55 06 06 -Comment = X.520 objectClass (2 5 6) -Description = person (2 5 6 6) - -OID = 06 03 55 06 07 -Comment = X.520 objectClass (2 5 6) -Description = organizationalPerson (2 5 6 7) - -OID = 06 03 55 06 08 -Comment = X.520 objectClass (2 5 6) -Description = organizationalRole (2 5 6 8) - -OID = 06 03 55 06 09 -Comment = X.520 objectClass (2 5 6) -Description = groupOfNames (2 5 6 9) - -OID = 06 03 55 06 0A -Comment = X.520 objectClass (2 5 6) -Description = residentialPerson (2 5 6 10) - -OID = 06 03 55 06 0B -Comment = X.520 objectClass (2 5 6) -Description = applicationProcess (2 5 6 11) - -OID = 06 03 55 06 0C -Comment = X.520 objectClass (2 5 6) -Description = applicationEntity (2 5 6 12) - -OID = 06 03 55 06 0D -Comment = X.520 objectClass (2 5 6) -Description = dSA (2 5 6 13) - -OID = 06 03 55 06 0E -Comment = X.520 objectClass (2 5 6) -Description = device (2 5 6 14) - -OID = 06 03 55 06 0F -Comment = X.520 objectClass (2 5 6) -Description = strongAuthenticationUser (2 5 6 15) - -OID = 06 03 55 06 10 -Comment = X.520 objectClass (2 5 6) -Description = certificateAuthority (2 5 6 16) - -OID = 06 03 55 06 11 -Comment = X.520 objectClass (2 5 6) -Description = groupOfUniqueNames (2 5 6 17) - -OID = 06 03 55 06 15 -Comment = X.520 objectClass (2 5 6) -Description = pkiUser (2 5 6 21) - -OID = 06 03 55 06 16 -Comment = X.520 objectClass (2 5 6) -Description = pkiCA (2 5 6 22) - -# X.500 algorithms - -OID = 06 02 55 08 -Description = X.500-Algorithms (2 5 8) - -OID = 06 03 55 08 01 -Description = X.500-Alg-Encryption (2 5 8 1) - -OID = 06 04 55 08 01 01 -Comment = X.500 algorithms. Ambiguous, since no padding rules specified -Description = rsa (2 5 8 1 1) -Warning - -# X.509. Some of the smaller values are from early X.509 drafts with -# cross-pollination from X9.55 and are now deprecated. Alternative OIDs are -# marked if these are known. In some cases there are multiple generations of -# superseded OIDs - -OID = 06 03 55 1D 01 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 35) instead -Description = authorityKeyIdentifier (2 5 29 1) -Warning - -OID = 06 03 55 1D 02 -Comment = X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead -Description = keyAttributes (2 5 29 2) -Warning - -OID = 06 03 55 1D 03 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 32) instead -Description = certificatePolicies (2 5 29 3) -Warning - -OID = 06 03 55 1D 04 -Comment = X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead -Description = keyUsageRestriction (2 5 29 4) -Warning - -OID = 06 03 55 1D 05 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 33) instead -Description = policyMapping (2 5 29 5) -Warning - -OID = 06 03 55 1D 06 -Comment = X.509 id-ce (2 5 29). Obsolete, use nameConstraints instead -Description = subtreesConstraint (2 5 29 6) -Warning - -OID = 06 03 55 1D 07 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 17) instead -Description = subjectAltName (2 5 29 7) -Warning - -OID = 06 03 55 1D 08 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 18) instead -Description = issuerAltName (2 5 29 8) -Warning - -OID = 06 03 55 1D 09 -Comment = X.509 id-ce (2 5 29) -Description = subjectDirectoryAttributes (2 5 29 9) - -OID = 06 03 55 1D 0A -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 19) instead -Description = basicConstraints (2 5 29 10) -Warning - -OID = 06 03 55 1D 0B -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 30) instead -Description = nameConstraints (2 5 29 11) -Warning - -OID = 06 03 55 1D 0C -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 36) instead -Description = policyConstraints (2 5 29 12) -Warning - -OID = 06 03 55 1D 0D -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 19) instead -Description = basicConstraints (2 5 29 13) -Warning - -OID = 06 03 55 1D 0E -Comment = X.509 id-ce (2 5 29) -Description = subjectKeyIdentifier (2 5 29 14) - -OID = 06 03 55 1D 0F -Comment = X.509 id-ce (2 5 29) -Description = keyUsage (2 5 29 15) - -OID = 06 03 55 1D 10 -Comment = X.509 id-ce (2 5 29) -Description = privateKeyUsagePeriod (2 5 29 16) - -OID = 06 03 55 1D 11 -Comment = X.509 id-ce (2 5 29) -Description = subjectAltName (2 5 29 17) - -OID = 06 03 55 1D 12 -Comment = X.509 id-ce (2 5 29) -Description = issuerAltName (2 5 29 18) - -OID = 06 03 55 1D 13 -Comment = X.509 id-ce (2 5 29) -Description = basicConstraints (2 5 29 19) - -OID = 06 03 55 1D 14 -Comment = X.509 id-ce (2 5 29) -Description = cRLNumber (2 5 29 20) - -OID = 06 03 55 1D 15 -Comment = X.509 id-ce (2 5 29) -Description = cRLReason (2 5 29 21) - -OID = 06 03 55 1D 16 -Comment = X.509 id-ce (2 5 29). Deprecated, alternative OID uncertain -Description = expirationDate (2 5 29 22) -Warning - -OID = 06 03 55 1D 17 -Comment = X.509 id-ce (2 5 29) -Description = instructionCode (2 5 29 23) - -OID = 06 03 55 1D 18 -Comment = X.509 id-ce (2 5 29) -Description = invalidityDate (2 5 29 24) - -OID = 06 03 55 1D 19 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 31) instead -Description = cRLDistributionPoints (2 5 29 25) -Warning - -OID = 06 03 55 1D 1A -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 28) instead -Description = issuingDistributionPoint (2 5 29 26) -Warning - -OID = 06 03 55 1D 1B -Comment = X.509 id-ce (2 5 29) -Description = deltaCRLIndicator (2 5 29 27) - -OID = 06 03 55 1D 1C -Comment = X.509 id-ce (2 5 29) -Description = issuingDistributionPoint (2 5 29 28) - -OID = 06 03 55 1D 1D -Comment = X.509 id-ce (2 5 29) -Description = certificateIssuer (2 5 29 29) - -OID = 06 03 55 1D 1E -Comment = X.509 id-ce (2 5 29) -Description = nameConstraints (2 5 29 30) - -OID = 06 03 55 1D 1F -Comment = X.509 id-ce (2 5 29) -Description = cRLDistributionPoints (2 5 29 31) - -OID = 06 03 55 1D 20 -Comment = X.509 id-ce (2 5 29) -Description = certificatePolicies (2 5 29 32) - -OID = 06 03 55 1D 21 -Comment = X.509 id-ce (2 5 29) -Description = policyMappings (2 5 29 33) - -OID = 06 03 55 1D 22 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 36) instead -Description = policyConstraints (2 5 29 34) -Warning - -OID = 06 03 55 1D 23 -Comment = X.509 id-ce (2 5 29) -Description = authorityKeyIdentifier (2 5 29 35) - -OID = 06 03 55 1D 24 -Comment = X.509 id-ce (2 5 29) -Description = policyConstraints (2 5 29 36) - -OID = 06 03 55 1D 25 -Comment = X.509 id-ce (2 5 29) -Description = extKeyUsage (2 5 29 37) - -# DMS - -OID = 06 09 60 86 48 01 65 02 01 01 01 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsSignatureAlgorithm (2 16 840 1 101 2 1 1 1) - -OID = 06 09 60 86 48 01 65 02 01 01 02 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1. -Description = fortezzaSignatureAlgorithm (2 16 840 1 101 2 1 1 2) - -OID = 06 09 60 86 48 01 65 02 01 01 03 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsConfidentialityAlgorithm (2 16 840 1 101 2 1 1 3) - -OID = 06 09 60 86 48 01 65 02 01 01 04 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicConfidentialityAlgorithm -Description = fortezzaConfidentialityAlgorithm (2 16 840 1 101 2 1 1 4) - -OID = 06 09 60 86 48 01 65 02 01 01 05 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsIntegrityAlgorithm (2 16 840 1 101 2 1 1 5) - -OID = 06 09 60 86 48 01 65 02 01 01 06 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicIntegrityAlgorithm -Description = fortezzaIntegrityAlgorithm (2 16 840 1 101 2 1 1 6) - -OID = 06 09 60 86 48 01 65 02 01 01 07 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 7) - -OID = 06 09 60 86 48 01 65 02 01 01 08 -Comment = SDN.700 INFOSEC algorithms. Formerly know as mosaicTokenProtectionAlgorithm -Description = fortezzaTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 8) - -OID = 06 09 60 86 48 01 65 02 01 01 09 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsKeyManagementAlgorithm (2 16 840 1 101 2 1 1 9) - -OID = 06 09 60 86 48 01 65 02 01 01 0A -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyManagementAlgorithm -Description = fortezzaKeyManagementAlgorithm (2 16 840 1 101 2 1 1 10) - -OID = 06 09 60 86 48 01 65 02 01 01 0B -Comment = SDN.700 INFOSEC algorithms -Description = sdnsKMandSigAlgorithm (2 16 840 1 101 2 1 1 11) - -OID = 06 09 60 86 48 01 65 02 01 01 0C -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandSigAlgorithm -Description = fortezzaKMandSigAlgorithm (2 16 840 1 101 2 1 1 12) - -OID = 06 09 60 86 48 01 65 02 01 01 0D -Comment = SDN.700 INFOSEC algorithms -Description = suiteASignatureAlgorithm (2 16 840 1 101 2 1 1 13) - -OID = 06 09 60 86 48 01 65 02 01 01 0E -Comment = SDN.700 INFOSEC algorithms -Description = suiteAConfidentialityAlgorithm (2 16 840 1 101 2 1 1 14) - -OID = 06 09 60 86 48 01 65 02 01 01 0F -Comment = SDN.700 INFOSEC algorithms -Description = suiteAIntegrityAlgorithm (2 16 840 1 101 2 1 1 15) - -OID = 06 09 60 86 48 01 65 02 01 01 10 -Comment = SDN.700 INFOSEC algorithms -Description = suiteATokenProtectionAlgorithm (2 16 840 1 101 2 1 1 16) - -OID = 06 09 60 86 48 01 65 02 01 01 11 -Comment = SDN.700 INFOSEC algorithms -Description = suiteAKeyManagementAlgorithm (2 16 840 1 101 2 1 1 17) - -OID = 06 09 60 86 48 01 65 02 01 01 12 -Comment = SDN.700 INFOSEC algorithms -Description = suiteAKMandSigAlgorithm (2 16 840 1 101 2 1 1 18) - -OID = 06 09 60 86 48 01 65 02 01 01 13 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedSigAlgorithm -Description = fortezzaUpdatedSigAlgorithm (2 16 840 1 101 2 1 1 19) - -OID = 06 09 60 86 48 01 65 02 01 01 14 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandUpdSigAlgorithms -Description = fortezzaKMandUpdSigAlgorithms (2 16 840 1 101 2 1 1 20) - -OID = 06 09 60 86 48 01 65 02 01 01 15 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedIntegAlgorithm -Description = fortezzaUpdatedIntegAlgorithm (2 16 840 1 101 2 1 1 21) - -OID = 06 09 60 86 48 01 65 02 01 01 16 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyEncryptionAlgorithm -Description = keyExchangeAlgorithm (2 16 840 1 101 2 1 1 22) - -OID = 06 09 60 86 48 01 65 02 01 01 17 -Comment = SDN.700 INFOSEC algorithms -Description = fortezzaWrap80Algorithm (2 16 840 1 101 2 1 1 23) - -OID = 06 09 60 86 48 01 65 02 01 01 18 -Comment = SDN.700 INFOSEC algorithms -Description = kEAKeyEncryptionAlgorithm (2 16 840 1 101 2 1 1 24) - -OID = 06 09 60 86 48 01 65 02 01 02 01 -Comment = SDN.700 INFOSEC format -Description = rfc822MessageFormat (2 16 840 1 101 2 1 2 1) - -OID = 06 09 60 86 48 01 65 02 01 02 02 -Comment = SDN.700 INFOSEC format -Description = emptyContent (2 16 840 1 101 2 1 2 2) - -OID = 06 09 60 86 48 01 65 02 01 02 03 -Comment = SDN.700 INFOSEC format -Description = cspContentType (2 16 840 1 101 2 1 2 3) - -OID = 06 09 60 86 48 01 65 02 01 02 2A -Comment = SDN.700 INFOSEC format -Description = mspRev3ContentType (2 16 840 1 101 2 1 2 42) - -OID = 06 09 60 86 48 01 65 02 01 02 30 -Comment = SDN.700 INFOSEC format -Description = mspContentType (2 16 840 1 101 2 1 2 48) - -OID = 06 09 60 86 48 01 65 02 01 02 31 -Comment = SDN.700 INFOSEC format -Description = mspRekeyAgentProtocol (2 16 840 1 101 2 1 2 49) - -OID = 06 09 60 86 48 01 65 02 01 02 32 -Comment = SDN.700 INFOSEC format -Description = mspMMP (2 16 840 1 101 2 1 2 50) - -OID = 06 09 60 86 48 01 65 02 01 02 42 -Comment = SDN.700 INFOSEC format -Description = mspRev3-1ContentType (2 16 840 1 101 2 1 2 66) - -OID = 06 09 60 86 48 01 65 02 01 02 48 -Comment = SDN.700 INFOSEC format -Description = forwardedMSPMessageBodyPart (2 16 840 1 101 2 1 2 72) - -OID = 06 09 60 86 48 01 65 02 01 02 49 -Comment = SDN.700 INFOSEC format -Description = mspForwardedMessageParameters (2 16 840 1 101 2 1 2 73) - -OID = 06 09 60 86 48 01 65 02 01 02 50 -Comment = SDN.700 INFOSEC format -Description = forwardedCSPMsgBodyPart (2 16 840 1 101 2 1 2 74) - -OID = 06 09 60 86 48 01 65 02 01 02 51 -Comment = SDN.700 INFOSEC format -Description = cspForwardedMessageParameters (2 16 840 1 101 2 1 2 75) - -OID = 06 09 60 86 48 01 65 02 01 02 52 -Comment = SDN.700 INFOSEC format -Description = mspMMP2 (2 16 840 1 101 2 1 2 76) - -OID = 06 09 60 86 48 01 65 02 01 03 01 -Comment = SDN.700 INFOSEC policy -Description = sdnsSecurityPolicy (2 16 840 1 101 2 1 3 1) - -OID = 06 09 60 86 48 01 65 02 01 03 02 -Comment = SDN.700 INFOSEC policy -Description = sdnsPRBAC (2 16 840 1 101 2 1 3 2) - -OID = 06 09 60 86 48 01 65 02 01 03 03 -Comment = SDN.700 INFOSEC policy -Description = mosaicPRBAC (2 16 840 1 101 2 1 3 3) - -OID = 06 09 60 86 48 01 65 02 01 03 0A -Comment = SDN.700 INFOSEC policy -Description = siSecurityPolicy (2 16 840 1 101 2 1 3 10) - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 00 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siNASP (2 16 840 1 101 2 1 3 10 0) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 01 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siELCO (2 16 840 1 101 2 1 3 10 1) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 02 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siTK (2 16 840 1 101 2 1 3 10 2) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 03 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siDSAP (2 16 840 1 101 2 1 3 10 3) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 04 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siSSSS (2 16 840 1 101 2 1 3 10 4) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 05 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siDNASP (2 16 840 1 101 2 1 3 10 5) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 06 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siBYEMAN (2 16 840 1 101 2 1 3 10 6) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 07 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-US (2 16 840 1 101 2 1 3 10 7) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 08 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-AUS (2 16 840 1 101 2 1 3 10 8) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 09 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-CAN (2 16 840 1 101 2 1 3 10 9) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 0A -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL_UK (2 16 840 1 101 2 1 3 10 10) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 0B -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-NZ (2 16 840 1 101 2 1 3 10 11) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 0C -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siGeneric (2 16 840 1 101 2 1 3 10 12) -Warning - -OID = 06 09 60 86 48 01 65 02 01 03 0B -Comment = SDN.700 INFOSEC policy -Description = genser (2 16 840 1 101 2 1 3 11) - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 00 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = genserNations (2 16 840 1 101 2 1 3 11 0) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 01 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = genserComsec (2 16 840 1 101 2 1 3 11 1) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 02 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = genserAcquisition (2 16 840 1 101 2 1 3 11 2) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 03 -Comment = SDN.700 INFOSEC policy -Description = genserSecurityCategories (2 16 840 1 101 2 1 3 11 3) - -OID = 06 0B 60 86 48 01 65 02 01 03 0B 03 00 -Comment = SDN.700 INFOSEC GENSER policy -Description = genserTagSetName (2 16 840 1 101 2 1 3 11 3 0) - -OID = 06 09 60 86 48 01 65 02 01 03 0C -Comment = SDN.700 INFOSEC policy -Description = defaultSecurityPolicy (2 16 840 1 101 2 1 3 12) - -OID = 06 09 60 86 48 01 65 02 01 03 0D -Comment = SDN.700 INFOSEC policy -Description = capcoMarkings (2 16 840 1 101 2 1 3 13) - -OID = 06 0A 60 86 48 01 65 02 01 03 0D 00 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoSecurityCategories (2 16 840 1 101 2 1 3 13 0) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 01 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName1 (2 16 840 1 101 2 1 3 13 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 02 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName2 (2 16 840 1 101 2 1 3 13 0 2) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 03 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName3 (2 16 840 1 101 2 1 3 13 0 3) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 04 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName4 (2 16 840 1 101 2 1 3 13 0 4) - -OID = 06 09 60 86 48 01 65 02 01 05 01 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsKeyManagementCertificate (2 16 840 1 101 2 1 5 1) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 02 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsUserSignatureCertificate (2 16 840 1 101 2 1 5 2) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 03 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsKMandSigCertificate (2 16 840 1 101 2 1 5 3) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 04 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaKeyManagementCertificate (2 16 840 1 101 2 1 5 4) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 05 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaKMandSigCertificate (2 16 840 1 101 2 1 5 5) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 06 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaUserSignatureCertificate (2 16 840 1 101 2 1 5 6) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 07 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaCASignatureCertificate (2 16 840 1 101 2 1 5 7) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 08 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsCASignatureCertificate (2 16 840 1 101 2 1 5 8) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 0A -Comment = SDN.700 INFOSEC attributes (superseded) -Description = auxiliaryVector (2 16 840 1 101 2 1 5 10) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 0B -Comment = SDN.700 INFOSEC attributes -Description = mlReceiptPolicy (2 16 840 1 101 2 1 5 11) - -OID = 06 09 60 86 48 01 65 02 01 05 0C -Comment = SDN.700 INFOSEC attributes -Description = mlMembership (2 16 840 1 101 2 1 5 12) - -OID = 06 09 60 86 48 01 65 02 01 05 0D -Comment = SDN.700 INFOSEC attributes -Description = mlAdministrators (2 16 840 1 101 2 1 5 13) - -OID = 06 09 60 86 48 01 65 02 01 05 0E -Comment = SDN.700 INFOSEC attributes -Description = alid (2 16 840 1 101 2 1 5 14) - -OID = 06 09 60 86 48 01 65 02 01 05 14 -Comment = SDN.700 INFOSEC attributes -Description = janUKMs (2 16 840 1 101 2 1 5 20) - -OID = 06 09 60 86 48 01 65 02 01 05 15 -Comment = SDN.700 INFOSEC attributes -Description = febUKMs (2 16 840 1 101 2 1 5 21) - -OID = 06 09 60 86 48 01 65 02 01 05 16 -Comment = SDN.700 INFOSEC attributes -Description = marUKMs (2 16 840 1 101 2 1 5 22) - -OID = 06 09 60 86 48 01 65 02 01 05 17 -Comment = SDN.700 INFOSEC attributes -Description = aprUKMs (2 16 840 1 101 2 1 5 23) - -OID = 06 09 60 86 48 01 65 02 01 05 18 -Comment = SDN.700 INFOSEC attributes -Description = mayUKMs (2 16 840 1 101 2 1 5 24) - -OID = 06 09 60 86 48 01 65 02 01 05 19 -Comment = SDN.700 INFOSEC attributes -Description = junUKMs (2 16 840 1 101 2 1 5 25) - -OID = 06 09 60 86 48 01 65 02 01 05 1A -Comment = SDN.700 INFOSEC attributes -Description = julUKMs (2 16 840 1 101 2 1 5 26) - -OID = 06 09 60 86 48 01 65 02 01 05 1B -Comment = SDN.700 INFOSEC attributes -Description = augUKMs (2 16 840 1 101 2 1 5 27) - -OID = 06 09 60 86 48 01 65 02 01 05 1C -Comment = SDN.700 INFOSEC attributes -Description = sepUKMs (2 16 840 1 101 2 1 5 28) - -OID = 06 09 60 86 48 01 65 02 01 05 1D -Comment = SDN.700 INFOSEC attributes -Description = octUKMs (2 16 840 1 101 2 1 5 29) - -OID = 06 09 60 86 48 01 65 02 01 05 1E -Comment = SDN.700 INFOSEC attributes -Description = novUKMs (2 16 840 1 101 2 1 5 30) - -OID = 06 09 60 86 48 01 65 02 01 05 1F -Comment = SDN.700 INFOSEC attributes -Description = decUKMs (2 16 840 1 101 2 1 5 31) - -OID = 06 09 60 86 48 01 65 02 01 05 28 -Comment = SDN.700 INFOSEC attributes -Description = metaSDNSckl (2 16 840 1 101 2 1 5 40) - -OID = 06 09 60 86 48 01 65 02 01 05 29 -Comment = SDN.700 INFOSEC attributes -Description = sdnsCKL (2 16 840 1 101 2 1 5 41) - -OID = 06 09 60 86 48 01 65 02 01 05 2A -Comment = SDN.700 INFOSEC attributes -Description = metaSDNSsignatureCKL (2 16 840 1 101 2 1 5 42) - -OID = 06 09 60 86 48 01 65 02 01 05 2B -Comment = SDN.700 INFOSEC attributes -Description = sdnsSignatureCKL (2 16 840 1 101 2 1 5 43) - -OID = 06 09 60 86 48 01 65 02 01 05 2C -Comment = SDN.700 INFOSEC attributes -Description = sdnsCertificateRevocationList (2 16 840 1 101 2 1 5 44) - -OID = 06 09 60 86 48 01 65 02 01 05 2D -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaCertificateRevocationList (2 16 840 1 101 2 1 5 45) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 2E -Comment = SDN.700 INFOSEC attributes -Description = fortezzaCKL (2 16 840 1 101 2 1 5 46) - -OID = 06 09 60 86 48 01 65 02 01 05 2F -Comment = SDN.700 INFOSEC attributes -Description = alExemptedAddressProcessor (2 16 840 1 101 2 1 5 47) - -OID = 06 09 60 86 48 01 65 02 01 05 30 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = guard (2 16 840 1 101 2 1 5 48) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 31 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = algorithmsSupported (2 16 840 1 101 2 1 5 49) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 32 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = suiteAKeyManagementCertificate (2 16 840 1 101 2 1 5 50) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 33 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = suiteAKMandSigCertificate (2 16 840 1 101 2 1 5 51) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 34 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = suiteAUserSignatureCertificate (2 16 840 1 101 2 1 5 52) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 35 -Comment = SDN.700 INFOSEC attributes -Description = prbacInfo (2 16 840 1 101 2 1 5 53) - -OID = 06 09 60 86 48 01 65 02 01 05 36 -Comment = SDN.700 INFOSEC attributes -Description = prbacCAConstraints (2 16 840 1 101 2 1 5 54) - -OID = 06 09 60 86 48 01 65 02 01 05 37 -Comment = SDN.700 INFOSEC attributes -Description = sigOrKMPrivileges (2 16 840 1 101 2 1 5 55) - -OID = 06 09 60 86 48 01 65 02 01 05 38 -Comment = SDN.700 INFOSEC attributes -Description = commPrivileges (2 16 840 1 101 2 1 5 56) - -OID = 06 09 60 86 48 01 65 02 01 05 39 -Comment = SDN.700 INFOSEC attributes -Description = labeledAttribute (2 16 840 1 101 2 1 5 57) - -OID = 06 09 60 86 48 01 65 02 01 05 3A -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = policyInformationFile (2 16 840 1 101 2 1 5 58) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 3B -Comment = SDN.700 INFOSEC attributes -Description = secPolicyInformationFile (2 16 840 1 101 2 1 5 59) - -OID = 06 09 60 86 48 01 65 02 01 05 3C -Comment = SDN.700 INFOSEC attributes -Description = cAClearanceConstraint (2 16 840 1 101 2 1 5 60) - -OID = 06 09 60 86 48 01 65 02 01 07 01 -Comment = SDN.700 INFOSEC extensions -Description = cspExtns (2 16 840 1 101 2 1 7 1) - -OID = 06 0A 60 86 48 01 65 02 01 07 01 00 -Comment = SDN.700 INFOSEC extensions -Description = cspCsExtn (2 16 840 1 101 2 1 7 1 0) - -OID = 06 09 60 86 48 01 65 02 01 08 01 -Comment = SDN.700 INFOSEC security category -Description = mISSISecurityCategories (2 16 840 1 101 2 1 8 1) - -OID = 06 09 60 86 48 01 65 02 01 08 02 -Comment = SDN.700 INFOSEC security category -Description = standardSecurityLabelPrivileges (2 16 840 1 101 2 1 8 2) - -OID = 06 09 60 86 48 01 65 02 01 0A 01 -Comment = SDN.700 INFOSEC privileges -Description = sigPrivileges (2 16 840 1 101 2 1 10 1) - -OID = 06 09 60 86 48 01 65 02 01 0A 02 -Comment = SDN.700 INFOSEC privileges -Description = kmPrivileges (2 16 840 1 101 2 1 10 2) - -OID = 06 09 60 86 48 01 65 02 01 0A 03 -Comment = SDN.700 INFOSEC privileges -Description = namedTagSetPrivilege (2 16 840 1 101 2 1 10 3) - -OID = 06 09 60 86 48 01 65 02 01 0B 01 -Comment = SDN.700 INFOSEC certificate policy -Description = ukDemo (2 16 840 1 101 2 1 11 1) - -OID = 06 09 60 86 48 01 65 02 01 0B 02 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass2 (2 16 840 1 101 2 1 11 2) - -OID = 06 09 60 86 48 01 65 02 01 0B 03 -Comment = SDN.700 INFOSEC certificate policy -Description = usMediumPilot (2 16 840 1 101 2 1 11 3) - -OID = 06 09 60 86 48 01 65 02 01 0B 04 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass4 (2 16 840 1 101 2 1 11 4) - -OID = 06 09 60 86 48 01 65 02 01 0B 05 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass3 (2 16 840 1 101 2 1 11 5) - -OID = 06 09 60 86 48 01 65 02 01 0B 06 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass5 (2 16 840 1 101 2 1 11 6) - -OID = 06 09 60 86 48 01 65 02 01 0C 00 -Comment = SDN.700 INFOSEC test objects -Description = testSecurityPolicy (2 16 840 1 101 2 1 12 0) - -OID = 06 0A 60 86 48 01 65 02 01 0C 00 01 -Comment = SDN.700 INFOSEC test objects -Description = tsp1 (2 16 840 1 101 2 1 12 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 01 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp1SecurityCategories (2 16 840 1 101 2 1 12 0 1 0) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 01 00 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp1TagSetZero (2 16 840 1 101 2 1 12 0 1 0 0) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 01 00 01 -Comment = SDN.700 INFOSEC test objects -Description = tsp1TagSetOne (2 16 840 1 101 2 1 12 0 1 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 01 00 02 -Comment = SDN.700 INFOSEC test objects -Description = tsp1TagSetTwo (2 16 840 1 101 2 1 12 0 1 0 2) - -OID = 06 0A 60 86 48 01 65 02 01 0C 00 02 -Comment = SDN.700 INFOSEC test objects -Description = tsp2 (2 16 840 1 101 2 1 12 0 2) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 02 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp2SecurityCategories (2 16 840 1 101 2 1 12 0 2 0) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 02 00 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp2TagSetZero (2 16 840 1 101 2 1 12 0 2 0 0) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 02 00 01 -Comment = SDN.700 INFOSEC test objects -Description = tsp2TagSetOne (2 16 840 1 101 2 1 12 0 2 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 02 00 02 -Comment = SDN.700 INFOSEC test objects -Description = tsp2TagSetTwo (2 16 840 1 101 2 1 12 0 2 0 2) - -# At least someone there has a sense of humour :-) -OID = 06 0A 60 86 48 01 65 02 01 0C 00 03 -Comment = SDN.700 INFOSEC test objects -Description = kafka (2 16 840 1 101 2 1 12 0 3) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 03 00 -Comment = SDN.700 INFOSEC test objects -Description = kafkaSecurityCategories (2 16 840 1 101 2 1 12 0 3 0) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 03 00 01 -Comment = SDN.700 INFOSEC test objects -Description = kafkaTagSetName1 (2 16 840 1 101 2 1 12 0 3 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 03 00 02 -Comment = SDN.700 INFOSEC test objects -Description = kafkaTagSetName2 (2 16 840 1 101 2 1 12 0 3 0 2) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 03 00 03 -Comment = SDN.700 INFOSEC test objects -Description = kafkaTagSetName3 (2 16 840 1 101 2 1 12 0 3 0 3) - -OID = 06 0A 60 86 48 01 65 02 01 0C 01 01 -Comment = SDN.700 INFOSEC test objects -Description = tcp1 (2 16 840 1 101 2 1 12 1 1) - -# CSOR GAK-FIPS - -OID = 06 07 60 86 48 01 65 03 01 -Comment = CSOR GAK -Description = slabel (2 16 840 1 101 3 1) -Warning - -OID = 06 07 60 86 48 01 65 03 02 -Comment = CSOR GAK -Description = pki (2 16 840 1 101 3 2) -Warning - -OID = 06 08 60 86 48 01 65 03 02 01 -Comment = CSOR GAK policy -Description = GAK policyIdentifier (2 16 840 1 101 3 2 1) -Warning - -OID = 06 08 60 86 48 01 65 03 02 02 -Comment = CSOR GAK extended key usage -Description = GAK (2 16 840 1 101 3 2 2) -Warning - -OID = 06 09 60 86 48 01 65 03 02 02 01 -Comment = CSOR GAK extended key usage -Description = kRAKey (2 16 840 1 101 3 2 2 1) -Warning - -OID = 06 08 60 86 48 01 65 03 02 03 -Comment = CSOR GAK extensions -Description = extensions (2 16 840 1 101 3 2 3) -Warning - -OID = 06 09 60 86 48 01 65 03 02 03 01 -Comment = CSOR GAK extensions -Description = kRTechnique (2 16 840 1 101 3 2 3 1) -Warning - -OID = 06 09 60 86 48 01 65 03 02 03 02 -Comment = CSOR GAK extensions -Description = kRecoveryCapable (2 16 840 1 101 3 2 3 2) -Warning - -OID = 06 09 60 86 48 01 65 03 02 03 03 -Comment = CSOR GAK extensions -Description = kR (2 16 840 1 101 3 2 3 3) -Warning - -OID = 06 08 60 86 48 01 65 03 02 04 -Comment = CSOR GAK -Description = keyrecoveryschemes (2 16 840 1 101 3 2 4) -Warning - -OID = 06 08 60 86 48 01 65 03 02 05 -Comment = CSOR GAK -Description = krapola (2 16 840 1 101 3 2 5) -Warning - -OID = 06 07 60 86 48 01 65 03 03 -Comment = CSOR GAK -Description = arpa (2 16 840 1 101 3 3) -Warning - -# CSOR (NIST) Algorithms - -OID = 06 07 60 86 48 01 65 03 04 -Comment = NIST Algorithm -Description = nistAlgorithm (2 16 840 1 101 3 4) - -OID = 06 08 60 86 48 01 65 03 04 01 -Comment = NIST Algorithm -Description = aes (2 16 840 1 101 3 4 1) - -OID = 06 09 60 86 48 01 65 03 04 01 01 -Comment = NIST Algorithm -Description = aes128-ECB (2 16 840 1 101 3 4 1 1) - -OID = 06 09 60 86 48 01 65 03 04 01 02 -Comment = NIST Algorithm -Description = aes128-CBC (2 16 840 1 101 3 4 1 2) - -OID = 06 09 60 86 48 01 65 03 04 01 03 -Comment = NIST Algorithm -Description = aes128-OFB (2 16 840 1 101 3 4 1 3) - -OID = 06 09 60 86 48 01 65 03 04 01 04 -Comment = NIST Algorithm -Description = aes128-CFB (2 16 840 1 101 3 4 1 4) - -OID = 06 09 60 86 48 01 65 03 04 01 15 -Comment = NIST Algorithm -Description = aes192-ECB (2 16 840 1 101 3 4 1 21) - -OID = 06 09 60 86 48 01 65 03 04 01 16 -Comment = NIST Algorithm -Description = aes192-CBC (2 16 840 1 101 3 4 1 22) - -OID = 06 09 60 86 48 01 65 03 04 01 17 -Comment = NIST Algorithm -Description = aes192-OFB (2 16 840 1 101 3 4 1 23) - -OID = 06 09 60 86 48 01 65 03 04 01 18 -Comment = NIST Algorithm -Description = aes192-CFB (2 16 840 1 101 3 4 1 24) - -OID = 06 09 60 86 48 01 65 03 04 01 29 -Comment = NIST Algorithm -Description = aes256-ECB (2 16 840 1 101 3 4 1 41) - -OID = 06 09 60 86 48 01 65 03 04 01 2A -Comment = NIST Algorithm -Description = aes256-CBC (2 16 840 1 101 3 4 1 42) - -OID = 06 09 60 86 48 01 65 03 04 01 2B -Comment = NIST Algorithm -Description = aes256-OFB (2 16 840 1 101 3 4 1 43) - -OID = 06 09 60 86 48 01 65 03 04 01 2C -Comment = NIST Algorithm -Description = aes256-CFB (2 16 840 1 101 3 4 1 44) - -# Novell - -OID = 06 0A 60 86 48 01 86 F8 37 01 02 08 -Comment = Novell -Description = novellAlgorithm (2 16 840 1 113719 1 2 8) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 16 -Comment = Novell encryption algorithm -Description = desCbcIV8 (2 16 840 1 113719 1 2 8 22) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 17 -Comment = Novell encryption algorithm -Description = desCbcPadIV8 (2 16 840 1 113719 1 2 8 23) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 18 -Comment = Novell encryption algorithm -Description = desEDE2CbcIV8 (2 16 840 1 113719 1 2 8 24) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 19 -Comment = Novell encryption algorithm -Description = desEDE2CbcPadIV8 (2 16 840 1 113719 1 2 8 25) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1A -Comment = Novell encryption algorithm -Description = desEDE3CbcIV8 (2 16 840 1 113719 1 2 8 26) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1B -Comment = Novell encryption algorithm -Description = desEDE3CbcPadIV8 (2 16 840 1 113719 1 2 8 27) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1C -Comment = Novell encryption algorithm -Description = rc5CbcPad (2 16 840 1 113719 1 2 8 28) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1D -Comment = Novell signature algorithm -Description = md2WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 29) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1E -Comment = Novell signature algorithm -Description = md5WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 30) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1F -Comment = Novell signature algorithm -Description = sha1WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 31) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 20 -Comment = Novell digest algorithm -Description = LMDigest (2 16 840 1 113719 1 2 8 32) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 28 -Comment = Novell digest algorithm -Description = MD2 (2 16 840 1 113719 1 2 8 40) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 32 -Comment = Novell digest algorithm -Description = MD5 (2 16 840 1 113719 1 2 8 50) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 33 -Comment = Novell signature algorithm -Description = IKEhmacWithSHA1-RSA (2 16 840 1 113719 1 2 8 51) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 34 -Comment = Novell signature algorithm -Description = IKEhmacWithMD5-RSA (2 16 840 1 113719 1 2 8 52) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 45 -Comment = Novell encryption algorithm -Description = rc2CbcPad (2 16 840 1 113719 1 2 8 69) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 52 -Comment = Novell digest algorithm -Description = SHA-1 (2 16 840 1 113719 1 2 8 82) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 5C -Comment = Novell encryption algorithm -Description = rc2BSafe1Cbc (2 16 840 1 113719 1 2 8 92) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 5F -Comment = Novell digest algorithm -Description = MD4 (2 16 840 1 113719 1 2 8 95) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 81 02 -Comment = Novell keyed hash -Description = MD4Packet (2 16 840 1 113719 1 2 8 130) - -OID = 06 0C 60 86 48 01 86 F8 37 01 02 08 81 03 -Comment = Novell encryption algorithm -Description = rsaEncryptionBsafe1 (2 16 840 1 113719 1 2 8 131) - -OID = 06 0C 60 86 48 01 86 F8 37 01 02 08 81 04 -Comment = Novell encryption algorithm -Description = NWPassword (2 16 840 1 113719 1 2 8 132) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 81 05 -Comment = Novell encryption algorithm -Description = novellObfuscate-1 (2 16 840 1 113719 1 2 8 133) - -OID = 06 09 60 86 48 01 86 F8 37 01 09 -Comment = Novell -Description = pki (2 16 840 1 113719 1 9) - -OID = 06 0A 60 86 48 01 86 F8 37 01 09 04 -Comment = Novell PKI -Description = pkiAttributeType (2 16 840 1 113719 1 9 4) - -OID = 06 0B 60 86 48 01 86 F8 37 01 09 04 01 -Comment = Novell PKI attribute type -Description = securityAttributes (2 16 840 1 113719 1 9 4 1) - -OID = 06 0B 60 86 48 01 86 F8 37 01 09 04 02 -Comment = Novell PKI attribute type -Description = relianceLimit (2 16 840 1 113719 1 9 4 2) - -# Netscape - -OID = 06 08 60 86 48 01 86 F8 42 01 -Comment = Netscape -Description = cert-extension (2 16 840 1 113730 1) - -OID = 06 09 60 86 48 01 86 F8 42 01 01 -Comment = Netscape certificate extension -Description = netscape-cert-type (2 16 840 1 113730 1 1) - -OID = 06 09 60 86 48 01 86 F8 42 01 02 -Comment = Netscape certificate extension -Description = netscape-base-url (2 16 840 1 113730 1 2) - -OID = 06 09 60 86 48 01 86 F8 42 01 03 -Comment = Netscape certificate extension -Description = netscape-revocation-url (2 16 840 1 113730 1 3) - -OID = 06 09 60 86 48 01 86 F8 42 01 04 -Comment = Netscape certificate extension -Description = netscape-ca-revocation-url (2 16 840 1 113730 1 4) - -OID = 06 09 60 86 48 01 86 F8 42 01 07 -Comment = Netscape certificate extension -Description = netscape-cert-renewal-url (2 16 840 1 113730 1 7) - -OID = 06 09 60 86 48 01 86 F8 42 01 08 -Comment = Netscape certificate extension -Description = netscape-ca-policy-url (2 16 840 1 113730 1 8) - -OID = 06 09 60 86 48 01 86 F8 42 01 09 -Comment = Netscape certificate extension -Description = HomePage-url (2 16 840 1 113730 1 9) - -OID = 06 09 60 86 48 01 86 F8 42 01 0A -Comment = Netscape certificate extension -Description = EntityLogo (2 16 840 1 113730 1 10) - -OID = 06 09 60 86 48 01 86 F8 42 01 0B -Comment = Netscape certificate extension -Description = UserPicture (2 16 840 1 113730 1 11) - -OID = 06 09 60 86 48 01 86 F8 42 01 0C -Comment = Netscape certificate extension -Description = netscape-ssl-server-name (2 16 840 1 113730 1 12) - -OID = 06 09 60 86 48 01 86 F8 42 01 0D -Comment = Netscape certificate extension -Description = netscape-comment (2 16 840 1 113730 1 13) - -OID = 06 08 60 86 48 01 86 F8 42 02 -Comment = Netscape -Description = data-type (2 16 840 1 113730 2) - -OID = 06 09 60 86 48 01 86 F8 42 02 01 -Comment = Netscape data type -Description = dataGIF (2 16 840 1 113730 2 1) - -OID = 06 09 60 86 48 01 86 F8 42 02 02 -Comment = Netscape data type -Description = dataJPEG (2 16 840 1 113730 2 2) - -OID = 06 09 60 86 48 01 86 F8 42 02 03 -Comment = Netscape data type -Description = dataURL (2 16 840 1 113730 2 3) - -OID = 06 09 60 86 48 01 86 F8 42 02 04 -Comment = Netscape data type -Description = dataHTML (2 16 840 1 113730 2 4) - -OID = 06 09 60 86 48 01 86 F8 42 02 05 -Comment = Netscape data type -Description = certSequence (2 16 840 1 113730 2 5) - -OID = 06 09 60 86 48 01 86 F8 42 02 06 -Comment = Netscape certificate extension -Description = certURL (2 16 840 1 113730 2 6) - -OID = 06 08 60 86 48 01 86 F8 42 03 -Comment = Netscape -Description = directory (2 16 840 1 113730 3) - -OID = 06 09 60 86 48 01 86 F8 42 03 01 -Comment = Netscape directory -Description = ldapDefinitions (2 16 840 1 113730 3 1) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 01 -Comment = Netscape LDAP definitions -Description = carLicense (2 16 840 1 113730 3 1 1) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 02 -Comment = Netscape LDAP definitions -Description = departmentNumber (2 16 840 1 113730 3 1 2) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 03 -Comment = Netscape LDAP definitions -Description = employeeNumber (2 16 840 1 113730 3 1 3) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 04 -Comment = Netscape LDAP definitions -Description = employeeType (2 16 840 1 113730 3 1 4) - -OID = 06 0A 60 86 48 01 86 F8 42 03 02 02 -Comment = Netscape LDAP definitions -Description = inetOrgPerson (2 16 840 1 113730 3 2 2) - -OID = 06 09 60 86 48 01 86 F8 42 04 01 -Comment = Netscape -Description = serverGatedCrypto (2 16 840 1 113730 4 1) - -# Verisign - -# Country, zip, date of birth (age), and gender of cert owner (CZAG) in -# obfuscated form -OID = 06 0A 60 86 48 01 86 F8 45 01 06 03 -Comment = Verisign -Description = verisignCZAG (2 16 840 1 113733 1 6 3) - -# Text string used in certs issued to Netscape InBox customers -OID = 06 0A 60 86 48 01 86 F8 45 01 06 06 -Comment = Verisign -Description = verisignInBox (2 16 840 1 113733 1 6 6) - -OID = 06 0A 60 86 48 01 86 F8 45 01 06 0B -Comment = Verisign -Description = Unknown Verisign VPN extension (2 16 840 1 113733 1 6 11) - -OID = 06 0A 60 86 48 01 86 F8 45 01 06 0D -Comment = Verisign -Description = Unknown Verisign VPN extension (2 16 840 1 113733 1 6 13) - -OID = 06 0B 60 86 48 01 86 F8 45 01 07 01 01 -Comment = Verisign -Description = Verisign certificatePolicy (2 16 840 1 113733 1 7 1 1) - -OID = 06 0C 60 86 48 01 86 F8 45 01 07 01 01 01 -Comment = Verisign (obsolete) -Description = verisignCPSv1notice (2 16 840 1 113733 1 7 1 1 1) - -# DN contains non-verified subscriber information -OID = 06 0C 60 86 48 01 86 F8 45 01 07 01 01 02 -Comment = Verisign (obsolete) -Description = verisignCPSv1nsi (2 16 840 1 113733 1 7 1 1 2) - -OID = 06 0A 60 86 48 01 86 F8 45 01 08 01 -Comment = Verisign -Description = Verisign SGC CA? (2 16 840 1 113733 1 8 1) - -# SET - -OID = 06 03 67 2A 00 -Comment = SET -Description = contentType (2 23 42 0) - -OID = 06 04 67 2A 00 00 -Comment = SET contentType -Description = PANData (2 23 42 0 0) - -OID = 06 04 67 2A 00 01 -Comment = SET contentType -Description = PANToken (2 23 42 0 1) - -OID = 06 04 67 2A 00 02 -Comment = SET contentType -Description = PANOnly (2 23 42 0 2) - -# And on and on and on for another 80-odd OIDs which I'm not going to type in - -OID = 06 03 67 2A 01 -Comment = SET -Description = msgExt (2 23 42 1) - -OID = 06 03 67 2A 02 -Comment = SET -Description = field (2 23 42 2) - -OID = 06 04 67 2A 02 00 -Comment = SET field -Description = fullName (2 23 42 2 0) - -OID = 06 04 67 2A 02 01 -Comment = SET field -Description = givenName (2 23 42 2 1) - -OID = 06 04 67 2A 02 02 -Comment = SET field -Description = familyName (2 23 42 2 2) - -OID = 06 04 67 2A 02 03 -Comment = SET field -Description = birthFamilyName (2 23 42 2 3) - -OID = 06 04 67 2A 02 04 -Comment = SET field -Description = placeName (2 23 42 2 4) - -OID = 06 04 67 2A 02 05 -Comment = SET field -Description = identificationNumber (2 23 42 2 5) - -OID = 06 04 67 2A 02 06 -Comment = SET field -Description = month (2 23 42 2 6) - -OID = 06 04 67 2A 02 07 -Comment = SET field -Description = date (2 23 42 2 7) - -OID = 06 04 67 2A 02 08 -Comment = SET field -Description = address (2 23 42 2 8) - -OID = 06 04 67 2A 02 09 -Comment = SET field -Description = telephone (2 23 42 2 9) - -OID = 06 04 67 2A 02 0A -Comment = SET field -Description = amount (2 23 42 2 10) - -OID = 06 04 67 2A 02 0B -Comment = SET field -Description = accountNumber (2 23 42 2 7 11) - -OID = 06 04 67 2A 02 0C -Comment = SET field -Description = passPhrase (2 23 42 2 7 12) - -OID = 06 03 67 2A 03 -Comment = SET -Description = attribute (2 23 42 3) - -OID = 06 04 67 2A 03 00 -Comment = SET attribute -Description = cert (2 23 42 3 0) - -OID = 06 05 67 2A 03 00 00 -Comment = SET cert attribute -Description = rootKeyThumb (2 23 42 3 0 0) - -OID = 06 05 67 2A 03 00 01 -Comment = SET cert attribute -Description = additionalPolicy (2 23 42 3 0 1) - -OID = 06 03 67 2A 04 -Comment = SET -Description = algorithm (2 23 42 4) - -OID = 06 03 67 2A 05 -Comment = SET -Description = policy (2 23 42 5) - -OID = 06 04 67 2A 05 00 -Comment = SET policy -Description = root (2 23 42 5 0) - -OID = 06 03 67 2A 06 -Comment = SET -Description = module (2 23 42 6) - -OID = 06 03 67 2A 07 -Comment = SET -Description = certExt (2 23 42 7) - -OID = 06 04 67 2A 07 00 -Comment = SET cert extension -Description = hashedRootKey (2 23 42 7 0) - -OID = 06 04 67 2A 07 01 -Comment = SET cert extension -Description = certificateType (2 23 42 7 1) - -OID = 06 04 67 2A 07 02 -Comment = SET cert extension -Description = merchantData (2 23 42 7 2) - -OID = 06 04 67 2A 07 03 -Comment = SET cert extension -Description = cardCertRequired (2 23 42 7 3) - -OID = 06 04 67 2A 07 04 -Comment = SET cert extension -Description = tunneling (2 23 42 7 4) - -OID = 06 04 67 2A 07 05 -Comment = SET cert extension -Description = setExtensions (2 23 42 7 5) - -OID = 06 04 67 2A 07 06 -Comment = SET cert extension -Description = setQualifier (2 23 42 7 6) - -OID = 06 03 67 2A 08 -Comment = SET -Description = brand (2 23 42 8) - -OID = 06 04 67 2A 08 01 -Comment = SET brand -Description = IATA-ATA (2 23 42 8 1) - -OID = 06 04 67 2A 08 04 -Comment = SET brand -Description = VISA (2 23 42 8 4) - -OID = 06 04 67 2A 08 05 -Comment = SET brand -Description = MasterCard (2 23 42 8 5) - -OID = 06 04 67 2A 08 1E -Comment = SET brand -Description = Diners (2 23 42 8 30) - -OID = 06 04 67 2A 08 22 -Comment = SET brand -Description = AmericanExpress (2 23 42 8 34) - -OID = 06 05 67 2A 08 AE 7B -Comment = SET brand -Description = Novus (2 23 42 8 6011) - -OID = 06 03 67 2A 09 -Comment = SET -Description = vendor (2 23 42 9) - -OID = 06 04 67 2A 09 00 -Comment = SET vendor -Description = GlobeSet (2 23 42 9 0) - -OID = 06 04 67 2A 09 01 -Comment = SET vendor -Description = IBM (2 23 42 9 1) - -OID = 06 04 67 2A 09 02 -Comment = SET vendor -Description = CyberCash (2 23 42 9 2) - -OID = 06 04 67 2A 09 03 -Comment = SET vendor -Description = Terisa (2 23 42 9 3) - -OID = 06 04 67 2A 09 04 -Comment = SET vendor -Description = RSADSI (2 23 42 9 4) - -OID = 06 04 67 2A 09 05 -Comment = SET vendor -Description = VeriFone (2 23 42 9 5) - -OID = 06 04 67 2A 09 06 -Comment = SET vendor -Description = TrinTech (2 23 42 9 6) - -OID = 06 04 67 2A 09 07 -Comment = SET vendor -Description = BankGate (2 23 42 9 7) - -OID = 06 04 67 2A 09 08 -Comment = SET vendor -Description = GTE (2 23 42 9 8) - -OID = 06 04 67 2A 09 09 -Comment = SET vendor -Description = CompuSource (2 23 42 9 9) - -OID = 06 04 67 2A 09 0A -Comment = SET vendor -Description = Griffin (2 23 42 9 10) - -OID = 06 04 67 2A 09 0B -Comment = SET vendor -Description = Certicom (2 23 42 9 11) - -OID = 06 04 67 2A 09 0C -Comment = SET vendor -Description = OSS (2 23 42 9 12) - -OID = 06 04 67 2A 09 0D -Comment = SET vendor -Description = TenthMountain (2 23 42 9 13) - -OID = 06 04 67 2A 09 0E -Comment = SET vendor -Description = Antares (2 23 42 9 14) - -OID = 06 04 67 2A 09 0F -Comment = SET vendor -Description = ECC (2 23 42 9 15) - -OID = 06 04 67 2A 09 10 -Comment = SET vendor -Description = Maithean (2 23 42 9 16) - -OID = 06 04 67 2A 09 11 -Comment = SET vendor -Description = Netscape (2 23 42 9 17) - -OID = 06 04 67 2A 09 12 -Comment = SET vendor -Description = Verisign (2 23 42 9 18) - -OID = 06 04 67 2A 09 13 -Comment = SET vendor -Description = BlueMoney (2 23 42 9 19) - -OID = 06 04 67 2A 09 14 -Comment = SET vendor -Description = Lacerte (2 23 42 9 20) - -OID = 06 04 67 2A 09 15 -Comment = SET vendor -Description = Fujitsu (2 23 42 9 21) - -OID = 06 04 67 2A 09 16 -Comment = SET vendor -Description = eLab (2 23 42 9 22) - -OID = 06 04 67 2A 09 17 -Comment = SET vendor -Description = Entrust (2 23 42 9 23) - -OID = 06 04 67 2A 09 18 -Comment = SET vendor -Description = VIAnet (2 23 42 9 24) - -OID = 06 04 67 2A 09 19 -Comment = SET vendor -Description = III (2 23 42 9 25) - -OID = 06 04 67 2A 09 1A -Comment = SET vendor -Description = OpenMarket (2 23 42 9 26) - -OID = 06 04 67 2A 09 1B -Comment = SET vendor -Description = Lexem (2 23 42 9 27) - -OID = 06 04 67 2A 09 1C -Comment = SET vendor -Description = Intertrader (2 23 42 9 28) - -OID = 06 04 67 2A 09 1D -Comment = SET vendor -Description = Persimmon (2 23 42 9 29) - -OID = 06 04 67 2A 09 1E -Comment = SET vendor -Description = NABLE (2 23 42 9 30) - -OID = 06 04 67 2A 09 1F -Comment = SET vendor -Description = espace-net (2 23 42 9 31) - -OID = 06 04 67 2A 09 20 -Comment = SET vendor -Description = Hitachi (2 23 42 9 32) - -OID = 06 04 67 2A 09 21 -Comment = SET vendor -Description = Microsoft (2 23 42 9 33) - -OID = 06 04 67 2A 09 22 -Comment = SET vendor -Description = NEC (2 23 42 9 34) - -OID = 06 04 67 2A 09 23 -Comment = SET vendor -Description = Mitsubishi (2 23 42 9 35) - -OID = 06 04 67 2A 09 24 -Comment = SET vendor -Description = NCR (2 23 42 9 36) - -OID = 06 04 67 2A 09 25 -Comment = SET vendor -Description = e-COMM (2 23 42 9 37) - -OID = 06 04 67 2A 09 26 -Comment = SET vendor -Description = Gemplus (2 23 42 9 38) - -OID = 06 03 67 2A 0A -Comment = SET -Description = national (2 23 42 10) - -OID = 06 05 67 2A 0A 81 40 -Comment = SET national -Description = Japan (2 23 42 10 192) - -# Draft SET. These were invented for testing in pre-1.0 drafts, but have -# been used nonetheless by implementors - -OID = 06 04 86 8D 6F 02 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = hashedRootKey (2 54 1775 2) -Warning - -OID = 06 04 86 8D 6F 03 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = certificateType (2 54 1775 3) -Warning - -OID = 06 04 86 8D 6F 04 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = merchantData (2 54 1775 4) -Warning - -OID = 06 04 86 8D 6F 05 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = cardCertRequired (2 54 1775 5) -Warning - -OID = 06 04 86 8D 6F 06 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = tunneling (2 54 1775 6) -Warning - -OID = 06 04 86 8D 6F 07 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = setQualifier (2 54 1775 7) -Warning - -OID = 06 04 86 8D 6F 63 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = set-data (2 54 1775 99) -Warning - -# End of Fahnenstange diff --git a/scripts/.cvsignore b/scripts/.cvsignore deleted file mode 100644 index 586a6bc..0000000 --- a/scripts/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -Makefile.in -brp-redhat diff --git a/scripts/Makefile.am b/scripts/Makefile.am index d22cc8a..0e5dab6 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -6,16 +6,14 @@ EXTRA_DIST = \ posttrans-filetriggers 0ldconfig.filetrigger \ brp-adjust_libraries brp-alt brp-bytecompile_python \ brp-cleanup brp-compress brp-fix-perms brp-fixup brp-strip brp-verify_elf \ - compress_files check-files convertrpmrc.sh cross-build \ - find-lang find-package find-prov.pl find-req.pl \ - cpanflute cpanflute2 Specfile.pm find-provides.perl find-requires.perl \ + compress_files check-files \ + find-lang find-package \ fixup-binconfig fixup-pkgconfig fixup-libtool fixup-libraries \ - get_magic.pl getpo.sh http.req \ - functions files.req.list ldd magic.prov magic.req \ - pam.prov pam.req pkgconfig.prov pkgconfig.req perl.prov perl.req \ - rpmdiff rpmdiff.cgi rpm.daily rpm.log rpm.xinetd rpm2cpio.sh \ - shell.req shell.prov shlib.req.awk sql.prov sql.req strip_files \ - tcl.req trpm u_pkg.sh verify-elf vpkg-provides.sh vpkg-provides2.sh + functions files.req.list ldd \ + pam.prov pam.req pkgconfig.prov pkgconfig.req \ + rpm2cpio.sh \ + shell.req shell.prov shlib.req.awk strip_files \ + verify-elf installprefix = $(DESTDIR) @@ -26,13 +24,11 @@ config_SCRIPTS = \ posttrans-filetriggers 0ldconfig.filetrigger \ brp-adjust_libraries brp-alt brp-bytecompile_python \ brp-cleanup brp-compress brp-fix-perms brp-fixup brp-strip brp-verify_elf \ - compress_files check-files convertrpmrc.sh cross-build \ - find-lang find-package find-prov.pl find-req.pl \ - cpanflute cpanflute2 Specfile.pm find-provides.perl find-requires.perl \ + compress_files check-files \ + find-lang find-package \ fixup-binconfig fixup-pkgconfig fixup-libtool fixup-libraries \ - get_magic.pl getpo.sh http.req \ - functions files.req.list ldd magic.prov magic.req \ - pam.prov pam.req pkgconfig.prov pkgconfig.req perl.prov perl.req \ - rpmdiff rpmdiff.cgi rpm.daily rpm.log rpm.xinetd rpm2cpio.sh \ - shell.req shell.prov shlib.req.awk sql.prov sql.req strip_files \ - tcl.req trpm u_pkg.sh verify-elf vpkg-provides.sh vpkg-provides2.sh + functions files.req.list ldd \ + pam.prov pam.req pkgconfig.prov pkgconfig.req \ + rpm2cpio.sh \ + shell.req shell.prov shlib.req.awk strip_files \ + verify-elf diff --git a/scripts/Specfile.pm b/scripts/Specfile.pm deleted file mode 100644 index f04c68b..0000000 --- a/scripts/Specfile.pm +++ /dev/null @@ -1,193 +0,0 @@ -package RPM::Specfile; - -use POSIX; - -use strict; - -use vars qw/$VERSION/; - -$VERSION = '1.02'; - -sub new { - my $class = shift; - - my $self = bless { }, $class; - - return $self; -} - -my @simple_accessors = qw/name version release epoch license group url description prep build clean install summary buildroot buildrequires file_param packager vendor distribution buildarch/; - -foreach my $field (@simple_accessors) { - my $sub = q { - sub RPM::Specfile::[[field]] { - my $self = shift; - if (@_) { - my $value = shift; - $self->{__[[field]]__} = $value; - } - return $self->{__[[field]]__}; - } - }; - - $sub =~ s/\[\[field\]\]/$field/g; - eval $sub; - - if ($@) { - die $@; - } -} - -my @array_accessors = qw/source patch changelog provide require file/; - -foreach my $field (@array_accessors) { - my $sub = q { - sub RPM::Specfile::[[field]] { - my $self = shift; - $self->{__[[field]]__} ||= [ ]; - - if (@_) { - my $index = shift; - if (@_) { - my $value = shift; - $self->{__[[field]]__}->[$index] = $value; - } - return $self->{__[[field]]__}->[$index]; - } - else { - return @{$self->{__[[field]]__}}; - } - } - - sub RPM::Specfile::push_[[field]] { - my $self = shift; - my $entry = shift; - - $self->{__[[field]]__} ||= [ ]; - push @{$self->{__[[field]]__}}, $entry; - } - - sub RPM::Specfile::clear_[[field]] { - my $self = shift; - my $entry = shift; - - $self->{__[[field]]__} = [ ]; - } - - }; - - $sub =~ s/\[\[field\]\]/$field/g; - eval $sub; - - if ($@) { - die $@; - } -} - -sub add_changelog_entry { - my $self = shift; - my $who = shift; - my $entry = shift; - - my $output; - $output .= strftime("* %a %b %d %Y $who\n", localtime time); - $output .= "- $entry\n"; - - $self->push_changelog($output); -} - -sub generate_specfile { - my $self = shift; - - my $output; - - my %defaults = ( buildroot => "%{_tmppath}/%{name}-root" ); - $self->$_($self->$_() || $defaults{$_}) foreach keys %defaults; - - my %proper_names = ( url => "URL", buildroot => "BuildRoot", "buildrequires" => "BuildRequires" ); - - foreach my $tag (qw/name version release epoch packager vendor distribution summary license group url buildroot buildrequires buildarch/) { - my $proper = $proper_names{$tag} || ucfirst $tag; - - next unless defined $self->$tag(); - $output .= "$proper: " . $self->$tag() . "\n"; - } - - my @reqs = $self->require; - for my $i (0 .. $#reqs) { - $output .= "Requires: $reqs[$i]\n"; - } - - my @sources = $self->source; - for my $i (0 .. $#sources) { - $output .= "Source$i: $sources[$i]\n"; - } - - my @patches = $self->patch; - for my $i (0 .. $#patches) { - $output .= "Patch$i: $patches[$i]\n"; - } - - $output .= "\n"; - - foreach my $sect (qw/description prep build clean install/) { - $output .= "%$sect\n"; - $output .= $self->$sect() . "\n"; - } - - if ($self->file_param) { - $output .= "%files " . $self->file_param . "\n"; - } - else { - $output .= "%files\n"; - } - $output .= "$_\n" foreach $self->file; - - $output .= "\n%changelog\n"; - $output .= "$_\n" foreach $self->changelog; - - return $output; -} - -sub write_specfile { - my $self = shift; - my $dest = shift; - - open FH, ">$dest" - or die "Can't open $dest: $!"; - - print FH $self->generate_specfile; - - close FH; -} - -1; - -__END__ -# Below is stub documentation for your module. You better edit it! - -=head1 NAME - -RPM::Specfile - Perl extension for creating RPM Specfiles - -=head1 SYNOPSIS - - use RPM::Specfile; - -=head1 DESCRIPTION - -Simple module for creation of RPM Spec files - -=head2 EXPORT - -None by default. - -=head1 AUTHOR - -Chip Turner - -=head1 SEE ALSO - -L. - -=cut diff --git a/scripts/convertrpmrc.sh b/scripts/convertrpmrc.sh deleted file mode 100644 index 9ac1dcf..0000000 --- a/scripts/convertrpmrc.sh +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/sh -# -# Convert per-system configuration in /etc/rpmrc to macros in /etc/rpm/macros. -# -# prereq: awk coreutils mktemp -# - -RPMRC=$1 -[ -n "$RPMRC" ] || RPMRC=/etc/rpmrc -MACROS=$2 -[ -n "$MACROS" ] || MACROS=/etc/rpm/macros -# for testing -#RPMRC=/tmp/rpmrc -#MACROS=/tmp/macros - -[ -f "$RPMRC" ] || exit 0 - -[ -f "$MACROS" ] && { - echo "$MACROS already exists" 1>&2 - exit 1 -} - -DIRN="`dirname $MACROS`" -[ -d "$DIRN" ] || mkdir -p "$DIRN" -[ -d "$DIRN" ] || { - echo "could not create directory $DIRN" 1>&2 - exit 1 -} - -TMP="$(mktemp -t rpmrc.XXXXXXXXXX)" || { - echo could not create temp file 1>&2 - exit 1 -} - -exit_handler() -{ - local rc=$? - trap - EXIT - rm -f -- "$TMP" - exit $rc -} - -trap exit_handler SIGHUP SIGINT SIGTERM SIGQUIT SIGPIPE EXIT - -awk 'BEGIN { - macros="'"$MACROS"'" - # direct translation except underscore prepended - xlate["builddir"] = "_builddir" - xlate["buildshell"] = "_buildshell" - xlate["bzip2bin"] = "_bzip2bin" - xlate["dbpath"] = "_dbpath" - xlate["defaultdocdir"] = "_defaultdocdir" - xlate["excludedocs"] = "_excludedocs" - xlate["ftpport"] = "_ftpport" - xlate["ftpproxy"] = "_ftpproxy" - xlate["gzipbin"] = "_gzipbin" - xlate["instchangelog"] = "_instchangelog" - xlate["langpatt"] = "_langpatt" - xlate["netsharedpath"] = "_netsharedpath" - xlate["pgp_name"] = "_pgp_name" - xlate["pgp_path"] = "_pgp_path" - xlate["rpmdir"] = "_rpmdir" - xlate["rpmfilename"] = "_rpmfilename" - xlate["signature"] = "_signature" - xlate["sourcedir"] = "_sourcedir" - xlate["specdir"] = "_specdir" - xlate["srcrpmdir"] = "_srcrpmdir" - xlate["timecheck"] = "_timecheck" - xlate["tmppath"] = "_tmppath" - xlate["topdir"] = "_topdir" - - # direct translation with no underscore at all - xlate["buildroot"] = "buildroot" - xlate["distribution"] = "distribution" - xlate["packager"] = "packager" - xlate["vendor"] = "vendor" - - # simply remove - xlate["messagelevel"] = "" - xlate["require_distribution"] = "" - xlate["require_icon"] = "" - xlate["require_vendor"] = "" -} - -{ - for (str in xlate) { - ms = "^" str ":" - if (match($1, ms)) { - if (xlate[str]) { - sub(ms, "%" xlate[str] " ") - print >> macros - } - # else get ignore and thus get rid of obsolete items - next - } - if (match ($1, "^fixperms:")) { - sub("^fixperms:", "%_fixperms chmod -R ") - print >> macros - next - } - } - print - next -} -' < $RPMRC > $TMP || { - echo "could not convert $RPMRC entries to $MACROS entries" 1>&2 - exit 1 -} -if [ -s $TMP ] ; then - # don't mess with timestamp unless we have actually changed something - cat $TMP > $RPMRC && rm -f $TMP - [ -f $TMP ] && { echo "could not overwrite $RPMRC" 1>&2 ; exit 1 ; } -fi - -exit 0 diff --git a/scripts/cpanflute b/scripts/cpanflute deleted file mode 100755 index b2e9abd..0000000 --- a/scripts/cpanflute +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/perl - -# need this for hostname() -use File::Basename; -use Sys::Hostname; -use Getopt::Long; -use strict; - -my $MainDir = '/tmp/cpan'; - -# set default options, then get options -my %options=(); -$options{'email'}=(getpwuid($<))[0] . "\@altlinux.com" ; -GetOptions(\%options, "email=s", "n=s", "create") || exit 1; - -my $InputFile = $ARGV[0]; -my $create = ''; - -if ($options{'create'}) { - $create = '-c'; -} - -my $tarball = basename($InputFile); -$tarball =~ /(\S+)\-(\S+)\.tar\.gz/; -my $clm_name=$1; -my $clm_version=$2; - -my $class = dirname($InputFile); -$class =~ s/^\.\/[0-9][0-9]_//; -if ($class ne '.') { - $class = "($class)"; -} else { - $class = ""; -} - -# Change ::'s to -'s -$clm_name =~ s/::/-/g; - -my $clm_changelog = get_changelog(); - -# complain if either parameter is missing -($clm_name eq "") && die "Module name not specified\n"; -($clm_version eq "") && die "Module version not specified\n"; - -# Create and Open file to create SPEC files. -mkdir($MainDir, 0755); -system("cp $InputFile $MainDir"); -my $filename = $clm_name . '.spec'; -open (FILE, "> $MainDir/$filename"); - -# Print the spec file. Lots of substitutions here. -print FILE "Summary: $clm_name module for perl $class -Name: perl-$clm_name -Version: $clm_version -Release: 7 -Copyright: distributable -Group: Applications/CPAN -Source0: $clm_name-$clm_version.tar.gz -Url: http://www.cpan.org -BuildRoot: %{_tmppath}/perl-$clm_name-buildroot/ -BuildRequires: perl >= 0:5.00503 -Requires: perl >= 0:5.00503 - -%description -$clm_name module for perl - -# Provide perl-specific find-{provides,requires}. -%define __find_provides /usr/lib/rpm/find-provides.perl -%define __find_requires /usr/lib/rpm/find-requires.perl - -%prep -%setup -q -n $clm_name-%{version} $create - -%build -CFLAGS=\"\$RPM_OPT_FLAGS\" perl Makefile.PL -make - -%clean -rm -rf \$RPM_BUILD_ROOT - -%install -rm -rf \$RPM_BUILD_ROOT -eval `perl '-V:installarchlib'` -mkdir -p \$RPM_BUILD_ROOT/\$installarchlib -make PREFIX=\$RPM_BUILD_ROOT/usr install - -[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress - -find \$RPM_BUILD_ROOT/usr -type f -print | \ - sed \"s\@^\$RPM_BUILD_ROOT\@\@g\" | \ - grep -v perllocal.pod | \ - grep -v \"\\.packlist\" > $clm_name-$clm_version-filelist -if [ \"\$(cat $clm_name-$clm_version-filelist)X\" = \"X\" ] ; then - echo \"ERROR: EMPTY FILE LIST\" - exit -1 -fi - -%files -f $clm_name-$clm_version-filelist -%defattr(-,root,root) - -%changelog -* $clm_changelog -- Spec file was autogenerated. -"; -close(FILE); - -# Now build the rpm -create_rcfiles(); - -open (LOG, "> $MainDir/LogFile"); -build_rpm(); -close LOG; - -sub cleanup { - unlink "$MainDir/$filename"; - unlink "$MainDir/$tarball"; -} - -sub build_rpm { - my $retval; - - # First, make sure it unpacks cleanely - system("rpm --rcfile $MainDir/rpmrc -bp $MainDir/$filename"); - $retval = $? >> 8; - if ($retval != 0) { - print "RPM test unpacking failed!\n"; - print LOG "PREP failed: $filename\n"; - return; - } - - system("rpm --rcfile $MainDir/rpmrc -bs --rmsource --rmspec --clean $MainDir/$filename"); - $retval = $? >> 8; - if ($retval != 0) { - print "RPM building failed!\n"; - print LOG "SOURCE failed: $filename\n"; - return; - } - cleanup(); -} - -sub create_rcfiles { - open(MACROS, "> $MainDir/macros"); - print MACROS qq{ -%_topdir $MainDir -%_builddir %{_topdir}/junk -%_rpmdir %{_topdir} -%_sourcedir %{_topdir} -%_specdir %{_topdir} -%_srcrpmdir %{_topdir}/temp -}; - close(MACROS); - - open(RPMRC, "> $MainDir/rpmrc"); - print RPMRC qq{ -include: /usr/lib/rpm/rpmrc -macrofiles: /usr/lib/rpm/macros:$MainDir/macros -}; - close(RPMRC); -} - -sub get_changelog { - # generate the changelog entry from available system info - my ($name); - - $name = (getpwuid($<))[6]; - $name = (split(",", $name))[0]; - return ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")[(localtime)[6]] . " " . - ("Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")[(localtime)[4]] . " " . - (localtime)[3] . " " . (1900+(localtime)[5]) . " " . - $name . " <" . $options{'email'} . ">"; -} - diff --git a/scripts/cpanflute2 b/scripts/cpanflute2 deleted file mode 100755 index 07b1895..0000000 --- a/scripts/cpanflute2 +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -use Getopt::Long; -use File::Basename; -use File::Copy; -use Archive::Tar; - -use lib '/usr/lib/rpm'; -use Specfile; - -my %options; - -GetOptions(\%options, "outdir=s", "tmpdir=s", "email=s", "name=s", "create", "test", "epoch=n", "version=s", "release=s", "perlver=s", "patch=s", "noarch=s") or die_usage(); - -my $fullname = shift; - -die_usage() unless $fullname; - -my $tarball = basename($fullname); -my $create = $options{create} || ''; -my $email = $options{email} || (getpwuid($<))[0] . '@altlinux.com'; -my $outdir = $options{outdir} || './'; -my $tmpdir = $options{tmpdir} || '/tmp'; -my $noarch = $options{noarch}; - -$tarball =~ /^(.+)\-([^-]+)\.tar\.gz$/; -my $name = $options{name} || $1; -my $ver = $options{version} || $2; - -die "Module name/version not parsable from $tarball" unless $name and $ver; - -$name =~ s/::/-/g; - -copy($fullname, $tmpdir) - or die "copy: $!"; - -$noarch = $options{noarch}; - -my $patchfile = ''; -if ($options{patch}) { - copy($options{patch}, $tmpdir); - $patchfile = $options{patch}; -} - -my $spec = new RPM::Specfile; - -my $perlver = "0:5.00503"; -if ($options{perlver} and $options{perlver} eq '5.6.1') { - $perlver = "1:5.6.1"; -} - -# some basic spec fields -$spec->name("perl-$name"); -$spec->version($ver); -$spec->release($options{release} || "8"); -$spec->epoch($options{epoch}); -$spec->summary("$name Perl module"); -$spec->description($spec->summary); -$spec->group("Development/Libraries"); -$spec->license("distributable"); -$spec->buildrequires("perl >= $perlver"); -$spec->packager($email); -$spec->add_changelog_entry($email, 'Specfile autogenerated'); - -$spec->buildarch('noarch') if $noarch; - -# $spec->push_require(q|%(perl -MConfig -le 'if (defined $Config{useithreads}) { print "perl(:WITH_ITHREADS)" } else { print "perl(:WITHOUT_ITHREADS)" }')|); -# $spec->push_require(q|%(perl -MConfig -le 'if (defined $Config{usethreads}) { print "perl(:WITH_THREADS)" } else { print "perl(:WITHOUT_THREADS)" }')|); -# $spec->push_require(q|%(perl -MConfig -le 'if (defined $Config{uselargefiles}) { print "perl(:WITH_LARGEFILES)" } else { print "perl(:WITHOUT_LARGEFILES)" }')|); - -$spec->push_source($tarball); -$spec->push_patch(basename($patchfile)) - if $patchfile; - -# make a URL that can actually possibly take you to the right place -my $url_name = $name; -$url_name =~ s/-/::/g; -$url_name =~ s/([^a-zA-Z0-9])/sprintf "%%%x", ord $1/ge; -$spec->url("http://search.cpan.org/search?mode=module&query=$url_name"); - -# now we get into the multiline tags. stolen mostly verbatim from -# cpanflute1 - -my $patch = ''; -if ($patchfile) { - $patch = "%patch0 -p1\n"; -} - -$spec->prep("%setup -q -n $name-%{version} $create\n$patch"); -$spec->file_param("-f $name-$ver-filelist"); -$spec->push_file("%defattr(-,root,root)"); - -my $test_clause = ''; -$test_clause = "make test" if $options{test}; - -$spec->build(<clean('rm -rf $RPM_BUILD_ROOT'); -my $inst = q{ -rm -rf $RPM_BUILD_ROOT -eval `perl '-V:installarchlib'` -mkdir -p $RPM_BUILD_ROOT/$installarchlib -make PREFIX=$RPM_BUILD_ROOT/usr install - -[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress - -find $RPM_BUILD_ROOT/usr -type f -print | \ - sed "s@^$RPM_BUILD_ROOT@@g" | \ - grep -v perllocal.pod | \ - grep -v "\.packlist" > $name-$ver-filelist -if [ "$(cat $name-$ver-filelist)X" = "X" ] ; then - echo "ERROR: EMPTY FILE LIST" - exit -1 -fi -}; - -$inst =~ s/\$name/$name/g; -$inst =~ s/\$ver/$ver/g; - -$spec->install($inst); - -# write the spec file. create some macros. -$spec->write_specfile("$tmpdir/perl-$name.spec"); - -open FH, ">$tmpdir/macros" - or die "Can't create $tmpdir/macros: $!"; - -print FH qq{ -%_topdir $tmpdir -%_builddir %{_topdir} -%_rpmdir %{_topdir} -%_sourcedir %{_topdir} -%_specdir %{_topdir} -%_srcrpmdir $outdir -}; - -close FH; - -open FH, ">$tmpdir/rpmrc" - or die "Can't create $tmpdir/rpmrc: $!"; - -print FH qq{ -include: /usr/lib/rpm/rpmrc -macrofiles: /usr/lib/rpm/macros:$tmpdir/macros -}; -close FH; - -# perform the build, die on error -my $retval = system "rpm --rcfile $tmpdir/rpmrc -bs --rmsource --rmspec --clean $tmpdir/perl-$name.spec"; -$retval = $? >> 8; -if ($retval != 0) { - die "RPM building failed!\n"; -} - -unlink "$tmpdir/rpmrc", "$tmpdir/macros"; diff --git a/scripts/cross-build b/scripts/cross-build deleted file mode 100644 index b6ea0c6..0000000 --- a/scripts/cross-build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# -# Example script to cross-build for the platform "sh-linux-gnu". -# -# - -SHMAKE='make CC=sh-linux-gnu-gcc CONFIG_SITE=/usr/lib/rpm/config.site RANLIB=sh-linux-gnu-ranlib LD=sh-linux-gnu-ld AS=sh-linux-gnu-as GAS=sh-linux-gnu-as STRIP=sh-linux-gnu-strip CC_FOR_BUILD=gcc OBJDUMP=sh-linux-gnu-objdump AR="sh-linux-gnu-ar" CXX=sh-linux-g++' - -for pkg in $@ ; do - echo $pkg - if [ ! -r $pkg.log ]; then - $SHMAKE RPMFILE=$pkg 2>&1 | tee $pkg.log - if [ -r /usr/src/RPM/RPMS/sh/`echo $pkg | sed -e "s:/tmp/srpms/::" -e "s/.src.rpm/.sh.rpm/"` ]; then - mv $pkg $pkg.log /tmp/srpms/done - fi - fi -done diff --git a/scripts/find-prov.pl b/scripts/find-prov.pl deleted file mode 100755 index f430c50..0000000 --- a/scripts/find-prov.pl +++ /dev/null @@ -1,223 +0,0 @@ -#!/bin/sh - -# This script reads filenames from STDIN and outputs any relevant provides -# information that needs to be included in the package. - -PATH=/usr/bin:/usr/ccs/bin:/usr/sbin:/sbin:/usr/local/bin; -export PATH; - -javadeps_args='--provides --rpmformat --keywords --starprov' - - -IGNORE_DEPS="@" -BUILDROOT="/" - - - -# Loop over all args - -while : -do - -# Break out if there are no more args - case $# in - 0) - break - ;; - esac - -# Get the first arg, and shuffle - option=$1 - shift - -# Make all options have two hyphens - orig_option=$option # Save original for error messages - case $option in - --*) ;; - -*) option=-$option ;; - esac - - - case $option in - --buildroot) - BUILDROOT=$1 - shift - ;; - --ignore_deps) - IGNORE_DEPS=$1 - shift - ;; - --help) - echo $usage - exit 0 - ;; - *) - echo "$0: Unrecognized option: \"$orig_option\"; use --help for usage." >&2 - exit 1 - ;; - esac -done - - - - - - - -for file in `cat -` -do - -# this section is for processing based on the interpreter specified in -# the '#!' line. - -case `get_magic $file` in - -bash) - print_deps --identifier executable $file - print_deps --identifier executable --basename $file -;; - -sh) - print_deps --identifier executable $file - print_deps --identifier executable --basename $file -;; - -perl) - perl.prov $file; -;; - -wish) - print_deps --identifier tcl $file - print_deps --identifier tcl --basename $file -;; - - -esac - - -# this section is for processing based on filename matching. It is -# crude but needed as many library types have no easily identifiable -# '#!' line - -case $file in - -# We can not count on finding a SONAME in third party Libraries though -# they tend to include softlinks with the correct SONMAE name. We -# must assume anything with a *\.so* and is of type 'dynamic lib' is a -# library. This scriptlet works because 'file' follows soft links. - - -*lib*.so*) - /usr/ucb/file -L $file 2>/dev/null | \ - grep "ELF.*dynamic lib" | cut -d: -f1 | \ - xargs -n 1 basename | print_deps --identifier so; - - # keep this for backward compatibility till we have converted - # everything. - - /usr/ucb/file -L $file 2>/dev/null | \ - grep "ELF.*dynamic lib" | cut -d: -f1 | \ - xargs -n 1 basename; -;; - -# Java jar files are just a special kind of zip files. -# Sun OS 5.5.1 does not understand zip archives, it calls them 'data' -# Sun OS 5.6 has this line in /etc/magic -# 0 string PK\003\004 ZIP archive - -*.jar) - - unzip -p $file |\ - javadeps $javadeps_args -; - -;; - -# there are enough jar files out there with zip extensions that we -# need to have a separate entry - -*.zip) - - unzip -p $file |\ - javadeps $javadeps_args -; - -;; - -# Java Class files -# Sun OS 5.6 has this line in /etc/magic -# 0 string \312\376\272\276 java class file - -*.class) - - javadeps $javadeps_args $file; - -;; - - - -# Perl libraries are hard to detect. Use file endings. - -*.pl) - - perl.prov $file; - - # pl files are often required using the .pl extension - # so provide that name as well - - print_deps --identifier perl --basename $file -;; - -*.pm) - - perl.prov $file; -;; - -*.ph) - - # ph files do not use the package name inside the file. - # perlmodlib documentation says: - - # the .ph files made by h2ph will probably end up as - # extension modules made by h2xs. - - # so do not expend much effort on these. - - print_deps --identifier perl --basename $file - -;; - -# tcl libraries are hard to detect. Use file endings. - -*.tcl) - - print_deps --identifier tcl $file - print_deps --identifier tcl --basename $file -;; - - - -*) - - # Dependencies for html documenets are a bit ill defined. Lets try - # using file endings like the browsers do. - # precise globbing is hard so I use egrep instead of the case statement. - -hfile=`basename $file | egrep '\.((cgi)|(ps)|(pdf)|(png)|(jpg)|(gif)|(tiff)|(tif)|(xbm)|(html)|(htm)|(shtml)|(jhtml))$'`; - - if [ "${hfile}" != "" ] - then - print_deps --identifier http --basename $file - fi - - # all files are candidates for being an executable. Let the - # magic.prov script figure out what should be considered - # execuables. - - magic.prov --buildroot=$BUILDROOT $file - -;; - - -esac - -done | sort -u | egrep -v \'$IGNORE_DEPS\' - diff --git a/scripts/find-provides.perl b/scripts/find-provides.perl deleted file mode 100755 index c567baf..0000000 --- a/scripts/find-provides.perl +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -exec /usr/lib/rpm/find-provides - diff --git a/scripts/find-req.pl b/scripts/find-req.pl deleted file mode 100755 index 6bf23a1..0000000 --- a/scripts/find-req.pl +++ /dev/null @@ -1,211 +0,0 @@ -#!/bin/sh - -# This script reads filenames from STDIN and outputs any relevant provides -# information that needs to be included in the package. - -PATH=/usr/bin:/usr/ccs/bin:/usr/sbin:/sbin:/usr/local/bin; -export PATH; - -javadeps_args='--requires --rpmformat --keywords' - -ulimit -c 0; - - - - - -IGNORE_DEPS="@" -BUILDROOT="/" - - - -# Loop over all args - -while : -do - -# Break out if there are no more args - case $# in - 0) - break - ;; - esac - -# Get the first arg, and shuffle - option=$1 - shift - -# Make all options have two hyphens - orig_option=$option # Save original for error messages - case $option in - --*) ;; - -*) option=-$option ;; - esac - - - case $option in - --buildroot) - BUILDROOT=$1 - shift - ;; - --ignore_deps) - IGNORE_DEPS=$1 - shift - ;; - --help) - echo $usage - exit 0 - ;; - *) - echo "$0: Unrecognized option: \"$orig_option\"; use --help for usage." >&2 - exit 1 - ;; - esac -done - - -for file in `cat -` -do - -# this section is for processing based on the interpreter specified in -# the '#!' line. - -case `get_magic $file` in - -bash) - /usr/local/lib/rpm/bash --rpm-requires $file; -;; - -sh) - /usr/local/lib/rpm/bash --rpm-requires $file; -;; - -perl) - perl.req $file; -;; - -wish) - tcl.req $file; -;; - -python) - python.req $file; -;; - -esac - - -# this section is for processing based on filename matching. It is -# crude but needed as many library types have no easily identifiable -# '#!' line - -case $file in - -# Shared libraries can depend on other shared libraries. - -*lib*.so*) - - ldd $file 2>/dev/null | awk '/\=\>/ { print $1 }' \ - | print_deps --identifier so; - - # keep this for backward compatibility till we have converted - # everything. - - ldd $file 2>/dev/null | awk '/\=\>/ { print $1 }'; - -;; - -# Java jar files are just a special kind of zip files. -# Sun OS 5.5.1 does not understand zip archives, it calls them 'data' -# Sun OS 5.6 has this line in /etc/magic -# 0 string PK\003\004 ZIP archive - -*.jar) - - unzip -p $file |\ - javadeps $javadeps_args -; - -;; - -# there are enough jar files out there with zip extensions that we -# need to have a separate entry - -*.zip) - - unzip -p $file |\ - javadeps $javadeps_args -; - -;; - -# Java Class files -# Sun OS 5.6 has this line in /etc/magic -# 0 string \312\376\272\276 java class file - -*.class) - - javadeps $javadeps_args $file; - -;; - - -# Perl libraries are hard to detect. Need to also Look for #!*perl - -*.pl) - - perl.req $file; - -;; - -*.pm) - - perl.req $file; - -;; - - - -# tcl libraries are hard to detect. Need to also Look for #!*wish #!*tclsh - -*.tcl) - - tcl.req $file; - -;; - -# python libraries are hard to detect. Need to also Look for #!*python - -*.py) - - python.req $file; - -;; - -# Binary executables can have any filename so let file tell us which -# ones are binary filenames. Assume that users do not name ELF binary -# files with names like runme.java - -# Dependencies for html documenets are a bit ill defined. Lets try -# extracting the basename of all strings within "'s -# precise globbing is hard so I use egrep instead of the case statement. - -*) - - /usr/ucb/file -L $file 2>/dev/null | grep executable | cut -d: -f1 |\ - xargs ldd 2>/dev/null | awk '/\=\>/ { print $1 }' | xargs -n 1 basename; - - echo $file | egrep '\.((cgi)|(ps)|(pdf)|(png)|(jpg)|(gif)|(tiff)|(tif)|(xbm)|(html)|(htm)|(shtml)|(jhtml))$' | xargs cat | httprequires - - - # All files are candidates for being an executable. Let the - # magic.req script figure out what should be considered - # execuables. - - magic.req $file - -;; - - -esac - -done | sort -u | egrep -v \'$IGNORE_DEPS\' - diff --git a/scripts/find-requires.perl b/scripts/find-requires.perl deleted file mode 100755 index 06050dd..0000000 --- a/scripts/find-requires.perl +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -exec /usr/lib/rpm/find-requires - diff --git a/scripts/get_magic.pl b/scripts/get_magic.pl deleted file mode 100755 index eda5dd5..0000000 --- a/scripts/get_magic.pl +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/perl - -# Given a filename on the command line or on stdin this script returns -# the (single) interpreter that is required to run the executable. We -# need this information to pick the best dependency parser for this -# file. - -# Usually this is extracted from the #! line of the file -# but we also handle the various 'exec' tricks that people use to -# start the interpreter via an intermediate shell. - - -# These have all been seen on our system or are "recommended" in -# various man pages. - -# Examples: - -# #!/bin/sh -# # the next line restarts using wish \ -# exec wish "$0" "$@" - - -# #!/bin/sh -- # -*- perl -*- -p -# eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}' -# if $running_under_some_shell; - - -# #!/bin/sh -- # -*- perl -*- -p -# eval '(exit $?0)' && eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}' - - -# #!/bin/sh -- # -*- perl -*- -p -# & eval 'exec /usr/bin/perl -wS $0 $argv:q' -# if $running_under_some_shell; - - -# #! /usr/bin/env python - - -use File::Basename; - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - -foreach $prog (sort keys %require) { - - $prog=basename($prog); - - # ignore variable interpolation and any program whose name is made - # up only of non word characters ('<', '&&', etc). - - ( ( $prog != /\$/ ) || ( $prog =~ /^\W+$/ ) ) && - next; - - print "exectuable($prog)\n"; - -} - -exit 0; - - -sub process_file { - - my ($file) = @_; - chomp $file; - - my ($version, $magic) = (); - - (-f $file) || return ; - - open(FILE, "<$file")|| - die("$0: Could not open file: '$file' : $!\n"); - - my $rc = sysread(FILE,$line,1000); - - $rc =~ s/\#.*\n//g; - - # Ignore all parameter substitution. - # I have no hope of parsing something like: - # exec ${SHELL:-/bin/sh} - - $rc =~ s/\$\{.*\}//g; - $rc =~ s/echo\s+.*[\n;]//g; - - if ( ($rc > 1) && ($line =~ m/^\#\!\s*/) ) { - - if ($line =~ m/\b(exec|env)\s+([\'\"\`\\]+)?([^ \t\n\r]+)/) { - $require{$3} = 1; - last; - } - - # strip off extra lines and any arguments - if ($line =~ m/^\#\!\s*([^ \t\n\r]+)/) { - $require{$1} = 1; - last; - } - - } - - close(FILE) || - die("$0: Could not close file: '$file' : $!\n"); - - return ; -} diff --git a/scripts/getpo.sh b/scripts/getpo.sh deleted file mode 100755 index 62d1e05..0000000 --- a/scripts/getpo.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# - -if [ -z "$1" ] ; then - echo "Usage:" - echo " $0 ..." - exit 0 -fi - -while [ -n "$1" ] ; do - - [ -f $1 ] || { - echo "$1 could not be found (or is not a file)" - shift - continue - } - - desc=$(rpm -qp $1 --qf "%{DESCRIPTION}" | \ - sed -e 's/\"/\\\\\"/g' -e 's/^/\"/g' -e 's/$/\\\\n\"/g') - - rpm -qp $1 --qf \ -"# ======================================================== -#: %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm:1005 %{SOURCERPM}:1005 -msgid \"%{NAME}(Description)\" -msgstr \"\" -$desc - -#: %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm:1016 %{SOURCERPM}:1016 -msgid \"%{NAME}(Group)\" -msgstr \"%{GROUP}\" - -#: %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm:1004 %{SOURCERPM}:1004 -msgid \"%{NAME}(Summary)\" -msgstr \"%{SUMMARY}\" - -" - # go to the next file - shift -done - diff --git a/scripts/http.req b/scripts/http.req deleted file mode 100755 index 5d04d0c..0000000 --- a/scripts/http.req +++ /dev/null @@ -1,165 +0,0 @@ -#!/usr/bin/perl - -# This file can find requirements of html and jhtml files (cgi, gif, -# java dependencies). It is a bit of a hack but it turns out to work -# well. We track only dependencies between Relative URLs, absolute -# URL's are assumed to be extenernal to the RPM system. We do not -# parse the HTML but look through the set of strings (text surrounded -# by quotes) for something which looks like a reference. This avoids -# writing a full HTML parsers and tends to work really well. In this -# manner we can track dependencies for: href, src, action and other -# HTML tags which have not been invented yet. - - -# The reference: -# -# href="http://www.perl.org/images/arrow.gif" -# -# does not create a dependency but the reference -# -# href="images/arrow.gif" -# -# will create a dependency. - -# Additionally this program will find the requirements for sun jhtml -# (html with embedded java) since jhtml is deprecated so is this part -# of the code. - -# These references create dependencies: - -#
-# -# -# -# -# -# adWidget.writeAd(out, "login.html", "expired"); -# -# response.sendRedirect("http://"+request.getServerName()+"/mailcom/login.jhtml"); - - -# Notice how we look for strings WITH the proper ending. This is -# because the java sometimes has really strange double quoting -# conventions. Look at how splitting out the strings in this -# fragment would get you the wrong text. - -# - -# Ignore non relative references since these dependencies can not be -# met. (ie, no package you install will ever provide -# 'http://www.yahoo.com'). - -# I use basename since I have seen too many http references which -# begin with '../' and I can not figure out where the document root -# is for the webserver this would just kill the dependnecy tracking -# mechanism. - - - -use File::Basename; - -# this is the pattern of extensions to call requirements - -$DEPS_PAT = '\.((cgi)|(ps)|(pdf)|(png)|(jpg)|(gif)|(tiff)|(tif)|(xbm)|(html)|(htm)|(shtml)|(jhtml))'; #' - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - - - -foreach $key (sort keys %seen) { - print "$key\n"; -} - - -sub process_file { - - my ($file) = @_; - chomp $file; - - open(FILE, "<$file")|| - die("$0: Could not open file: '$file' : $!\n"); - - # we have to suck in the whole file at once because too many people - # split lines around tags. - - my (@file) = ; - - $_= "@file"; - - # ignore line based comments ( careful although it has two slashes - # 'http://www.yahoo.com' is not a comment! ) - - s!^\s*//.*$!!mg; - s!//\s.*$!!mg; - s!\s//.*$!!mg; - - # ignore multi-line comments - # (use non greedy operators) - - s!/\*.*?\*/!!g; - s///g; - - # Ignore non relative references since these dependencies can not be - # met. (ie, no package you install will ever provide - # 'http://www.yahoo.com'). - - # I use basename since I have seen too many http references which - # begin with '../' and I can not figure out where the document root - # is for the webserver this would just kill the dependnecy tracking - # mechanism. - - - # Notice how we look for strings WITH the proper ending. This is - # because the java sometimes has really strange double quoting - # conventions. Look at how splitting out the strings in this - # fragment would get you the wrong text. - - # - - while ( m{\"([^\"]+$DEPS_PAT)\"}g ) { - my $string = $1; - chomp $string; - if ( $string !~ m!http://! ) { - $string = basename($string); - $string =~ s!\s+!!g; - $seen{"http(${string})"} = 1; - } - } - - { - - # This section is only for use with (Sun) jhtml dependencies, and - # since jhtml is deprecated so is this code. - - # java imports in jhtml (may have stars for leaf class) - # these may span several lines - - while ( m!\s*([^<]+)\s* -#include -#include -#include -*/ - -#include - -/*---------typedefs---------*/ - - -/* The symbol table is a waste of memory.. - but it's easy to code! */ - -typedef struct { - short poolSize; - char **stringList; - short *classRef; - short *typeRef; -} symbolTable_t; - - -/*---------Global Variables, in all caps---------*/ - -/*name of this program*/ -char *PROGRAM_NAME=0; - -/*name of the current class file*/ -char *FILE_NAME=0; - -/*the name of the last class file seen*/ -char *CLASS_NAME=0; - -/*arguments chosen*/ -int ARG_PROVIDES=0; -int ARG_REQUIRES=0; -int ARG_RPMFORMAT=0; -int ARG_KEYWORDS=0; -int ARG_STARPROV=0; - -/*keywords found in class file*/ -char *KEYWORD_VERSION=0; -char *KEYWORD_REVISION=0; -char *KEYWORD_EPOCH=0; - -/* - - Quantify says over 80 percent of the time of the program is spent - in printf (and the functions it calls) AND I verified that only - about a quarter of the classes found in the dependency analysis are - unique. After the change no function used more then 26% of the over - all time. - - I implement a simple mechanism to remove most duplicate dependencies. - The print_table is a table of string which are to be printed. Just - before the program exists it is sorted and all unique entries are - printed. If it fills up during then it is flushed using the same - technique as above. - - The functions which manipulate the table are: - void print_table_flush(void) - void print_table_add(char *str) - -*/ - - -#define MAX_PRINT_TABLE 10000 -char *PRINT_TABLE[MAX_PRINT_TABLE]; -int SIZE_PRINT_TABLE; - -/*--------- declare all functions ---------*/ - -void usage (void); -void outofmemory(void); -void die(char *format, ...); -size_t my_fread(void *ptr, size_t size, size_t nitems, FILE *stream); -void check_range(short value, short poolSize); -char *is_lower_equal (char *string, char *pattern); -int findJavaMagic (FILE *fileHandle); -int my_strcmp (const void *a, const void *b); -void print_table_flush(void); -void print_table_add(char *str); -char *formatClassName(char *pSomeString, char terminator, char print_star); -void dumpRefType(char *pSomeString); -void dumpRequires(symbolTable_t *symbolTable); -void genSymbolTable (FILE *fileHandle, symbolTable_t *symbolTable); -void findClassName (FILE *fileHandle, symbolTable_t *symbolTable); -void freeSymbolTable (symbolTable_t *symbolTable); -void processJavaFile (FILE *fileHandle); - -/*--------- functions ---------*/ - -void -usage (void) -{ - printf("NAME:\n\tjavadeps - Examine Java class files and\n" - "\t\t\treturn information about their dependencies.\n\n"); - printf("USAGE:\n"); - printf("\t javadeps { --provides | --requires } \n" - "\t\t [--rpmformat] [--keywords] \n" - "\t\t [--] classfile-name ... \n\n" - "\t javadeps [--help]\n\n"); - printf("\n\n"); - printf("DESCRIPTION:\n\n"); - printf("List the dependencies or the fully qualified class names, of the \n" - "classfiles listed on the command line. \n\n"); - printf("OPTIONS:\n\n"); - printf("--requires For each class files listed in the arguments,\n" - " -r print the list of class files that would be\n" - " required to run these java programs. This does not \n" - " include anyting instantiated by reflection.\n\n"); - printf("--provides For each class files listed in the arguments, \n" - " -p Print the fully qualified java classes,\n" - " that they provide.\n\n"); - printf("--rpmformat format the output to match that used by RPM's \n" - " -F (Red Hat Package Manager) dependency analysis \n" - " database. The default is not --rpmformat.\n\n"); - printf("--keywords Make use of any keywords embeded in the classfile.\n" - " -k The default is not --keyword.\n\n"); - printf("--starprov Add the star notation provides to the provides list.\n" - " -s The default is not --starprov. This is only for use\n" - " with (Sun) jhtml dependencies, and since jhtml is \n" - " deprecated so is this option.\n\n"); - printf("--help Display this page and exit.\n\n"); - printf("-- This stops the processing of arguments, making it \n" - " easier for users to have filenames like '--keywords',\n" - " without the command line parser getting confused.\n\n"); - printf("\n\n"); - printf("If any of the class file names in the argument list is '-' then\n" - " will be read instead of reading from a file. The\n" - "contents of should be the contents of a class file and \n" - "not a list of class files to read. It is assumed that when run \n" - "with '-', this program is in a pipeline preceeded by the \n" - "command 'unzip -p filename.jar' so that may contain\n" - "the contents of several classfiles concatenated together.\n"); - printf("\n\n"); - printf("If --keywords is specified then the following strings are \n" - "searched for (case insensitive) in the class file string table\n" - "and, if a string is found with a prefix matching the keyword then \n" - "the dependencies are changed accordingly. There may be multiple \n" - "string tables entries prefixed with RPM_Provides and RPM_Requires. \n" - "This would indicate that the dependency is the union\n" - "of all entries.\n" - "\n\n" - "Keyword List:\n\n" - "'$Revision: ' This RCS/CVS compatible keyword is assumed to \n" - " contain the version number of the class file \n" - " it is found in. Care should be taken with this\n" - " option as RPM's notion of which version is later\n" - " may not corrispond with your own, especially\n" - " if you use branches. This keyword\n" - " only effects the output of --provides and only\n" - " when RPM_Version is not defined.\n\n" - "'RPM_Version: ' This is an alternative method of specifing the\n" - " version number of the class. It will override\n" - " $Revision if set. This keyword only effects\n" - " the output of --provides \n\n" - "'RPM_Epoch: ' This string contains the epoch to use with the \n" - " version number stored in Revision. If not \n" - " specified, the epoch is assumed to be zero.\n" - " This keyword only effects the output of\n " - " --provides and only when $Revision number is\n" - " used.\n\n" - "'RPM_Provides: ' This string lists additional capabilites\n" - " provided by the java class. The string should\n" - " be a white space ([\\t\\v\\n\\r\\f\\ ])\n" - " separated list of dependency strings. Each\n" - " dependency string must be of the same format as\n" - " would be valid in the Requires or Provides line\n" - " of the specfile. This keyword only effects the\n" - " output of --provides.\n\n" - "'RPM_Requires: ' This string lists additional requirements of\n" - " the java class. The string should be a white \n" - " space ([\\t \v\\n\\r\\f\\ ]) separated list of \n" - " dependency strings. Each dependency string must\n" - " be of the same format as would be valid in the \n" - " Requires or Provides line of the specfile. This\n" - " keyword only effects the output of --requires.\n " - " \n\n" - "Note that there is no means of setting the release number. This\n" - "is necessary because release numbers are incremented when the\n" - "source does not change but the package needs to be rebuilt. So\n" - "relase numbers can not be stored in the source. The release is\n" - "assumed to be zero. \n\n" - ""); - printf("EXAMPLES (Java Keywords): \n\n" - "\t public static final String REVISION = \"$Revision$\";\n" - "\t public static final String EPOCH = \"4\";\n" - "\t public static final String REQUIRES = \"RPM_Requires: " - "java(gnu.regexp.RE) java(com.ibm.site.util.Options)>=1.5\";\n" - ""); - printf("\n\n"); - printf("EXAMPLES (Arguments): \n\n" - "\tjavadeps --requires -- filename.class\n\n" - "\tjavadeps --provides -- filename.class\n\n" - "\tjavadeps --help\n\n" - "\n" - "\tjavadeps --requires --rpmformat --keywords -- filename.class\n\n" - "\tjavadeps --requires -- filename1.class filename2.class\n\n" - "\tcat filename2.class | javadeps --requires -- filename1.class -\n\n" - "\tunzip -p filename.jar | javadeps --requires -- - \n\n" - ""); - printf("This program is distributed with RPM the Redhat Package \n" - "Managment system. Further information about RPM can be found at \n" - "\thttp://www.rpm.org/\n\n"); - printf("\n\n"); - exit(-1); -} - - -void outofmemory(void) { - - /* Its doubtful we could do a printf if there is really a memory - issue but at least halt the program */ - - fprintf(stderr, "Could not allocate memory"); - exit(-1); -} - - -void die(char *format, ...) { - /* Most errors are fatal. - This function throws a fatal error and - accepts arguments like printf does*/ - - char *newformat = NULL, *newmsg = NULL; - va_list ap; - - if ( !(newformat = malloc(1024)) || !(newmsg = malloc(1024)) ) - outofmemory(); - - /* Rewrite format line, to include additional information. The - format line we chose depends on how much information is availible - at the time of the error. Display the maximum ammount of - information. */ - - /* notice the FILE_NAME is useless for jar files. We would want to - print the name of the classfile which caused the error. That - is hard since we only know that name when we are done parsing - the file, and most errors will occur before that.*/ - - va_start(ap, format); - - if ( (!FILE_NAME) ) { - - sprintf (newformat, "\n%s: %s", - PROGRAM_NAME, format); - - } else if ( (FILE_NAME) && (!CLASS_NAME) ) { - - sprintf (newformat, "\n%s: Java classfile: %s, %s", - PROGRAM_NAME, FILE_NAME, format); - - } else if (CLASS_NAME) { - sprintf (newformat, "\n%s: Java classfile: %s, classname: %s, %s", - PROGRAM_NAME, FILE_NAME, CLASS_NAME, format); - } - - vsprintf (newmsg, newformat, ap); - - /* print error to where it needs to go: - stdout, stderr, or syslog - */ - - fprintf(stderr, newmsg); - - free(newformat); - free(newmsg); - - exit(-1); -} - - -/* wrap fread for safety. It is a fatal error to get an unexpected - EOF inside a class file. */ - -size_t my_fread(void *ptr, size_t size, size_t nitems, FILE *stream) { - size_t rc=0; - /*these variables are helpful in the debugger*/ - int eof=0; - int error=0; - - - rc = fread(ptr, size, nitems, stream); - if ( (size!=0) && (rc == 0) ) { - eof = feof(stream); - error = ferror(stream); - die("Error reading from file, or unexpected EOF\n"); - } - return rc; -} - - -void check_range(short value, short poolSize) { - - if (value > poolSize) { - die("Value: %d, is out of range of the constant pool\n", - value); - } - return ; -} - - - -/* If lower case conversion of string is equal to pattern return a - pointer into string, just after the match. If the string does not - patch the pattern the null pointer is returned. This does not - change string. - - This is similar to strcasecmp, but I expect my patterns to be a - prefix of my strings. */ - -char -*is_lower_equal (char *string, char *pattern) -{ - - while ( (tolower(*string) == *pattern) && - *string && *pattern ) { - string++; - pattern++; - } - - if ( *pattern == 0 ) { - return string; - } - - return NULL; -} - - -/* - Read fileHandle until we find the next instance of the Java - Classfile magic number indicating a java file or find EOF or - fileread error. Since we are reading from stdin which may contain - the concatination of many class files we can not be sure that the - magic number will be the first few bytes. - - Return 1 on success 0 on failure. */ - -#define mod4(num) ( (num) & 3 ) - - -int findJavaMagic (FILE *fileHandle) -{ - int offset=0; - int foundMagic = 0; - size_t rc; - - /* what were looking for */ - unsigned char magicInt[4] = {0xCA, 0xFE, 0xBA, 0xBE}; - /*the hex reads in decimal: 202 254 186 190 */ - - /* a circular buffer indicating the last few bytes we read */ - unsigned char buffer[4] = {0}; - - foundMagic = 0; - while( !foundMagic ) { - - rc = fread(&buffer[offset], 1, 1, fileHandle); - if ( !rc ) { - - /* Either this was not a java file or we were given a jar file - and have already found the last java file in it.*/ - - if ( feof(fileHandle) ) { - return 0; - } - - if ( ferror(fileHandle) ) { - die ("Error reading character from file.\n"); - }; - - } - - /* offset points to the most recent char we read so offest+1 - points to the oldest char we saved. */ - - foundMagic = ( - (magicInt[0] == buffer[mod4(offset+1)]) && - (magicInt[1] == buffer[mod4(offset+2)]) && - (magicInt[2] == buffer[mod4(offset+3)]) && - (magicInt[3] == buffer[mod4(offset+0)]) && - 1 - ); - - offset = mod4(offset+1); - - } /*end while*/ - - return foundMagic; -} - -#undef mod4 - - -int -my_strcmp (const void *a, const void *b) { -char **a1; char **b1; -int ret; - -a1 = (char **)a; -b1 = (char **)b; -ret = strcmp(*a1,*b1); - return ret; -} - -/* print the unique strings found in PRINT_TABLE and clear it out */ - -void -print_table_flush(void) { - int i; - char *last_string; - - if (!SIZE_PRINT_TABLE) { - return ; - } - - /* The qsort line gives a warning on some unicies who insist that - strcmp takes arguments of type pointers to void not the - traditional pointers to char. */ - - qsort( (void *) PRINT_TABLE, (size_t) SIZE_PRINT_TABLE, - sizeof(char *), &my_strcmp); - - printf("%s",PRINT_TABLE[0]); - last_string = PRINT_TABLE[0]; - PRINT_TABLE[0] = NULL; - - for (i = 1; i < SIZE_PRINT_TABLE; i++) { - if ( strcmp(last_string, PRINT_TABLE[i]) ){ - printf("%s",PRINT_TABLE[i]); - free(last_string); - last_string = PRINT_TABLE[i]; - } else { - free(PRINT_TABLE[i]); - } - PRINT_TABLE[i] = NULL; - } - - free(last_string); - SIZE_PRINT_TABLE = 0; - return ; -} - - -/* add an element to PRINT_TABLE for later printing to stdout. We do - not make a copy of the string so each string must be unique, - (different calls must pass pointers to different areas of memory) - and the string must not be freed anywhere else in the code and the - string must be from memory which can be freed.*/ - -void -print_table_add(char *str) { - - if (SIZE_PRINT_TABLE == MAX_PRINT_TABLE) { - print_table_flush(); - } - - PRINT_TABLE[SIZE_PRINT_TABLE] = str; - SIZE_PRINT_TABLE++; - return ; -} - - -void -print_list(char *in_string) { - - /* This function is no longer needed due to fixes in RPM's - processing of dependencies. Keep the code until I get a chance - to use RPM3.0 personally */ - - if (in_string) { - printf("%s\n", in_string); - } - -/* - Old function did: - - Given a list separated by whitespace, put each element in the print - table with an added "\n" */ - - /* - char *WhiteSpace_Set = "\t\v\n\r\f "; - char *newEnd, *out_string; - int copy_len; - - in_string += strspn(in_string, WhiteSpace_Set); - - while (*in_string) { - newEnd = strpbrk(in_string, WhiteSpace_Set); - - if (newEnd) { - copy_len = newEnd-in_string; - } else { - if (*in_string) { - copy_len = strlen(in_string); - } else { - copy_len = 0; - } - } - - out_string = malloc(copy_len+10); - if ( !out_string ) { - outofmemory(); - } - out_string[0]= '\0'; - - if (copy_len) { - strncat(out_string, in_string, copy_len); - in_string+=copy_len; - strcat(out_string, "\n"); - print_table_add(out_string); - } - - in_string += strspn(in_string+copy_len, WhiteSpace_Set); - } - - */ - return ; -} - - -/* Print a properly formatted java class name, and returns the length - of the class string . Do not print \n here as we may wish to - append the version number IFF we are printing the name of this classfile - - We also provide the class with the leaf node replaced with '*'. - This would not be necessary if we only had to worry about java - Class files. However our parsing of jhtml files depends on this - information. This is deprecated since jhtml is deprecated and - this method allows for very inaccurate dependencies. - - Also users may wish to refer to dependencies using star notation - (though this would be less accurate then explicit dependencies - since any leaf class will satify a star dependency). */ - -char -*formatClassName(char *in_string, char terminator, - char print_star) -{ - char *leaf_class=0, *out_string=0; - char *ClassName_Break_Set=0; - - - out_string = malloc(strlen(in_string) + 10); - if ( !out_string ) { - outofmemory(); - } - out_string[0]= '\0'; - - /*these characters end the current parse of the string in function - formatClassName.*/ - - ClassName_Break_Set = malloc(3); - if ( !ClassName_Break_Set ) { - outofmemory(); - } - ClassName_Break_Set[0] = '/'; - /*terminator can be '\0' this must go after '/'*/ - ClassName_Break_Set[1] = terminator; - ClassName_Break_Set[2] = '\0'; - - if(ARG_RPMFORMAT) { - strcat(out_string, "java("); - } - if (print_star) { - /* print the path to the leaf class but do not print the leaf - class, stop at the last '/' we fix this back below*/ - leaf_class = strrchr(in_string, '/'); - if (leaf_class) { - leaf_class[0] = terminator; - } - } - - while (*in_string != terminator) { - char *newEnd=0; - int copy_len; - - /* handle the break_set */ - - if (in_string[0] == '\0' ) { - die("Classname does not terminate with: '%c', '%s'\n", - terminator, in_string); - } else { - if (in_string[0] == '/' ) { - /* convert '/' to '.' */ - strcat(out_string, "."); - in_string++; - } - } - - newEnd = strpbrk(in_string, ClassName_Break_Set); - - if (newEnd) { - copy_len = newEnd-in_string; - } else { - if (terminator == '\0') { - copy_len = strlen(in_string); - } else { - copy_len = 0; - } - } - - /* handle upto but not including the break_set*/ - if (copy_len) { - strncat(out_string, in_string, copy_len); - in_string+=copy_len; - } - - } /*end while*/ - - if (leaf_class) { - /* print the star and fix the leaf class*/ - strcat(out_string, ".*"); - leaf_class[0] = '/'; - } - if(ARG_RPMFORMAT) { - strcat(out_string, ")"); - } - - strcat(out_string, "\n"); - free(ClassName_Break_Set); - return out_string; -} - - -/* Parse out just the class names from a java type and moves the string - pointer to the end of the string. */ - -void -dumpRefType(char *string) -{ - /* All class types start with a 'L' and and end with a ';'. We want - everyting in between. There might be more then one per string - like (params for a method call) */ - - string = strchr(string, 'L'); - while (string) { - string++; - print_table_add(formatClassName(string, ';', 0)); - string = strchr(string, ';'); - string = strchr(string, 'L'); - } - - return ; -} - - -/* Print out the classes referenced in the symbol table */ - -void -dumpRequires(symbolTable_t *symbolTable) { - int tem; - int ref = 0; - - for(tem=1; tem < symbolTable->poolSize; tem++ ) { - - /* dump all the classes in the const table. */ - ref = symbolTable->classRef[tem]; - if(ref) { - char *string = symbolTable->stringList[ref]; - if( !*string ) { - die("class num: %d, referenced string num: %d, " - "which is null.\n", - tem, ref); - } - if ( string[0] == '[' ) { - /* - This is an array. We need to ingore - strings like: - '[B' - '[[B' - '[[I' - - This hack leaves blank lines in the output - when a string not containing a class is - sent to dumpRefType. - */ - string = strchr(string, 'L'); - if (string) { - dumpRefType(string); - } - } else { - print_table_add(formatClassName(string, '\0', 0)); - } - } - - /* dump all the references */ - ref = symbolTable->typeRef[tem]; - if (ref) { - char *string = symbolTable->stringList[ref]; - if ( !*string ) { - die("type num: %d, referenced string num: %d, " - "which is null.\n", - tem, ref); - } - /* this is a java type... parse out the class names */ - dumpRefType(string); - } - - } /*end for*/ - - return ; -} - - -/* Read a java class files symbol table into memory. - - also - - Find the proper name of the current Java Class file. - Print it regardless of: --provides | --requires -*/ - - -void genSymbolTable (FILE *fileHandle, symbolTable_t *symbolTable) -{ - char ignore[10]; - int i=0; - - - /* We are called just after fileHandle saw the magic number, seek a - few bytes in to find the poolsize */ - - my_fread(&ignore, 4, 1, fileHandle); - - my_fread(&(symbolTable->poolSize), 2, 1, fileHandle); - - /* new the tables */ - - symbolTable->stringList = (char**) calloc(symbolTable->poolSize, - sizeof(char*)); - if(!symbolTable->stringList){ - outofmemory(); - } - - symbolTable->classRef = (short*) calloc(symbolTable->poolSize, - sizeof(short*)); - if(!symbolTable->classRef){ - outofmemory(); - } - - symbolTable->typeRef = (short*) calloc(symbolTable->poolSize, - sizeof(short*)); - if(!symbolTable->typeRef){ - outofmemory(); - } - - /* zero 'em all out. */ - for(i=0; i < symbolTable->poolSize; i++) { - symbolTable->stringList[i] = NULL; - symbolTable->classRef[i] = 0; - symbolTable->typeRef[i] = 0; - } - - - /* for the number of entries - (it starts at 1) - */ - - for(i=1; i < symbolTable->poolSize; i++) { - unsigned short type = 0; - unsigned short value = 0; - unsigned char tag = 0; - - /* read the type of this entry */ - - my_fread(&tag, 1, 1, fileHandle); - switch(tag) { - case 1: /* master string pool. */ - { - /* record all these strings */ - char *someString; - unsigned short length = 0; - - /* I am not sure if these strings must be null - terminated. I termiante them to be safe. */ - - my_fread(&length, 2, 1, fileHandle); - someString = (char*) malloc(length+1); - if(!someString){ - outofmemory(); - } - my_fread(someString, length, 1, fileHandle); - someString[length]=0; - symbolTable->stringList[i] = someString; - - if (ARG_KEYWORDS) { - char *ptr=0; - - /* Each keyword can appear multiple times. Don't - bother with datastructures to store these strings, - if we need to print it print it now. */ - - /* it would be better if instead of printing the - strings "raw" I turn the space separated list - into a "\n" separated list*/ - - if (ARG_REQUIRES) { - ptr = is_lower_equal(someString, "rpm_requires: "); - if(ptr){ - print_list(ptr); - } - } - if (ARG_PROVIDES) { - ptr = is_lower_equal(someString, "rpm_provides: "); - if(ptr){ - print_list(ptr); - } - } - /* I wish there was a good way to handle this - ptr = is_lower_equal(someString, "rpm_conflicts: "); - */ - ptr = is_lower_equal(someString, "$revision: "); - if(ptr){ - KEYWORD_REVISION=ptr; - /* terminate the string before " $" */ - ptr = strchr(KEYWORD_REVISION, ' '); - if (ptr) { - *ptr = 0; - } - } - ptr = is_lower_equal(someString, "rpm_version: "); - if(ptr){ - KEYWORD_VERSION=ptr; - /* terminate the string at first whitespace */ - ptr = strchr(KEYWORD_VERSION, ' '); - if (ptr) { - *ptr = 0; - } - } - ptr = is_lower_equal(someString, "rpm_epoch: "); - if(ptr){ - KEYWORD_EPOCH=ptr; - /* terminate the string at first whitespace */ - ptr = strchr(KEYWORD_EPOCH, ' '); - if (ptr) { - *ptr = 0; - } - } - } - break; - } - case 2: /* unknow type!! */ - die("Unknown type in constant table. " - "Entry: %d. \n", i); - break; - case 3: /* int */ - my_fread(&ignore, 4, 1, fileHandle); - break; - case 4: /* float */ - my_fread(&ignore, 4, 1, fileHandle); - break; - case 5: /* long (counts as 2) */ - my_fread(&ignore, 8, 1, fileHandle); - i++; - break; - case 6: /* double (counts as 2) */ - my_fread(&ignore, 8, 1, fileHandle); - i++; - break; - case 7: /* Class */ - my_fread(&value, 2, 1, fileHandle); - /* record which const it's referencing */ - check_range(value, symbolTable->poolSize); - symbolTable->classRef[i]=value; - break; - case 8: /* String */ - my_fread(&ignore, 2, 1, fileHandle); - break; - case 9: /* field reference */ - my_fread(&ignore, 4, 1, fileHandle); - break; - case 10: /* method reference */ - my_fread(&ignore, 4, 1, fileHandle); - break; - case 11: /* interface method reference */ - my_fread(&ignore, 4, 1, fileHandle); - break; - case 12: /* constant name/type */ - my_fread(&ignore, 2, 1, fileHandle); - my_fread(&type, 2, 1, fileHandle); - /* record the name, and the type it's referencing. */ - check_range(type, symbolTable->poolSize); - symbolTable->typeRef[i]=type; - break; - default: - die("Unknown tag type: %d.\n", - "Entry: %d. \n", tag, i); - break; - } - } - - return ; -} - - -/* - Find the proper name of the current Java Class file. - Print it regardless of: --provides | --requires -*/ - -void -findClassName (FILE *fileHandle, symbolTable_t *symbolTable) { - char ignore[10]; - unsigned short type = 0; - unsigned short class = 0; - char *out_string; - char *newline; - - /* seek a little past the end of the table */ - - my_fread(&ignore, 2, 1, fileHandle); - - /* read the name of this classfile */ - - my_fread(&type, 2, 1, fileHandle); - class = symbolTable->classRef[type]; - if( !class || - !symbolTable->stringList[class] ) { - die("Couln't find class: %d, provided by file.\n", class); - } - CLASS_NAME=symbolTable->stringList[class]; - - out_string = formatClassName(symbolTable->stringList[class], '\0', 0); - - { - int len = 10; - - if (out_string) { - len += strlen(out_string); - } - if (KEYWORD_EPOCH) { - len += strlen(KEYWORD_EPOCH); - } - if (KEYWORD_VERSION) { - len += strlen(KEYWORD_VERSION); - } - if (KEYWORD_REVISION) { - len += strlen(KEYWORD_REVISION); - } - - out_string = realloc(out_string, len ); - } - - if (!out_string){ - outofmemory(); - } - - if( KEYWORD_VERSION || KEYWORD_REVISION ){ - /* It is easier to remove the extra new line here in one place - then to try and add a newline every where that formatClassName - is called */ - char *newline; - - /* I am not using rpm 3.0 yet so I need both the dependencies with - and without the version numbers, when I upgrade I will remove - this block (with copy_string) and change the "=" to " = " ten - lines down.*/ - { - char *copy_string; - copy_string = (char*) malloc(strlen(out_string)); - if (!copy_string){ - outofmemory(); - } - copy_string = strcpy(copy_string, out_string); - print_table_add(copy_string); - } - - newline = strrchr(out_string, '\n'); - if (newline) { - newline[0] = '\0'; - } - strcat(out_string, " = "); - if(KEYWORD_EPOCH){ - strcat(out_string, KEYWORD_EPOCH); - strcat(out_string, ":"); - } - if(KEYWORD_VERSION){ - strcat(out_string, KEYWORD_VERSION); - } else { - strcat(out_string, KEYWORD_REVISION); - } - strcat(out_string, "\n"); - } - - print_table_add(out_string); - out_string=NULL; - - /* Provide the star version of this class for jhtml - dependencies. This option is deprecated since jhtml is - deprecated. */ - - if (ARG_STARPROV) { - out_string = formatClassName(symbolTable->stringList[class], '\0', 1); - print_table_add(out_string); - } - - return ; -} - - - - - -void freeSymbolTable (symbolTable_t *symbolTable) -{ - int i=0; - - for(i=1; i < symbolTable->poolSize; i++) { - if( symbolTable->stringList[i] ) { - free(symbolTable->stringList[i]); - symbolTable->stringList[i] = 0; - } - } - - free(symbolTable->stringList); - symbolTable->stringList=0; - - free(symbolTable->classRef); - symbolTable->classRef=0; - - free(symbolTable->typeRef); - symbolTable->typeRef=0; - - free(symbolTable); - symbolTable=0; - - return ; -} - - -/* process each file, - must be called directly after finding - the magic number. -*/ - -void processJavaFile (FILE *fileHandle) { - symbolTable_t symbolTable= {0}; - - genSymbolTable(fileHandle, &symbolTable); - findClassName(fileHandle, &symbolTable); - - if(ARG_REQUIRES) { - dumpRequires(&symbolTable); - } - - freeSymbolTable(&symbolTable); - - return ; - -} - - -int -main(int argc, char **argv) -{ - FILE *fileHandle; - int i = 0; - int rc = 0; - int foundMagic=0; - - PROGRAM_NAME=argv[0]; - - if(argv[1] == NULL) { - usage(); - } - - /* parse arguments which are not filenames*/ - - for (i = 1; argv[i] != NULL; i++) { - - if (0) { - /* - First entry a dummy to get the - other entries to align correctly - */ - ; - } else if ( !strcmp("-p",argv[i]) || !strcmp("--provides",argv[i]) ) { - ARG_PROVIDES = 1; - } else if ( !strcmp("-r",argv[i]) || !strcmp("--requires",argv[i]) ) { - ARG_REQUIRES = 1; - } else if ( !strcmp("-h",argv[i]) || !strcmp("--help",argv[i]) || - !strcmp("-?",argv[i]) ) { - - usage(); - } else if ( !strcmp("-F",argv[i]) || !strcmp("--rpmformat",argv[i]) ) { - ARG_RPMFORMAT=1; - } else if ( !strcmp("-k",argv[i]) || !strcmp("--keywords",argv[i]) ) { - ARG_KEYWORDS=1; - } else if ( !strcmp("-s",argv[i]) || !strcmp("--starprov",argv[i]) ) { - ARG_STARPROV=1; - } else if ( !strcmp("--",argv[i]) ) { - i++; - break; - } else { - /* we do not recognize the argument, must be a filename*/ - break; - } - } /*end for arguments which are not filenames*/ - - /* check arguments for consistancy */ - - if ( !ARG_PROVIDES && !ARG_REQUIRES ) { - die ("Must specify either --provides or --requires.\n"); - } - - if ( ARG_PROVIDES && ARG_REQUIRES ) { - die ("Can not specify both --provides and --requires.\n"); - } - - if ( ARG_REQUIRES && ARG_STARPROV) { - die ("Can not specify both --requires and --starpov.\n"); - } - - if(argv[i] == NULL) { - die ("Must specify Java class files.\n"); - } - - /* parse arguments which are filenames. */ - - for ( /*null initializer*/; argv[i] != NULL; i++) { - - /*open the correct file and process it*/ - - if ( !strcmp("-", argv[i]) ) { - /* use stdin, might be a jar file */ - fileHandle = stdin; - FILE_NAME = ""; - - foundMagic = findJavaMagic(fileHandle); - while (foundMagic) { - processJavaFile(fileHandle); - foundMagic = findJavaMagic(fileHandle); - } - } else { - /* Open a disk file*/ - fileHandle = fopen(argv[i], "r"); - if( fileHandle == 0 ) { - die ("Could not open file: %s.\n", argv[i]); - } - fileHandle = fileHandle; - FILE_NAME = argv[i]; - - foundMagic = findJavaMagic(fileHandle); - if (foundMagic) { - processJavaFile(fileHandle); - } - } - - rc = fclose(fileHandle); - if( rc ) { - die ("Could not close file: %s.\n", FILE_NAME); - } - CLASS_NAME=0; - } /*end parsing arguments which are filenames*/ - - print_table_flush(); - return 0; -} diff --git a/scripts/magic.prov b/scripts/magic.prov deleted file mode 100755 index ba3a45c..0000000 --- a/scripts/magic.prov +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/perl - -use File::Basename; -use Getopt::Long; - -# this dependency analysis program is the only one which need to know -# the RPM buildroot to do its work. - -# Figuring out what files are really executables via magic numbers is -# hard. Not only is every '#!' an executable of some type (with a -# potentially infinite supply of interpreters) but there are thousands -# of valid binary magic numbers for old OS's and old CPU types. - -# Permissions do not always help discriminate binaries from the rest -# of the files, on Solaris the shared libraries are marked as -# 'executable'. - -# -rwxr-xr-x 1 bin bin 1013248 Jul 1 1998 /lib/libc.so.1 - -# I would like to let the 'file' command take care of the magic -# numbers for us. Alas! under linux file prints different kind of -# messages for each interpreter, there is no common word 'script' to -# look for. - -# ' perl commands text' -# ' Bourne shell script text' -# ' a /usr/bin/wish -f script text' - -# WORSE on solaris there are entries which say: - -# ' current ar archive, not a dynamic executable or shared object' - -# how do I grep for 'executable' when people put a 'not executable' in -# there? I trim off everything after the first comma (if there is -# one) and if the result has the string 'executable' in it then it may -# be one. - - -# so we must also do some magic number processing ourselves, and be -# satisfied with 'good enough'. - -# I look for files which have atleast one of the executable bits set -# and are either labled 'executable' by the file command (see above -# restriction) OR have a '#!' as their first two characters. - - -$is_mode_executable=oct(111); - -# set a known path - -$ENV{'PATH'}= ( - ':/usr/bin'. - ':/bin'. - ''); - -# taint perl requires we clean up these bad environmental variables. - -delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'}; - -$BUILDROOT = ''; -%option_linkage = ( - "buildroot" => \$BUILDROOT, - ); - -if( !GetOptions (\%option_linkage, "buildroot=s") ) { - die("Illegal options in \@ARGV: '@ARGV'\n"); - -} - -if ($BUILDROOT == '/') { - $BUILDROOT = ''; -} - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - - -foreach $module (sort keys %provides) { - print "executable($module)\n"; -} - -exit 0; - - - - -sub is_file_script { - - my ($file) = @_; - chomp $file; - - my $out = 0; - open(FILE, "<$file")|| - die("$0: Could not open file: '$file' : $!\n"); - - my $rc = sysread(FILE,$line,2); - - if ( ($rc > 1) && ($line =~ m/^\#\!/) ) { - $out = 1; - } - - close(FILE) || - die("$0: Could not close file: '$file' : $!\n"); - - return $out; -} - - - -sub is_file_binary_executable { - my ($file) = @_; - - $file_out=`file $file`; - # trim off any extra descriptions. - $file_out =~ s/\,.*$//; - - my $out = 0; - if ($file_out =~ m/executable/ ) { - $out = 1; - } - return $out; -} - - -sub process_file { - my ($file) = @_; - chomp $file; - - my $prov_name = $file; - $prov_name =~ s!^$BUILDROOT!!; - - # If its a link find the file it points to. Dead links do not - # provide anything. - - while (-l $file) { - my $newfile = readlink($file); - if ($newfile !~ m!^/!) { - $newfile = dirname($file).'/'.$newfile; - } else { - $newfile = $BUILDROOT.$newfile; - } - $file = $newfile; - } - - (-f $file) || return ; - ( (stat($file))[2] & $is_mode_executable ) || return ; - - is_file_script($file) || - is_file_binary_executable($file) || - return ; - - $provides{$prov_name}=1; - $provides{basename($prov_name)}=1; - - return ; -} diff --git a/scripts/magic.req b/scripts/magic.req deleted file mode 100755 index e325328..0000000 --- a/scripts/magic.req +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/perl - -# Given a list of filenames on the command line or on stdin this -# script returns the interpreter that is required to run the -# filenames. Usually this is extracted from the #! line of the file -# but we also handle the various 'exec' tricks that people use to -# start the interpreter via an intermediate shell. - -# Also we want to convert: -# /usr/local/bin/perl5.00404 -# /usr/local/bin/tclsh8.0 -# into dependencies with RPM version numbers. - - - - - -# These have all been seen on our system or are "recommended" in -# various man pages. - -# Examples: - -# #!/bin/sh -# # the next line restarts using wish \ -# exec wish "$0" "$@" - - -# #!/bin/sh -- # -*- perl -*- -p -# eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}' -# if $running_under_some_shell; - - -# #!/bin/sh -- # -*- perl -*- -p -# eval '(exit $?0)' && eval 'exec /usr/bin/perl -wS $0 ${1+"$@"}' - - -# #!/bin/sh -- # -*- perl -*- -p -# & eval 'exec /usr/bin/perl -wS $0 $argv:q' -# if $running_under_some_shell; - - -# #! /usr/bin/env python - - -use File::Basename; - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - - -foreach $prog (sort keys %require) { - - - # ignore variable interpolation and any program whose name is made - # up only of non word characters ('<', '&&', etc). - - ( ( $prog != /\$/ ) || ( $prog =~ /^\W+$/ ) ) && - next; - - # filenames of the form './miniperl' will be reported in canonical - # manner 'miniperl' - - $prog =~ s!^\./!!; - - if ( $prog !~ /\$/ ) { - print "exectuable($prog)\n"; - } - - $prog=basename($prog); - - if ( $prog !~ /\$/ ) { - print "exectuable($prog)\n"; - - # get the correct version dependencies for magic numbers like: - # /usr/local/bin/perl5.00404 - # /usr/local/bin/tclsh8.0 - # these are always PACKAGE versions since typical executables do not - # have versions - - my $version = ""; - if ($module =~ s/([.0-9]+)$//) { - $version = "$1"; - print "$prog>=$version\n"; - } - - } - -} - -exit 0; - - -sub process_file { - - my ($file) = @_; - chomp $file; - - my ($version, $magic) = (); - - (-f $file) || return ; - - open(FILE, "<$file")|| - die("$0: Could not open file: '$file' : $!\n"); - - my $rc = sysread(FILE,$line,1000); - - $rc =~ s/\#.*\n//g; - - # Ignore all parameter substitution. - # I have no hope of parsing something like: - # exec ${SHELL:-/bin/sh} - $rc =~ s/\$\{.*\}//g; - $rc =~ s/echo\s+.*[\n;]//g; - - if ( ($rc > 1) && ($line =~ m/^\#\!\s*/) ) { - - if ($line =~ m/\b(exec|env)\s+([\'\"\`\\]+)?([^ \t\n\r]+)/) { - $require{$3} = 1; - } - - # strip off extra lines and any arguments - if ($line =~ m/^\#\!\s*([^ \t\n\r]+)/) { - $require{$1} = 1; - } - - } - - close(FILE) || - die("$0: Could not close file: '$file' : $!\n"); - - return ; -} diff --git a/scripts/perl.prov b/scripts/perl.prov deleted file mode 100755 index 49c1322..0000000 --- a/scripts/perl.prov +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/perl - -use Safe; -use strict; - -# list of provides -my %prov; - -# fake paths should take precedence -local $_ = $ENV{RPM_PERL_LIB_PATH}; -my @inc = map { "$ENV{RPM_BUILD_ROOT}$_" } split, @INC; - -# begin -process_file($_) foreach @ARGV ? @ARGV : <>; - -sub process_file { - my $fname = shift; - chomp $fname; - return unless $fname; - -# check if we match any prefix -# and take the longest... - my ($prefix) = sort { length($b) <=> length($a) } - grep { index($fname, $_) == 0 } @inc; - return unless $prefix; - my $basename = substr $fname, length $prefix; - $basename =~ s/^\///; - return unless $basename; - -# provide *.p[lh] - if ($fname =~ /\.p[lh]$/) { - $prov{$basename} = undef; - return; -# only *.pm left - } elsif ($basename =~ /\.pm$/) { - $prov{$basename} = undef; - } else { - return; - } -# process *.pm - my $in_package; - my $re_mod = qr/\b(?!\d)\w+(?:::(?!\d)\w+)*/; - my $re_ver = qr/\bv?[0-9]+(?:\.[0-9]+(?:_[0-9]+)?)*\b/; - open(FILE, '<', $fname) || die; - while () { - /^=\w/ .. /^=cut/ and next; - /^__(DATA|END)__$/ and last; -# look for 'package' declaration that matches filename - if (/^\s*package\s+($re_mod)\s*;/) { - if ($basename eq package_filename($1)) { - $in_package = $1; - } else { - undef $in_package; - } -# look for $VERSION - } elsif ($in_package && m/\$(?:$in_package\::)?VERSION\s*=.*\d/) { - $prov{$basename} = extract_version($_); - last; - } - } - close FILE; -} - -# end -while (my ($k, $v) = each %prov) { - if ($v) { - print "perl($k) = $v\n"; -# provide an additional epoch 0 version converted using Perl's rules - print "perl($k) = 0:" . old_version($1) . "\n" - if $v =~ /^1:(.+)/; - } else { - print "perl($k)\n"; - } -} - -sub old_version { - local $_ = shift; - my $fpver = 0; - my $ratio = 1; - my @series = split(/\./, $1); - for (@series) { - $fpver += $_ * $ratio; - $ratio *= 0.001; - } - my $fdigits = $#series * 3; - return sprintf "%.${fdigits}f", $fpver; -} - -# XXX Mhz code? -sub extract_version { - my $line = shift; -# Try to evaluate the assignment to get the value of $VERSION. -# It is usually computed without using data external to the expression, -# so we would have no problems. - -# local $SIG{__WARN__} = sub { }; - - my $safe = new Safe; - $safe->permit_only(qw(:base_core :base_mem :base_orig entereval - grepstart grepwhile mapstart mapwhile)); - my $version = $safe->reval("$line"); - return undef if $@ || length($version) == 0; - - if ($version =~ s/^\s*(\d[\d_]*(\.[\d_]*)?|\.[\d_]+)/$1/) { -# plain old numeric version - return '0:' . $version; - } else { -# Supposedly, a new style version evaluated as a string constant. -# Return an epoch 1 version - return sprintf "1:%vd", $version; - } -} - -# copy-pasted from perl.req -sub package_filename { - my $package = shift; - $package =~ s/::/\//g; - return $package . '.pm'; -} diff --git a/scripts/perl.req b/scripts/perl.req deleted file mode 100755 index 801e428..0000000 --- a/scripts/perl.req +++ /dev/null @@ -1,366 +0,0 @@ -#!/usr/bin/perl - -=head1 NAME - -perl.req - calculate the requirements for Perl sources - -=head1 SYNOPSIS - -B --method=normal /path/to/Module.pm - -echo /path/to/Module.pm | RPM_PERL_REQ_METHOD=normal B - -=head1 DESCRIPTION - -This Perl script is intended for automatic detection of modules the given Perl -code depends on. It looks for common C, C and C statements -and extracts module and version requirements for RPM C clause. - -Unlike earlier versions, this script uses B::Deparse (Perl compiler backend, -see C) to re-format Perl code. This makes dependency -extraction more accurate and simple, but this also has some tremendous -implication: all Perl code should pass C syntax check, since the -compile stage (see C) happens for all the code that gets -deparsed. This is a very strong requirement, but as we talk about packaging -quality, this is considered good. - -=head2 Invocation - -=head2 Dependencies - -For old-style perl libraries and C<*.ph> files, depndencies look like this: - - perl(library.pl) - perl(header.ph) - -And for Perl5 modules like this: - - perl(Some/Module.pm) - -The latter differs from the original RedHat RPM style, in which module -dependencies look like C. The style was changed long ago, -and I don't know the exact reason why. :) - -=head2 Versioning - -For old-style floating point versioning, versions look like this: - - 0:5.005003 - -And for new v-string style versioning: - - 1:5.8.1 - -Please note that RPM does not understand "decimal dot" in versions, so -sometimes you may need to adjust the percision to fit the version in -C clause. - -=head2 Methods - -The following three modes or "methods" are supported by this script: - -=over - -=item strict - -In this mode, C goes straight and tries to extract all the -dependencies that happen to be in the given perl code, including -platform-specific dependencies, conditional ones, etc. This mode is useful for -debugging, but in some cases it can produce too strong/overkill requirements of -your package. - -=item normal - -This mode is recommended for default use. It tries to skip the dependencies -that are too strong by the following criteria: - -=over - -=item file list - -There's a simple file list in this script by which certain files are -ignored. E.g., it will not look in files that match */demos/* or -*/examples/* shell path. - -=item package list - -There's a list of modules to ignore in "normal" mode. They are mostly -OS-specific modules like C or C. Modules that are used very -often (like C) are also ignored in order not to bloat RPM database. - -=item $^O - -Here we also ignore conditional blocks with C<$^O> variable involved (see -C). This kind of code always does some OS-specific trickery -(well, most of the times). - -B - -=item eval - -Statements in C blocks are also ignored, since this is known to be a -common technique to check the module availability safely. - -=back - -=item relaxed - -This mode makes C fail-tolerant and even more relaxed: - -=over - -=item conditional dependencies - -In "relaxed" mode, conditional dependencies (i.e. C and C -statements enclosed in conditional block and this having indentation) are -ignored -- B::Deparse makes it easy! - -=item fail tolerance - -When C cannot deparse the given perl code, it should usually fail. -In turn, RPM should abort the package build process. Unfortunatelly it does -not, which may result in packages with boroken dependencies. Only the latest -releases (starting with rpm-4.0.4-alt21) of ALT RPM aborts the build process -in such cases. - -In "relaxed" mode, C will not fail if the deparse fails. But please -note that some dependencies will be probably missed. - -=back - -=back - -Since there's no default method, you have to specify the one with C<--method> -command line argument. Alternatively, RPM_PERL_REQ_METHOD environement -variable can be used to set the method. ALT RPM sets this variable to "normal" -by default. - -=head1 AUTHOR - -Alexey Tourbin , -based on an earlier version by Ken Estes , -with contributions from Mikhail Zabaluev . - -=head1 COPYING - -This program is intended to be an optional/alternative part of RPM package -manager. You can redistribute it and/or modify it under the same terms as RPM -itself. As of version 4.x, RPM code base is covered with GPL and -(alternatively) LGPL licenses. Any questions regarding the licensing of RPM -should be addressed to Erik Troan and Jeff Johnson . - -=cut - -use 5.8.0; -use Getopt::Long; -use strict; - -GetOptions("debug" => \my $debug, "method=s" => \my $method); -sub debug ($) { - my $msg = shift; - warn "$msg\n" if $debug; - 1; -} -if ($debug) { - require IO::Handle; - STDOUT->autoflush(1); - STDERR->autoflush(1); - debug "debug mode enabled"; -} -$method ||= $ENV{RPM_PERL_REQ_METHOD}; -$method =~ s/\s//g; -$method eq "strict" || $method eq "normal" || $method eq "relaxed" || - die "$0: strict, normal, relaxed methods supported\n"; -debug "method = $method"; - -my @ignore_files = ( - qr(/usr/share/doc/), - qr(/[Dd]emos?/), - qr(/examples?/), - qr(\bVMS\b), -); -my @ignore_reqs = ( - qr(^Makefile\b), -# OS-specific - qr(^machine/ansi\b), - qr(^sys/systeminfo\b), - qr(^vmsish\b), - qr(^MacPerl\b), - qr(^Win32), - qr(\bVMS\b), - qr(^OS2\b), - qr(^Mac\b), - qr(^ExtUtils/XSSymSet\b), - qr(^Convert/EBCDIC\b), -# old names - qr(^Digest/Perl/MD5\b), -# qr(^Pod/PlainText\b), -# wrong names - qr(/\.), - qr(\$), -# so commonly used... just a database junk (guaranteed to be in perl-base) - qr(^strict\.pm$), - qr(^vars\.pm$), - qr(^Exporter\.pm$), - qr(^DynaLoader\.pm$), - qr(^AutoLoader\.pm$), - qr(^Carp\.pm$), -); - -# list of requires -my %req; - -if ($ENV{RPM_BUILD_ROOT} && open REQ, "$ENV{RPM_BUILD_ROOT}/.perl.req") { - while () { - while (s/perl\(([\w:]+)\)>=([\dv._]+)//) { - $2 - and $req{package_filename($1)}{package_version($2)}++ - or $req{package_filename($1)} ||= undef; - } - } - close REQ; - unlink "$ENV{RPM_BUILD_ROOT}/.perl.req"; -} - -# begin -process_file($_) foreach @ARGV ? @ARGV : <>; - -sub process_file { - my $fname = shift; - chomp $fname; - return unless $fname; - if ($method ne "strict") { - foreach my $re (@ignore_files) { - if ($fname =~ $re) { - debug "file: $fname; matches: $re; skip"; - return; - } - } - } - debug "processing $fname"; -# skip "syntax OK" messages -# use Fcntl; -# fcntl(STDERR, F_SETFD, 1) if !$debug && $method eq 'relaxed'; - -# fake paths should take precedence - local $_ = $ENV{RPM_PERL_LIB_PATH}; - my @inc = $ENV{RPM_BUILD_ROOT} - ? map { "-I$ENV{RPM_BUILD_ROOT}$_" } split, @INC - : map { "-I$_" } split; -# deparse - open(PIPE, "-|", $^X, "-t", "-MO=Deparse", @inc, "--", $fname) || die; - while () { - last if /^__(DATA|END)__/; - process_line($_); - } - close(PIPE) or $method ne 'relaxed' and die "$fname: deparse failed.\n"; -} - -# whether we are in BEGIN block -my ($begin, $begin_indent); -# whether we are in eval block -my ($eval, $eval_indent); - -sub process_line { - my $line = shift; - chomp $line; - my $re_mod = qr/\b(?!\d)\w+(?:::(?!\d)\w+)*/; - my $re_fna = qr/\w+(?:\/\w+)*\.p[lmh]/; - my $re_ver = qr/\bv?[0-9]+(?:\.[0-9]+(?:_[0-9]+)?)*\b/; - - if ($begin && $line =~ /^\Q$begin_indent}/) { - debug "exit begin:$.: $line"; - $begin = 0; - } elsif ($eval && $line =~ /^\Q$eval_indent}/) { - debug "exit eval:$.: $line"; - $eval = 0; - } -again: - if ($line =~ /^\s*(?:use|require) ($re_ver)/) { - $req{"perl-base"}{package_version($1, '%.5f')}++; - } elsif ($line =~ /^\s*use ($re_mod) ($re_ver)/) { - $req{package_filename($1)}{package_version($2)}++; - } elsif ($line =~ /^\s*use ($re_mod)/) { - $req{package_filename($1)} ||= undef; - } elsif ($line =~ /^\s*(?:require|do) '($re_fna)'/) { - if ($eval && $method ne "strict") { - debug "skip: $line (eval)"; - } else { - $req{$1} ||= undef; - } - } elsif ($line =~ /^(\s*)require ($re_mod)( if\b| unless\b)?/) { - if ($eval && $method ne "strict") { - debug "skip: $line (eval)"; - } elsif ($begin) { - $req{package_filename($2)} ||= undef; - } elsif ($3 && $method eq "relaxed") { - debug "skip: $line (conditional)"; - } elsif ($1 && $method eq "relaxed") { - debug "skip: $line (indent)"; - } else { - $req{package_filename($2)} ||= undef; - } - } elsif ($line =~ /'?($re_mod)'?->VERSION\(($re_ver)\)/) { - exists $req{package_filename($1)} and - $req{package_filename($1)}{package_version($2)}++; - } - if ($line =~ /^(\s*)sub [\w:]+\b(BEGIN|CHECK|INIT) {$/) { - debug "enter begin:$.: $line"; - $begin = 1; $begin_indent = $1; - } elsif ($line =~ /^(\s*)(.*)\beval {$/) { - debug "enter eval:$.: $line"; - $eval = 1; $eval_indent = $1; - } -} - -sub package_filename { - my $package = shift; - $package =~ s/::/\//g; - return $package . '.pm'; -} - -sub package_version { - my ($version, $fmt) = (@_, '%s'); - $version =~ s/_//g; - if ($version =~ s/^v(?=\d)// || $version =~ /\.\d+\./) { - return "1:$version"; - } else { - $version = sprintf($fmt, $version); - return "0:$version"; - } -} - -# end -req: -foreach my $k (keys %req) { - if ($method ne "strict") { - foreach my $re (@ignore_reqs) { - if ($k =~ $re) { - debug "req: $k; matches: $re; skip"; - delete $req{$k}; - next req; - } - } - } - foreach my $v (ref $req{$k} ? keys %{$req{$k}} : undef) { - if ($k eq "perl-base") { -# too old perl? - if ($method ne "strict" - && ($v =~ /^0:/ && $' lt "5.006" - || $v =~ /^1:/ && $' lt "5.6.0")) { - delete $req{$k}{$v}; - %{$req{$k}} && next; - delete $req{$k}; - next req; - } else { - print "perl-base"; - } - } else { - print "perl($k)"; - } - print " >= $v" if $v; - print "\n"; - } -} -# nothing special? -print "perl-base\n" unless %req; diff --git a/scripts/rpm.daily b/scripts/rpm.daily deleted file mode 100755 index f3ef918..0000000 --- a/scripts/rpm.daily +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -umask 077 -rpm -qa --qf '%{NAME}-%|SERIAL?{%{SERIAL}:}|%{VERSION}-%{RELEASE}.%{ARCH}.rpm\n' 2>&1 | - LC_COLLATE=C sort >/var/log/rpmpkgs diff --git a/scripts/rpm.log b/scripts/rpm.log deleted file mode 100644 index 732c301..0000000 --- a/scripts/rpm.log +++ /dev/null @@ -1,5 +0,0 @@ -/var/log/rpmpkgs { - weekly - notifempty - missingok -} diff --git a/scripts/rpm.xinetd b/scripts/rpm.xinetd deleted file mode 100644 index 2f59c0d..0000000 --- a/scripts/rpm.xinetd +++ /dev/null @@ -1,16 +0,0 @@ -# This is entirely speculative at the moment, caveat emptor. -service rpmdb -{ - disable = yes - type = RPC - rpc_number = 351457 - rpc_version = 1-1 - protocol = tcp - socket_type = stream - wait = no - user = rpm - group = rpm - instances = 1 - server = /usr/bin/berkeley_db_svc - server_args = -h /var/lib/rpm -} diff --git a/scripts/rpmdiff b/scripts/rpmdiff deleted file mode 100644 index b8d1c32..0000000 --- a/scripts/rpmdiff +++ /dev/null @@ -1,903 +0,0 @@ -#!/usr/bin/perl - -# RPM (and it's source code) is covered under two separate licenses. - -# The entire code base may be distributed under the terms of the GNU -# General Public License (GPL), which appears immediately below. -# Alternatively, all of the source code in the lib subdirectory of the -# RPM source code distribution as well as any code derived from that -# code may instead be distributed under the GNU Library General Public -# License (LGPL), at the choice of the distributor. The complete text -# of the LGPL appears at the bottom of this file. - -# This alternatively is allowed to enable applications to be linked -# against the RPM library (commonly called librpm) without forcing -# such applications to be distributed under the GPL. - -# Any questions regarding the licensing of RPM should be addressed to -# Erik Troan . - - -# rpmdiff - a program for comparing two rpm files for differences. -# Written by Ken Estes, Mail.com. - -use Getopt::Long; - -# much of this code comes from reading the book -# "Maximum RPM" by Edward C. Bailey - - -sub usage { - - my $args = "[--".join("] [--", @ARGS)."]"; - my @default_args = map $RPMTAG->{$_}->{'arg'}, @DEFAULT_CMP; - my $default_args = "--".join(" --", @default_args).""; - - my $usage =< { - 'tag_name' => 'NAME', - }, - 1001 => { - 'tag_name' => 'VERSION', - }, - 1002 => { - 'tag_name' => 'RELEASE', - }, - 1006 => { - 'tag_name' => 'BUILDTIME', - }, - 1027 => { - 'tag_name' => 'OLDFILENAMES', - }, - 1028 => { - 'tag_name' => 'FILESIZES', - 'diff_order' => 0, - 'diff_char' => 'S', - 'arg' => 'size', - 'script_cmp' => sub { return (length($_[0]) ne - length($_[1])); }, - }, - 1029 => { - 'tag_name' => 'FILESTATES', - }, - 1030 => { - 'tag_name' => 'FILEMODES', - 'diff_order' => 1, - 'diff_char' => 'M', - 'arg' => 'mode', - }, - 1033 => { - 'tag_name' => 'FILERDEVS', - 'diff_order' => 3, - 'diff_char' => 'D', - 'arg' => 'dev', - }, - 1034 => { - 'tag_name' => 'FILEMTIMES', - 'diff_order' => 7, - 'diff_char' => 'T', - 'arg' => 'mtime', - }, - 1035 => { - 'tag_name' => 'FILEMD5S', - 'diff_order' => 2, - 'diff_char' => '5', - 'arg' => 'md5', - 'script_cmp' => sub{ return ($_[0] ne - $_[1]); }, - }, - 1036 => { - 'tag_name' => 'FILELINKTOS', - 'diff_order' => 4, - 'diff_char' => 'L', - 'arg' => 'link', - }, - 1037 => { - 'tag_name' => 'FILEFLAGS', - }, - 1038 => { - 'tag_name' => 'ROOT', - }, - 1039 => { - 'tag_name' => 'FILEUSERNAME', - 'diff_order' => 5, - 'diff_char' => 'U', - 'arg' => 'user', - }, - 1040 => { - 'tag_name' => 'FILEGROUPNAME', - 'diff_order' => 6, - 'diff_char' => 'G', - 'arg' => 'group', - }, - 1098 => { - 'tag_name' => 'PREFIXES', - }, - 1099 => { - 'tag_name' => 'INSTPREFIXES', - }, - - # support for differences of scripts - - 1023 => { - 'tag_name' => 'PREIN', - 'is_script' => 1, - }, - 1024 => { - 'tag_name' => 'POSTIN', - 'is_script' => 1, - }, - 1025 => { - 'tag_name' => 'PREUN', - 'is_script' => 1, - }, - 1026 => { - 'tag_name' => 'POSTUN', - 'is_script' => 1, - }, - 1079 => { - 'tag_name' => 'VERIFYSCRIPT', - 'is_script' => 1, - }, - 1065 => { - 'tag_name' => 'TRIGGERSCRIPTS', - 'is_script' => 1, - }, - 1091 => { - 'tag_name' => 'VERIFYSCRIPTPROG', - 'is_script' => 1, - }, - 1092 => { - 'tag_name' => 'TRIGGERSCRIPTPROG', - 'is_script' => 1, - }, - - }; - - # by default check these options, which are the "contents" of the - # files. - - @DEFAULT_CMP = ( 1028, 1035, 1036, ); - - - $RPM_FILE_MAGIC = chr(0xed).chr(0xab).chr(0xee).chr(0xdb); - $RPM_HEADER_MAGIC = chr(0x8e).chr(0xad).chr(0xe8); - - # we want the second header block, as the first header is the - # signature block. - - $HEADER_BLOCK_NUM = 2; - - # number of bytes in the file to skip when looking for the first - # header. Actually I think the lead is bigger then this like 96, but - # I am sure this minimum value is correct. - - $LEAD_LENGTH = 66; - - $HEADER_RECORD_SIZE = 16; - - # largest exit code we allow. - - $MAX_EXIT = 250; - - $NUM_DIFFERENCES = 0; - - $RCS_REVISION = ' $Revision$ '; - - # set a known path. - - $ENV{'PATH'}= ( - '/opt/gnu/bin'. - ':/usr/local/bin'. - ':/usr/bin'. - ':/bin'. - ''); - - # taint perl requires we clean up these bad environmental variables. - - delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'}; - - - $VERSION = 'NONE'; - if ( $RCS_REVISION =~ m/([.0-9]+)/ ) { - $VERSION = $1; - } - - return ; -} - - -sub parse_args{ - - my $arg_include = ''; - my $arg_exclude = ''; - my %arg_tags= (); - - my @args_with_bang = (); - my %arg2tag = (); - - # find out what arguments are availible and build some - # data structures to work with them. - - foreach $tag (keys %$RPMTAG ) { - my $arg = $RPMTAG->{$tag}->{'arg'}; - ($arg) || next; - push @ARGS, $arg; - push @ALL_CMP_TAGS, $tag; - push @args_with_bang, "$arg!"; - $arg2tag{$arg}=$tag; - } - - # sort the tags to determine the proper comparison order. - # use the order stored in the RPMTAG table. - # If this code is too confusing, look up - # 'Schwartzian Transform' in perlfaq4 or an advanced perl book. - - @ALL_CMP_TAGS = map { $_->[0] } - sort{ $a->[1] <=> $b->[1] } - map { [ $_, $RPMTAG->{$_}->{'diff_order'} ] } - @ALL_CMP_TAGS; - - $FILES_EQ_STRING = '.' x scalar(@ALL_CMP_TAGS); - - if( !GetOptions("version", "help", "all", "cmpmode!", @args_with_bang) ) { - print("Illegal options in \@ARGV: '@ARGV'\n"); - usage() ; - exit 1 ; - } - - if($opt_version) { - print "$0: Version: $VERSION\n"; - exit 0; - } - - if ($opt_help) { - usage(); - } - - if ($opt_all) { - # all is just an exclude with nothing to exclude - $arg_exclude = 1; - } - - # process each of the arguments derived from the $RPMTAG hash - - foreach $arg (@ARGS) { - my $arg_var = "opt_$arg"; - if (defined($$arg_var)) { - $arg_tags{$arg2tag{$arg}} = 1; - if ($$arg_var) { - $arg_include = 1; - } else { - $arg_exclude = 1; - } - } - } - - ($arg_include) && ($arg_exclude) && - die("$0: Can not mix both include and exclude arguements ". - "on the command line.\n"); - - if ($arg_include) { - # check only the options listed - foreach $tag (keys %arg_tags) { - $CMP_TAGS{$tag} = 1; - } - } elsif ($arg_exclude) { - # check everything but the options listed - foreach $tag (@ALL_CMP_TAGS) { - $CMP_TAGS{$tag} = 1; - } - foreach $tag (keys %arg_tags) { - delete $CMP_TAGS{$tag}; - } - } else { - # check the default options - foreach $tag (@DEFAULT_CMP) { - $CMP_TAGS{$tag} = 1; - } - } - - ($#ARGV == 1) || - die("$0: Argument list must include two file names\n"); - - $RPMFILE0 = $ARGV[0]; - $RPMFILE1 = $ARGV[1]; - - ( !(-f $RPMFILE0) || !(-r $RPMFILE0) ) && - die("$0: '$RPMFILE0' is not a readable file\n"); - - ( !(-f $RPMFILE1) || !(-r $RPMFILE1) ) && - die("$0: '$RPMFILE1' is not a readable file\n"); - - $CMP_MODE = ($opt_cmpmode == 1); - - return ; -} - -# read the rpmfile and extract the header information. - -sub parse_rpm_headers { - my ($filename) = @_; - - my $file = ''; - my $out = {}; - - # read whole file into memory - { - open (RPMFILE, "<$filename")|| - die("$0: Could not open: $filename for reading. $!\n"); - - # not needed on unix but lets be very clear - binmode (RPMFILE); - - # slurp whole file - my $old_irs = $/; - undef $/; - - $file = ; - - $/ = $old_irs; - - close(RPMFILE)|| - die("$0: Could not close: $filename. $!\n"); - - $file =~ m/^$RPM_FILE_MAGIC/ || - die("$0: file: $filename is not an RPM file. ". - "No magic number found.\n"); - } - - # we want the second header block, as the first header is the - # signature block. - - my ($header_start, $store_start) = ($LEAD_LENGTH,0); - my ($_version, $_reserved, $num_header_entries, $num_store_bytes) = (); - - foreach $i (1 .. $HEADER_BLOCK_NUM) { - - # find beginning of header, - $header_start = index($file, $RPM_HEADER_MAGIC, $header_start); - ($header_start < 0) && - die("$0: file: $filename is not an RPM file. ". - "No: $i, header found.\n"); - - $header_start += length($RPM_HEADER_MAGIC); - - ($_version, $_reserved, $num_header_entries, $num_store_bytes) = - unpack("CNNN", substr($file, $header_start, 1+(4*3))); - $header_start += 1+(4*3); - - # find beginning of store - $store_start = $header_start + - ($num_header_entries * $HEADER_RECORD_SIZE); - - ( ($store_start + $num_store_bytes) < length($file) ) || - die("$0: File Parse Error, file: $filename, ". - "is not long enough to hold store.\n"); - } - - # the header is just a list of information about data. - # the data is stored in the store futher down the file. - my $header_position = $header_start; - foreach $i (0 .. $num_header_entries-1) { - - my ($tag, $data_type, $offset, $data_count) = - unpack("N4", substr($file, $header_position, $HEADER_RECORD_SIZE)); - $header_position += $HEADER_RECORD_SIZE; - - ( - ( ($tag < 100) || ($tag > 1200) ) || - ( ($data_type < 0) || ($data_type > 10) ) || - ($offset < 0) - ) && die("$0: Error parsing header in rpm file: $filename, ". - "record number: $i.\n"); - - # we are only interested in the tags which are defined - $RPMTAG->{$tag} || next; - - foreach $j (0 .. $data_count-1) { - my $value =''; - if (0) { - # dummy for aliging the code like a case statement - } elsif ($data_type == 0) { - # null - $value = ''; - } elsif ($data_type == 1) { - # char - $value = substr($file, $store_start+$offset, 1); - $offset += 1; - } elsif ($data_type == 2) { - # int8 - $value = ord(substr($file, $store_start+$offset, 1)); - $offset += 1; - } elsif ($data_type == 3) { - # int16 - $value = unpack("n", substr($file, $store_start+$offset, 2)); - $offset += 2; - } elsif ($data_type == 4) { - # int32 - $value = unpack("N", substr($file, $store_start+$offset, 4)); - $offset += 4; - } elsif ($data_type == 5) { - # int64 - # ---- These aren't supported by RPM (yet) */ - die("$0: int64 type found in rpm file: $filename, ". - "record number: $i.\n"); - } elsif ($data_type == 6) { - # string - my $null_position = index ($file, "\0", $store_start+$offset); - my $length = $null_position - ($store_start+$offset); - $value = substr($file, $store_start+$offset, $length); - $offset += $length; - } elsif ($data_type == 7) { - # bin - # to properly support this I need to move it outside the $j - # loop. However I do not need it. - die("$0: Bin type found in rpm file: $filename, ". - "record number: $i.\n"); - } elsif ($data_type == 8) { - # string_array - my $null_position = index ($file, "\0", $store_start+$offset); - my $length = $null_position - ($store_start+$offset); - $value = substr($file, $store_start+$offset, $length); - $offset += $length+1 - } elsif ($data_type == 9) { - # this is listed as both RPM_I18NSTRING_TYPE and RPM_MAX_TYPE - # in file ~rpm/lib/header.h but I ignore it - die("$0: I18NSTRING type found in rpm file: $filename, ". - "record number: $i.\n"); - } - - push @{$out->{$tag}}, $value; - if ($RPMTAG->{$tag}->{"tag_name"} eq 'OLDFILENAMES') { - $out->{'name2index'}->{$value} = $j; - } - } # foreach $j - - } # foreach $i - - return $out; -} - - -# traverse the datastructures to create a text representation of the -# critical differences between rpmscripts. If we are running in -# cmpmode and a difference is found exit early. - - -sub format_script_differences { - my ($rpm0, $rpm1) = @_; - - my $out = '';; - my %seen = (); - - foreach $script ( sort (keys %$RPMTAG) ) { - - ($RPMTAG->{$script}->{'is_script'}) || next; - - ($rpm0->{$script} || $rpm1->{$script}) || next; - - my $prefix=''; - - if ( ($rpm0->{$script}) && (!($rpm1->{$script})) ) { - $prefix = 'missing '; - } elsif ( (!($rpm0->{$script})) && ($rpm1->{$script}) ) { - $prefix = 'added '; - } else { - my $diff_str = ''; - foreach $cmp_tag (@ALL_CMP_TAGS) { - if ( !($CMP_TAGS{$cmp_tag}) || - !($RPMTAG->{$cmp_tag}->{'script_cmp'}) ){ - $diff_str .= '.'; - next; - } - - # In the rare case where an tag is defined in one RPM and not - # in another we charitably assume that the RPMs match on this - # tag. There is a warning in the stderr anyway. - - if ( - ($rpm0->{$cmp_tag}) && - ($rpm1->{$cmp_tag}) && - - # use the anonymous comparison function (stored in the - # table) to compare the two scripts - - (&{$RPMTAG->{$cmp_tag}->{'script_cmp'}} - ($rpm0->{$script}->[0], $rpm1->{$script}->[0])) - ) { - $diff_str .= $RPMTAG->{$cmp_tag}->{'diff_char'}; - } else { - $diff_str .= '.'; - } - - } # foreach $tag - if ($diff_str ne $FILES_EQ_STRING) { - $prefix = $diff_str; - } - } - - ($prefix) || next; - - if ($CMP_MODE) { - exit 1; - } - - ($NUM_DIFFERENCES < $MAX_EXIT) && - $NUM_DIFFERENCES++; - - $out .= "$prefix $RPMTAG->{$script}->{'tag_name'}\n"; - - } # foreach $filename - - return $out; -} - - - -# traverse the datastructures to create a text representation of the -# critical differences between file stored in the pacakge. If we are -# running in cmpmode and a difference is found exit early. - - - -sub format_file_differences { - my ($rpm0, $rpm1) = @_; - - my $out = '';; - my %seen = (); - - foreach $filename ( sort ( - (keys %{$rpm0->{'name2index'}}), - (keys %{$rpm1->{'name2index'}}) - ) ) { - - $seen{$filename} && next; - $seen{$filename} = 1; - $index0 = $rpm0->{'name2index'}->{$filename}; - $index1 = $rpm1->{'name2index'}->{$filename}; - - my $prefix=''; - - if ( ($index0) && (!($index1)) ) { - $prefix = 'missing '; - } elsif ( (!($index0)) && ($index1) ) { - $prefix = 'added '; - } else { - my $diff_str = ''; - foreach $cmp_tag (@ALL_CMP_TAGS) { - if (!($CMP_TAGS{$cmp_tag})){ - $diff_str .= '.'; - next; - } - - # In the rare case where an tag is defined in one RPM and not - # in another we charitably assume that the RPMs match on this - # tag. There is a warning in the stderr anyway. - - if ( - ($rpm0->{$cmp_tag}->[$index0]) && - ($rpm1->{$cmp_tag}->[$index1]) && - ($rpm0->{$cmp_tag}->[$index0] ne - $rpm1->{$cmp_tag}->[$index1]) - ) { - $diff_str .= $RPMTAG->{$cmp_tag}->{'diff_char'}; - } else { - $diff_str .= '.'; - } - - } # foreach $tag - if ($diff_str ne $FILES_EQ_STRING) { - $prefix = $diff_str; - } - } - - ($prefix) || next; - - if ($CMP_MODE) { - die 1; - } - - ($NUM_DIFFERENCES < $MAX_EXIT) && - $NUM_DIFFERENCES++; - - # this set of blanks would contain information from the flags, if - # only I was not so lazy - - $out .= "$prefix $filename\n"; - - } # foreach $filename - - return $out; -} - -# warn user of a cmp that was requested can not be carried out due to -# lack of data in the header of atleast one file. - -sub data_missing_warnings { - my ($rpm0, $rpm1) = @_; - - my $out = '';; - - foreach $cmp_tag (@ALL_CMP_TAGS) { - if (!($CMP_TAGS{$cmp_tag})) { - next; - } - - if ( ($CMP_TAGS{$cmp_tag}) && - (!$rpm0->{$cmp_tag}) - ){ - $out .= ("Comparison: '$RPMTAG->{$cmp_tag}->{'arg'}' ". - "specified, but data is not availible in ". - "rpm: $RPMFILE0.\n"); - } - if ( ($CMP_TAGS{$cmp_tag}) && - (!$rpm1->{$cmp_tag}) - ){ - $out .= ("Comparison: '$RPMTAG->{$cmp_tag}->{'arg'}' ". - "specified, but data is not availible in ". - "rpm: $RPMFILE1.\n"); - } - } - return $out; -} - - - - -# -------------- main -------------- -{ - set_static_vars(); - parse_args(); - $RPM0 = parse_rpm_headers($RPMFILE0); - $RPM1 = parse_rpm_headers($RPMFILE1); - - my $warnings = data_missing_warnings($RPM0, $RPM1); - - # we must print warnings before running diff as we may exit early. - - ($warnings) && - warn($warnings); - - my $header = "oldpkg $RPMFILE0\n"."newpkg $RPMFILE1\n"."\n\n"; - my $script_diffs = format_script_differences($RPM0, $RPM1); - my $file_diffs = format_file_differences($RPM0, $RPM1); - - ($script_diffs || $file_diffs) && - print $header, $script_diffs, $file_diffs; - - exit $NUM_DIFFERENCES; -} diff --git a/scripts/rpmdiff.cgi b/scripts/rpmdiff.cgi deleted file mode 100644 index 7f9958b..0000000 --- a/scripts/rpmdiff.cgi +++ /dev/null @@ -1,590 +0,0 @@ -#!/usr/bin/perl - -# a web interface to 'cvs rdiff'. This script makes it easy to query -# the tags which are created by the build script. - - -use CGI ':standard'; -use File::Basename; -use File::stat; -use Data::Dumper; - -# the big datastructures are: - -# $RPM_FILE_BY_FQN{$fqn} is the full path rpm wich is discribed by the fqn - -# keys %SORTED_RECENT_FQN is the set of all package names - -# $SORTED_RECENT_FQN{$name} is an ordered list of the most recent -# versions of this package - -# for a short time there are these datastrutures but they are large -# and expensive to save to disk. - - -# An rpm_package is a hash of: -# $package{'fqn'}="perl-5.00502-3" -# $package{'rpm_file'}="$RPMS_DIR/". -# "./sparc/perl-5.00502-3.solaris2.6-sparc.rpm" -# $package{'srpm_file'}="$SRPMS_DIR/". -# "./perl-5.00502-3.src.rpm" -# $package{'name'}="perl" -# $package{'version'}="5.00502" -# $package{'release'}="3" - -# fqn is "fully qualified name" - -# while the $pkg structure exists we find the pkg we want by looking -# it up in this structure. This will hold many more packages then the -# web page ever knows about. -# $BY_NAME{$name}{$version}{$release}; - - -sub usage { - - # If they are asking for help then they are clueless so reset all - # their parameters for them, in case they are in a bad state. - - param(-name=>'Defaults', -value=>'on'); - my $rpmdiff_version = `rpmdiff --version`; - - $usage =<. - -EOF - - print pre($footer_info); - - print "This page generated with data cached at: $CACHE_LOCALTIME\n",p(), - "The time is now: $LOCALTIME\n",p(), - submit(-name=>"Flush Cache"),p(), - submit(-name=>"Help Screen"),p(); - - print end_form; - - return ; -} - - - -sub print_diff { - my($oldpkg_file, $newpkg_file, @args) = @_; - - my $cmd = "rpmdiff @args $oldpkg_file $newpkg_file 2>&1"; - - my $result = "\n".qx{$cmd}."\n"; - print pre($result); - - return ; -} - - -# Main -{ - - set_static_vars(); - get_env(); - - parse_package_names(); - - my @picked_rpmdiff_args = param("rpmdiff arguments"); - @picked_rpmdiff_args = split(/\s+/, - '--'.(join(" --", @picked_rpmdiff_args))); - push @picked_rpmdiff_args, '--'; - - foreach $name (sort keys %SORTED_RECENT_FQN) { - - if ( (param("old$name")) && (param("old$name") ne "(none)") ) { - push @picked_oldpkg, param("old$name"); - } - - if ( (param("new$name")) && (param("new$name") ne "(none)") ) { - push @picked_newpkg, param("new$name"); - } - - } - - print (header. - start_html(-title=>'rpmdiff'), - h2("rpmdiff")); - - if (param("Help Screen")) { - - usage(); - - } elsif ( grep {/^(\-\-)((help)|(version))$/} @picked_rpmdiff_args ) { - - print_diff( - '/dev/null', - '/dev/null', - @picked_rpmdiff_args, - ); - - } elsif ( - ($#picked_oldpkg == 0) && - ($#picked_newpkg == 0) - ) { - - print_diff( - $RPM_FILE_BY_FQN{$picked_oldpkg[0]}, - $RPM_FILE_BY_FQN{$picked_newpkg[0]}, - @picked_rpmdiff_args, - ); - - } else { - - print_pkg_picklists(); - - print end_html; - print "\n\n\n"; - } - -} - diff --git a/scripts/sql.prov b/scripts/sql.prov deleted file mode 100755 index 5d2b318..0000000 --- a/scripts/sql.prov +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/perl - -# RPM and it's source code are covered under two separate licenses. - -# The entire code base may be distributed under the terms of the GNU -# General Public License (GPL), which appears immediately below. -# Alternatively, all of the source code in the lib subdirectory of the -# RPM source code distribution as well as any code derived from that -# code may instead be distributed under the GNU Library General Public -# License (LGPL), at the choice of the distributor. The complete text -# of the LGPL appears at the bottom of this file. - -# This alternatively is allowed to enable applications to be linked -# against the RPM library (commonly called librpm) without forcing -# such applications to be distributed under the GPL. - -# Any questions regarding the licensing of RPM should be addressed to -# marc@redhat.com and ewt@redhat.com. - - -# sql.prov - a simple script to print the proper name for sql from -# both the sepecification and body files. - - -# by Ken Estes Mail.com kestes@staff.mail.com - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - - - -foreach $module (sort keys %require) { - print "sql($module)\n"; -} - -exit 0; - - - -sub process_file { - - my ($filename) = @_; - chomp $filename; - - open(FILE, "<$filename")|| - die("$0: Could not open file: '$filename' : $!\n"); - - my ($package, $version) = (); - - my (@file) = ; - - my ($file) = "@file"; - - close(FILE)|| - die("$0: Could not close file: '$file' : $!\n"); - - # skip the comments - - $file =~ s!/\*(.*?)\*/!!gs; - $file =~ s!\s*--(.*?)\n!\n!gm; - - @file = split(/\n/, $file); - - foreach (@file) { - - # remove strings - - s!\'[^\']*\'!!g; - - - # not everyone puts the package name of the file as the first - # package name so we report all namespaces as if they were - # provided packages (really ugly). - - if (m/\bpackage\s+(body\s*)?(\S+)\s+[ia]s/i) { - $package=$2; - $package=lc($package); - $require{$package}=1; - } - - if (m/((procedure)|(function))\s+(\S+)\s*\(/i) { - my $func = $4; - $func = lc($func); - if ($package) { - $require{"$package.$func"}=1; - } else { - $require{$func}=1; - } - } - - # Each keyword can appear multiple times. Don't - # bother with datastructures to store these strings, - # if we need to print it print it now. - - if ( m/^\s*\$RPM_Provides\s*:=\s*["'](.*)['"]/i) { - foreach $_ (spit(/\s+/, $1)) { - print "$_\n"; - } - } - - } - - return ; -} diff --git a/scripts/sql.req b/scripts/sql.req deleted file mode 100755 index 24fa972..0000000 --- a/scripts/sql.req +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/perl - -# RPM and it's source code are covered under two separate licenses. - -# The entire code base may be distributed under the terms of the GNU -# General Public License (GPL), which appears immediately below. -# Alternatively, all of the source code in the lib subdirectory of the -# RPM source code distribution as well as any code derived from that -# code may instead be distributed under the GNU Library General Public -# License (LGPL), at the choice of the distributor. The complete text -# of the LGPL appears at the bottom of this file. - -# This alternatively is allowed to enable applications to be linked -# against the RPM library (commonly called librpm) without forcing -# such applications to be distributed under the GPL. - -# Any questions regarding the licensing of RPM should be addressed to -# marc@redhat.com and ewt@redhat.com. - - -# sql.req - a simple script to print the uses of sql functions. - - -# by Ken Estes Mail.com kestes@staff.mail.com - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - - - -foreach $module (sort keys %require) { - print "sql($module)\n"; -} - -exit 0; - - - -sub process_file { - - my ($filename) = @_; - chomp $filename; - - open(FILE, "<$filename")|| - die("$0: Could not open file: '$filename' : $!\n"); - - my ($package, $version) = (); - - my (@file) = ; - - my ($file) = "@file"; - - close(FILE)|| - die("$0: Could not close file: '$file' : $!\n"); - - # skip the comments - - # Suck the whole file in to make removing /* */ (multiple lines - # comments) comments easier - - $file =~ s!/\*(.*?)\*/!!gs; - $file =~ s!^\s*--(.*?)\n!\n!gm; - - @file = split(/\n/, $file); - - foreach (@file) { - - # remove strings - - s!\'[^\']*\'!!g; - - - # we are interested in function names which have a dot in them and - # are followed by an open parenthesis - - foreach ( m/([a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)\s*\(/ ) { - my $func = $_; - $func=lc($func); - $func =~ m/\.\./ && - next; - $require{$func}=1; - } - - # Each keyword can appear multiple times. Don't - # bother with datastructures to store these strings, - # if we need to print it print it now. - - if ( m/^\s*\$RPM_Provides\s*:=\s*["'](.*)['"]/i) { - foreach $_ (spit(/\s+/, $1)) { - print "$_\n"; - } - } - - } - - return ; -} diff --git a/scripts/tcl.req b/scripts/tcl.req deleted file mode 100644 index cc69b22..0000000 --- a/scripts/tcl.req +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/perl - -# tcl.req - a simple makedepends like script for tcl. - -# I plan to rewrite this in C so that perl is not required by RPM at -# build time. - -# by Ken Estes Mail.com kestes@staff.mail.com - -use File::Basename; - -if ("@ARGV") { - foreach (@ARGV) { - process_file($_); - } -} else { - - # notice we are passed a list of filenames NOT as common in unix the - # contents of the file. - - foreach (<>) { - process_file($_); - } -} - - -foreach $module (sort keys %require) { - print "tcl($module)\n"; -} - -exit 0; - - - -sub process_file { - - my ($file) = @_; - chomp $file; - - open(FILE, "<$file")|| - die("$0: Could not open file: '$file' : $!\n"); - - while () { - - # Each keyword can appear multiple times. Don't - # bother with datastructures to store these strings, - # if we need to print it print it now. - - if ( m/^\s*\$RPM_Requires\s*=\s*["'](.*)['"]/i) { - foreach $_ (spit(/\s+/, $1)) { - print "$_\n"; - } - } - - s/\#.*//; - - # Each keyword can appear multiple times. Don't - # bother with datastructures to store these strings, - # if we need to print it print it now. - - if ( m/^\s*\$RPM_Requires\s*=\s*["'](.*)['"]/i) { - print "$_\n" - foreach split /\s+/, $1; - } - - -# we wish to capture these source statements: - -# source "$PATH/lib/util.tcl" -# source "comconf.tcl" -# if {[catch {source $env(CONTROL_PANEL_LIB_DIR)/bindings.tcl}] != 0} { - - # quick check to see if the complex regexps could possibly match. - # This should speed things up. - - (m/source/) || next; - - # note we include parethesis and '$' and '\' in the pattern - if ( m!source\s+(['"])?([0-9A-Za-z/._\-\\\(\)\$]+)! ) { - - my ($module) = $2; - - # If there is some interpolation of variables, - # see if taking the basename will give us the filename. - - ($module =~ m/\$/) && - ($module = basename($module)); - - ($module =~ m/\$/) || - ($require{$module}=1); - } - } - - close(FILE)|| - die("$0: Could not close file: '$file' : $!\n"); - - return ; -} diff --git a/scripts/trpm b/scripts/trpm deleted file mode 100755 index 4cba02b..0000000 --- a/scripts/trpm +++ /dev/null @@ -1,265 +0,0 @@ -#!/bin/sh - -dbg= # echo - -rpm=/bin/rpm -#rpmi=mrpm -rpmi=/bin/rpm -#rpmi="strace -o xxx /bin/rpm" -rpmb=/usr/bin/rpmbuild -rpmq=/usr/bin/rpmquery -rpmdb=/usr/bin/rpmdb - -#rpm=/X/src/rpm402/rpm -#rpmb=/X/src/rpm402/rpmb -#rpmq=/X/src/rpm402/rpmq -#rpmdb=/X/src/rpm402/rpmdb - -#rpm=/X/src/rpm307/rpm -#rpmb=$rpm -#rpmq=$rpm -#rpmdb=$rpm - -dist=7.0 -type=min -arch=`$rpm --eval '%{_arch}'` - -top=`pwd` -root=$top/$dist -sudo=sudo -justdb="--justdb --noscripts --notriggers --ignoresize" -dmopts="-l dmalloc.log -i 100 low" -db1= -rc="--rcfile $top/rpmrc-$dist" -sorted= # "| sort" - -min0glob=" -basesystem- -bash-[12] -filesystem- -glibc-common- -glibc-2 -ldconfig- -libtermcap-2 -mktemp- -setup- -termcap- -" - -min1glob=" -$min0glob -bzip2-[01] -bzip2-libs- -chkconfig- -db1-1 -db2-2 -db3-3 -dev- -diffutils- -e2fsprogs-1 -fileutils- -findutils- -gawk- -gdb- -gdbm-1 -grep- -gzip- -info- -mount- -ncurses-[45] -procps-2 -psmisc- -sed- -shadow-utils- -readline-[24] -rmt- -tar- -textutils- -vim-common- -vim-minimal- -zlib-1 -" - -min2glob=" -$min1glob -cpio- -cracklib- -glib-1 -logrotate- -mingetty- -popt- -pwdb- -slang-[01] -which- -words- -" - -baseglob=" -$min2glob -ash- -console-tools- -gmp-[23] -initscripts- -iputils- -iproute- -kernel-2 -losetup- -mkinitrd- -modutils- -pam-0 -pamconfig- -sh-utils- -sysklogd- -util-linux- -vixie-cron- -rpm-[34] -rpm-devel-[34] -sash- -SysVinit- -" - -develglob=" -$baseglob -bzip2-devel- -db1-devel- -db2-devel- -db3-devel- -gdbm-devel- -glibc-devel- -gmp-devel- -kernel-headers- -ncurses-devel- -readline-devel-[24] -tcl- -zlib-devel- -" - -buildglob=" -$develglob -autoconf- -automake- -bash2- -binutils- -cpp- -cvs- -db3-utils- -egcs-1 -egcs-c++-1 -gcc-2 -gcc-c++-2 -gettext- -krb5-configs- -krb5-libs- -libstdc++- -libtool- -make- -m4- -openssl-0 -patch- -perl-5 -python-1 -rpm-build- -tcsh- -" -classes="min0 min1 min2 base devel build" -notallpat="(kernel-[^2h])" - -for cmd in $* -do - [ $# -eq 0 ] && break - shift - echo "******** args: $*" - echo "=======> start $cmd `date`" - case $cmd in - debug) dbg=echo ;; - dmalloc) eval `dmalloc -b $dmopts` ;; - db1) db1="--define '%_dbapi 1'" ;; - 5.2|6.2|7.0|7.1|7.2) - dist=$cmd - root=$top/$dist - rc="--rcfile $top/rpmrc-$dist $db1" - $dbg mkdir -p $root/{dev,X/RPMS,X/SRPMS} - [ -c $root/dev/null ] || $dbg $sudo mknod $root/dev/null c 1 3 - [ -f $top/rpmrc-$dist ] || cat << EOF > $top/rpmrc-$dist -include: /usr/lib/rpm/rpmrc -macrofiles: /usr/lib/rpm/macros:/usr/lib/rpm/%{_target}/macros:$top/macros:$top/macros-$dist-$arch -EOF - [ -f $top/macros-$dist-$arch ] || cat << EOF > $top/macros-$dist-$arch -%_topdir $root/X -EOF - ;; - config) - [ -f $top/macros ] || cat << EOF > $top/macros -%_ntopdir %{_topdir}/%{name}-%{version}-%{release} -%_builddir %{_ntopdir} -%_sourcedir %{_ntopdir} -%_specdir %{_ntopdir} -%_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm -%_rpmdir %{_topdir}/RPMS -%_srcrpmdir %{_topdir}/SRPMS -%_tmppath %{_topdir}/tmp -EOF - ;; - manifest) - rm -f *-$dist-$arch - pkgs="/$dist/$arch" - ls -1 ${pkgs}/*.rpm | egrep "(noarch|$arch).rpm" > list-$dist-$arch - cat list-$dist-$arch | egrep -v $notallpat > all-$dist-$arch - $dbg $rpmq $rc -qp --qf "/$dist/SRPMS/%{sourcerpm}\\n" \ -`cat all-$dist-$arch` | sort | uniq > all-$dist-$arch-srpms - for l in $classes ; do - glv='$'${l}glob - glist="`eval echo $glv`" - for g in $glist ; do - ls -1 ${pkgs}/${g}*.rpm 2> /dev/null - done | egrep "(noarch|$arch).rpm" $sorted > $l-$dist-$arch - $dbg $rpmq $rc -qp --qf "/$dist/SRPMS/%{sourcerpm}\\n" \ -`cat $l-$dist-$arch` | sort | uniq > $l-$dist-$arch-srpms - done - ;; - clean) - $dbg rm -f $top/{rpmrc-$dist,macros-$dist-$arch,macros} - $dbg $sudo mv $root ${root}-$$ && $dbg $sudo rm -rf ${root}-$$ - ;; - --rebuild) - for srpm in `cat $type-$dist-$arch-srpms` ; do - $dbg $rpmb $rc $cmd $srpm - done - ;; - --initdb) - $dbg $sudo mkdir -p $root/var/lib/rpm - $dbg $sudo $rpmdb $rc --root $root --initdb - ;; - --savedb) - ( $dbg cd $root/var/lib && $dbg $sudo tar czvf rpmdb.tar.gz rpm ; ) - ;; - --rebuilddb) - $dbg $sudo $rpmdb $rc --root $root --rebuilddb -vv - ;; - --justdb) - [ -f $type-$dist-$arch ] || { - echo $type-$dist-$arch not found - exit 1 - } - $dbg $sudo $rpmi $rc --root $root -Uv $justdb `cat $type-$dist-$arch` - ;; - -U*|-F*) - [ -f $type-$dist-$arch ] || { - echo $type-$dist-$arch not found - exit 1 - } - $dbg $sudo $rpmi $rc --root $root $cmd $* `cat $type-$dist-$arch` - set "" - ;; - -[Vqei]*|--showrc) - $dbg $sudo $rpm $rc --root $root $cmd - ;; - chroot) - $dbg $sudo touch $root/etc/mtab - $dbg $sudo cp /etc/resolv.conf /etc/fstab $root/etc - $dbg $sudo env HOME=/root chroot $root - ;; - *) type=$cmd ;; - esac -done -echo "=======> finish `date`" diff --git a/scripts/u_pkg.sh b/scripts/u_pkg.sh deleted file mode 100755 index 7e5687b..0000000 --- a/scripts/u_pkg.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh - -# a universal interface to Unix OS package managment systems - -# This script is not finished. It is a bunch of ideas for creating a -# universal package manager using the OS package manager. I wish to -# only use tools which are installed in the OS by default and be -# portable to all OS package managers. - - -PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/bsd:$PATH" -export PATH - - - -osname=`uname -s` -if test $? -ne 0 || test X$osname = X ; then - echo "I can't determine what platform this is. Exiting" - exit 1 -fi - - -# -# Set OS dependent defaults -# - -# note: that the "package name" which are returned by this script -# should always include the version and release number. - -case $osname in - Linux) - check_all_packages='rpm -Va' - list_all_packages='rpm -qa' - list_all_files='rpm -qla' - list_all_files_in_package='rpm -ql $1' - full_package_name='rpm -q $1' - query_file='rpm -qf $1' - ;; - SunOS) - check_all_packages='/usr/sbin/pkgchk -n' - list_all_files='/usr/sbin/pkgchk -l | /bin/egrep Pathname | /bin/awk "{print \$2}" ' - list_all_files_in_package='/usr/sbin/pkgchk -l $1 | /bin/egrep Pathname | /bin/awk "{print \$2}" ' - list_all_packages='/usr/bin/pkginfo -x | /bin/sed -e "/^[a-zA-Z]/ { N; /^\\n\$/d; s/ .*$//; }" ' - package_version='/usr/bin/pkginfo -x $1 | egrep -v "^[a-zA-Z]" | sed -e "s/(.*)//; s/\ \ *//" ' - query_file='/usr/sbin/pkgchk -l -p $1 | /bin/egrep -v "^[a-zA-Z]" | xargs /usr/bin/pkginfo -x | /bin/sed -e "/^[a-zA-Z]/ { N; /^\\n\$/d; s/\ .*\\n.*//; }" ' - ;; - OSF1) - ;; - HP-UX) - ;; - AIX) - ;; - IRIX|IRIX64) - ;; - *) - echo "I haven't been configured yet to work on $osname." - echo "email it to rpm-list@redhat.com, so that your OS" - echo "will be supported by some future version of this script." - echo "" - echo "Thanks!" - echo - exit 2 - ;; -esac - - - -option=$1 -shift - -# I would like to have the second $ actually interpolate so I could -# drop the second eval. Anyone know how to do this? - -if [ $option = 'print_cmd' ]; then - option=$1 - shift - eval echo $"$option" - exit 0 -fi - -eval eval $"$option" - - - diff --git a/scripts/vpkg-provides.sh b/scripts/vpkg-provides.sh deleted file mode 100755 index b0fbf18..0000000 --- a/scripts/vpkg-provides.sh +++ /dev/null @@ -1,398 +0,0 @@ -#!/bin/sh - -# -# Original Author: Tim Mooney (mooney@plains.NoDak.edu) -# Improvements by: Ken Estes -# -# This file is distributed under the terms of the GNU General Public License -# - -# vpkg-provides.sh is part of RPM, the Red Hat Package Manager. - -# vpkg-provides.sh searches a list of directories (based on what OS -# it's being executed on) for shared libraries and interpreter files -# that have been installed by some packaging system other than RPM. -# It then generates a spec file that can be used to build a "virtual -# package" that provides all of these things without actually -# installing any files. The spec file in effect tells rpm what it -# needs to know about operating system files which are not under rpm -# control. This makes it much easier to use RPM on non-Linux systems. - -# By default the script also generates a %verifyscript (with hard -# coded $shlib_dirs, $ignore_dirs values) which will check that the -# checksum of each file in the directories searched has not changed -# since the package was built. - -# Comments: This script is a quick hack. A better solution is to use the -# vendor's package management commands to actually query what's installed, and -# build one or more spec files based on that. This is something -# I intend to write, probably in perl, but the need for something like this -# first effort was great, so I didn't want to wait until the better solution -# was done. - -# The complete specfile will be sent to stdout. - -# you will need to create a spec_header for the virtual package. This -# header will provide such specfile information as: -# -# Summary: -# Name: -# Version: -# Release: -# Copyright: -# Group: -# Source: - - -# most of the command line arguments have defaults - -usage="usage: $0 --spec_header '/path/to/os-base-header.spec' \n" -usage="$usage\t[--find_provides '/path/to/find-provides']\n" -usage="$usage\t[--shlib_dirs 'dirs:which:contain:shared:libs']\n" -usage="$usage\t[--ignore_dirs 'egrep|pattern|of|paths|to|ignore']\n" - -# these two should be unnessary as the regular dependency analysis -# should take care of interpreters as well as shared libraries. - -usage="$usage\t[--interp_dirs 'dirs:which:contain:interpreters']\n" -usage="$usage\t[--interps 'files:to:assume:are:installed']\n" -usage="$usage\t[--no_verify]\n" - - -# this command may not be portable to all OS's, does something else -# work? can this be set in the case $osname statement? - -sum_cmd="xargs cksum" - -date=`date` -hostname=`uname -n` - -# if some subdirectories of the system directories needs to be ignored -# (eg /usr/local is a subdirectory of /usr but should not be part of -# the virtual package) then call this script with ignore_dirs set to a -# vaild egrep pattern which discribes the directories to ignored. - -PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/bsd -export PATH - - -# -# The (OS independent) default values. -# -spec_header='/usr/lib/rpm/os-base-header.spec'; -interps="sh:csh:ksh:dtksh:wish:tclsh:perl:awk:gawk:nawk:oawk" -find_provides='/usr/lib/rpm/find-provides'; - - # no file names begin with this character so it is a good default - # for dirs to ignore. - -ignore_dirs="@" - - -osname=`uname -s` -if test $? -ne 0 || test X$osname = X ; then - echo "I can't determine what platform this is. Exiting" - exit 1 -fi - - -# -# Set OS dependent defaults -# -case $osname in - OSF1) - shlib_dirs='/shlib:/usr/shlib:/usr/dt/lib:/usr/opt' - interp_dirs='/bin:/usr/bin:/sbin:/usr/dt/bin:/usr/bin/posix' - ;; - HP-UX) - shlib_dirs='/usr/shlib:/usr/dt/lib:/opt' - shlib_dirs="$shlib_dirs:/usr/bms:/usr/obam:/usr/sam" - interp_dirs='/bin:/usr/bin:/sbin:/usr/dt/bin:/usr/bin/posix' - ;; - AIX) - shlib_dirs='/usr/lib:/usr/ccs/lib:/usr/dt/lib:/usr/lpp:/usr/opt' - interp_dirs='/bin:/usr/bin:/sbin:/usr/dt/bin' - ;; - SunOS) - shlib_dirs='/etc/lib:/etc/vx:/opt:/usr/lib:/usr/ccs/lib:/usr/dt/lib' - shlib_dirs="$shlib_dirs:/usr/4lib:/usr/openwin/lib:/usr/snadm/lib" - shlib_dirs="$shlib_dirs:/usr/ucblib:/usr/xpg4/lib" - interp_dirs='/bin:/usr/bin:/sbin:/usr/dt/bin:/usr/xpg4/bin' - ;; - IRIX|IRIX64) - shlib_dirs='/lib:/usr/lib:/usr/lib32:/usr/lib64' - # Irix always makes me laugh... - shlib_dirs="$shlib_dirs:/usr/ToolTalk:/usr/xfsm:/usr/SpeedShop" - shlib_dirs="$shlib_dirs:/usr/sgitcl:/usr/SGImeeting:/usr/pcp/lib" - shlib_dirs="$shlib_dirs:/usr/Motif-2.1" - interp_dirs='/bin:/usr/bin:/sbin:/usr/sbin:/usr/dt/bin' - ;; - *) - echo "I'm sorry. I haven't been configured yet to work on $osname." - echo "Please poke around your system and try figure out what directories" - echo "I should be searching for shared libraries. Once you have this" - echo "information, email it to rpm-list@redhat.com, so that your OS" - echo "will be supported by some future version of this script." - echo "" - echo "Thanks!" - echo - exit 2 - ;; -esac - - -# allow the user to change defaults with the command line arguments. - -# Loop over all args - -while : -do - -# Break out if there are no more args - case $# in - 0) - break - ;; - esac - -# Get the first arg, and shuffle - option=$1 - shift - -# Make all options have two hyphens - orig_option=$option # Save original for error messages - case $option in - --*) ;; - -*) option=-$option ;; - esac - - - case $option in - --spec_header) - spec_header=$1 - shift - ;; - --ignore_dirs) - ignore_dirs=$1 - shift - ;; - --find_provides) - find_provides=$1 - shift - ;; - --shlib_dirs) - shlib_dirs=$1 - shift - ;; - --interp_dirs) - interp_dirs=$1 - shift - ;; - --interps) - interps=$1 - shift - ;; - --no_verify) - no_verify=1 - ;; - --help) - echo $usage - exit 0 - ;; - *) - echo "$0: Unrecognized option: \"$orig_option\"; use --help for usage." >&2 - exit 1 - ;; - esac -done - - -# consistancy checks on the arguments - -if [ ! -f $spec_header ]; then - echo "You must pass me the full path to the partial spec file" - echo "as my first argument, since this file does not appear in the" - echo "default location of $default_spec_header" - echo - echo $usage - echo - exit 9 -fi - - -if [ ! -f $find_provides ]; then - echo "You must pass me the full path to the find-provides script as my" - echo "second argument, since find-provides does not appear in the" - echo "default location of $default_find_provides" - echo - echo $usage - echo - exit 9 -fi - - - -provides_tmp=/tmp/provides.$$ -if test -f $provides_tmp ; then - echo "$provides_tmp already exists. Exiting." - exit 11 -fi - -# -# iterate through all the directories in shlib_dirs, looking for shared -# libraries -# -for d in `echo $shlib_dirs | sed -e 's/:/ /g'` -do - find $d -type f -print 2>/dev/null | egrep -v \'$ignore_dirs\' | $find_provides >> $provides_tmp -done - -sum_tmp=/tmp/sum.$$ -if test -f $sum_tmp ; then - echo "$sum_tmp already exists. Exiting." - exit 11 -fi - -# -# iterate through all the directories in shlib_dirs, record the sum -# -for d in `echo $shlib_dirs | sed -e 's/:/ /g'` -do - find $d -type f -print 2>/dev/null | egrep -v \'$ignore_dirs\' | $sum_cmd >> $sum_tmp -done - - -# -# output the initial part of the spec file -# -cat $spec_header - -# -# output the 'Provides: ' part of the spec file -# -{ - # - # Output the shared libraries - # - for f in `cat $provides_tmp | sort -u` - do - echo "Provides: $f" - done - - # - # Output the available shell interpreters - # - for d in `echo $interp_dirs | sed -e 's/:/ /g'` - do - for f in `echo $interps | sed -e 's/:/ /g'` - do - if test -f $d/$f ; then - echo "Provides: $d/$f" - fi - done - done -} | sed -e 's/%/%%/g' - -# -# Output the discription of the spec file -# - -cat <<_EIEIO_ - - -%description -This is a virtual RPM package. It contains no actual files. It uses the -\`Provides' token from RPM 3.x and later to list many of the shared libraries -and interpreters that are part of the base operating system and associated -OS packages for $osname. - -This virtual package was constructed based on the vendor/system software -installed on the '$osname' machine named '$hostname', as of the date -'$date'. - -Input to the script: - - spec_header=$spec_header - ignore_dirs=$ignore_dirs - find_provides=$find_provides - shlib_dirs=$shlib_dirs - interp_dirs=$interp_dirs - interps=$interps - -_EIEIO_ - -# -# Output the build sections of the spec file -# - -echo '%prep' -echo '# nothing to do' -echo '%build' -echo '# nothing to do' -echo '%install' -echo '# nothing to do' -echo '%clean' -echo '# nothing to do' - -if [ -z "${no_verify}" ]; then - -# -# Output the optional verify section of the spec file -# - -cat <<_EIEIO_ - -%verifyscript - -PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/bsd -export PATH - -sum_current_tmp=/tmp/rpm.sum.current.\$\$ -if test -f \$sum_current_tmp ; then - echo "\$sum_current_tmp already exists. Exiting." - exit 11 -fi - -sum_package_tmp=/tmp/rpm.sum.package.\$\$ -if test -f \$sum_package_tmp ; then - echo "\$sum_package_tmp already exists. Exiting." - exit 11 -fi - -for d in `echo $shlib_dirs | sed -e 's/:/ /g'` -do - find \$d -type f -print 2>/dev/null | egrep -v \'$ignore_dirs\' | $sum_cmd >> \$sum_current_tmp -done - -cat >\$sum_package_tmp <<_EOF_ -_EIEIO_ - -# the contents of the temporary file are hardcoded into the verify -# script so that the file can be reproduced at verification time. - -cat $sum_tmp | sed -e 's/%/%%/g' - -cat <<_EIEIO_ -_EOF_ - - -cmp \$sum_package_tmp \$sum_current_tmp - -if [ \$? -ne 0 ]; then - echo"Differences found by: cmp \$sum_package_tmp \$sum_current_tmp" - exit \$? -fi - -_EIEIO_ - -# end optional verify section -fi - -# -# Output the files section of the spec file -# - -echo '%files' -echo '# no files in a virtual package' - -exit 0 diff --git a/scripts/vpkg-provides2.sh b/scripts/vpkg-provides2.sh deleted file mode 100755 index dcbfcc5..0000000 --- a/scripts/vpkg-provides2.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh - -# This script is not finished. It is a bunch of ideas for using the -# OS package manager to create a spec file of virtual dependencies for -# each OS package. I wish to only use tools which are installed in -# the OS by default. - - -PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/bsd -export PATH - -IGNORE_DIRS='@' - -date=`date` -hostname=`uname -n` -osname=`uname -s` - -# programs we run - -find_provides=/usr/lib/rpm/find-provides -find_requires=/usr/lib/rpm/find-requires -#find_provides=/devel/kestes/vendorc/tools/solaris.prov -#find_requires=/devel/kestes/vendorc/tools/solaris.req -u_pkg=/devel/kestes/vendorc/rpm/scripts/u-pkg.sh - -# where we write output -spec_filedir=/tmp -provides_tmp=/tmp/provides.$$ -requires_tmp=/tmp/requires.$$ - - -for pkg in `$u_pkg list_all_packages` -do - -# find OS pkg information - -spec_filename=$spec_filedir/$pkg - -veryify_cmd=`$u_pkg print_cmd package_version $pkg | sed -e "s/\\$1/$pkg/" ` - -pkg_version=`$u_pkg package_version $pkg ` - - -# find all the dependencies - -$u_pkg list_all_files_in_package $pkg | egrep -v \'$IGNORE_DIRS\' | \ - $find_provides | sed -e 's/^/Provides: /' > $provides_tmp - -$u_pkg list_all_files_in_package $pkg | egrep -v \'$IGNORE_DIRS\' | \ - $find_requires | sed -e 's/^/Requires: /' > $requires_tmp - -# create the spec file - -rm -f $spec_filename - -echo >> $spec_filename - -cat $provides_tmp | sort -u >> $spec_filename - -echo >> $spec_filename - -cat $requires_tmp | sort -u >> $spec_filename - -echo >> $spec_filename - - -# Output the rest of the spec file. It is a template stored in this -# here file. - - -cat >> $spec_filename <<_EIEIO_ -Name: vpkg-$pkg -Version: $pkg_version - -%description -This is a virtual RPM package. It contains no actual files. It uses the -\`Provides' token from RPM 3.x and later to list many of the shared libraries -and interpreters that are part of the base operating system and associated -subsets for $osname. - -This virtual package was constructed based on the vendor/system software -installed on the $osname machine named $hostname, as of the date -$date. It is intended to supply dependency -information about the OS package: $pkg, version: $pkg_version, - - -%prep -# nothing to do - -%build -# nothing to do - -%install -# nothing to do - -%clean -# nothing to do - - -%verifyscript - -PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/ucb:/usr/bsd:/usr/local/bin -export PATH - -expected_version='$pkg_version' -current_version=\`$veryify_cmd\` - -if [ \$expected_version -ne \$current_version ]; then - echo "RPM virtual package does not match OS pkg: $pkg" >&2 - echo "installed packge version: \$current_verion" >&2 - echo "expected package version: \$expected_version" >&2 - exit 9 -fi - -%files - -_EIEIO_ - -done - diff --git a/tests/.cvsignore b/tests/.cvsignore deleted file mode 100644 index e6e045b..0000000 --- a/tests/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -Makefile -Makefile.in -rpmrc -macros -usr -bin -var diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index 86e9cf9..0000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -## Process this file with automake to produce Makefile.in. - -AUTOMAKE_OPTIONS = 1.4 foreign - -EXTRA_DIST = -SUBDIRS = hello-test - -check-recursive: ./usr/ ./bin ./var - -./usr ./bin ./var: ../rpm - make -C .. DESTDIR=`pwd` install - cp rpmrc macros ./$(pkglibdir) - rm -f ./@GZIPBIN@ - if [ ! -d ./`dirname @GZIPBIN@` ] ; then mkdir -p ./`dirname @GZIPBIN@` ; fi - ln -s @GZIPBIN@ ./@GZIPBIN@ - rm -f ./@BZIP2BIN@ - if [ ! -d ./`dirname @BZIP2BIN@` ] ; then mkdir -p ./`dirname @BZIP2BIN@` ; fi - ln -s @BZIP2BIN@ ./@BZIP2BIN@ - -clean-local: - rm -rf ./usr ./bin ./var diff --git a/tests/hello-test/.cvsignore b/tests/hello-test/.cvsignore deleted file mode 100644 index 25a5e88..0000000 --- a/tests/hello-test/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -Makefile.in -*.out diff --git a/tests/hello-test/Makefile.am b/tests/hello-test/Makefile.am deleted file mode 100644 index 9a9a6d2..0000000 --- a/tests/hello-test/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## Process this file with automake to produce Makefile.in. - -AUTOMAKE_OPTIONS = 1.4 foreign - -all: - -EXTRA_DIST = *.exp hello-1.0.tar.gz \ - initdb showrc querytags ba ckL ckH ckS ckC i qi e - -noinst_SCRIPTS = initdb showrc querytags ba ckL ckH ckS ckC i qi e - -TESTS_ENVIRONMENT = \ - rpm="${top_builddir}/rpm --rcfile ${top_builddir}/tests/$(pkglibdir)/rpmrc" \ - rpm2cpio="${top_builddir}/rpm2cpio" \ - rpmlead="${top_builddir}/tools/rpmlead" \ - rpmheader="${top_builddir}/tools/rpmheader" \ - rpmsignature="${top_builddir}/tools/rpmsignature" \ - rpmdump="${top_builddir}/tools/dump" \ - rpmdumpdb="${top_builddir}/tools/dumpdb" \ - myrpm='../usr/src/redhat/RPMS/*/hello-1.0-1.*.rpm' - -TESTS = initdb showrc querytags ba ckL ckH ckS ckC i qi e diff --git a/tests/hello-test/ba b/tests/hello-test/ba deleted file mode 100755 index 1c509f0..0000000 --- a/tests/hello-test/ba +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -DBG=echo - -rpm=${rpm:=rpm} -destdir="`pwd`" -destdir="`dirname $destdir`" - -cp hello-1.0.tar.gz ../usr/src/redhat/SOURCES -zcat hello-1.0.tar.gz | tar xOf - \*.spec > ../usr/src/redhat/SPECS/hello.spec - -${DBGX} $rpm -ba ../usr/src/redhat/SPECS/hello.spec 2>&1 | \ - sed -e "s,$destdir,,g" -e '/^make\[[0-9][0-9]*\]:/d' > $0.out - -diff $0.out $0.exp || exit 1 - diff --git a/tests/hello-test/ba.exp b/tests/hello-test/ba.exp deleted file mode 100644 index 88c428a..0000000 --- a/tests/hello-test/ba.exp +++ /dev/null @@ -1,52 +0,0 @@ -Executing: %prep -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd /usr/src/redhat/BUILD -+ rm -rf hello-1.0 -+ /bin/gzip -d -+ tar -xf - -+ STATUS=0 -+ [ 0 -ne 0 ] -+ cd hello-1.0 -+ chmod -R a+rX,g-w,o-w . -+ exit 0 -Executing: %build -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ make -cc hello.c -o hello -+ exit 0 -Executing: %install -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ rm -rf /var/tmp/hello-root -+ mkdir -p /var/tmp/hello-root/usr/local/bin -+ make DESTDIR=/var/tmp/hello-root install -install -m 0755 hello /var/tmp/hello-root/usr/local/bin -+ exit 0 -Processing files: hello -Executing: %doc -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ DOCDIR=/var/tmp/hello-root/usr/doc/hello-1.0 -+ export DOCDIR -+ rm -rf /var/tmp/hello-root/usr/doc/hello-1.0 -+ /bin/mkdir -p /var/tmp/hello-root/usr/doc/hello-1.0 -+ cp -pr FAQ /var/tmp/hello-root/usr/doc/hello-1.0 -+ exit 0 -Finding provides... -Finding requires... -Provides: hi -Prereqs: /bin/sh -Requires: ld-linux.so.2 libc.so.6 -Wrote: /usr/src/redhat/SRPMS/hello-1.0-1.src.rpm -Wrote: /usr/src/redhat/RPMS/sparc/hello-1.0-1.sparc.rpm -Executing: %clean -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ rm -rf /var/tmp/hello-root -+ exit 0 diff --git a/tests/hello-test/ckC b/tests/hello-test/ckC deleted file mode 100755 index 5acbf49..0000000 --- a/tests/hello-test/ckC +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -$rpm2cpio $myrpm | cpio -it > $0.out - -diff $0.out $0.exp || exit 1 diff --git a/tests/hello-test/ckC.exp b/tests/hello-test/ckC.exp deleted file mode 100644 index b956c26..0000000 --- a/tests/hello-test/ckC.exp +++ /dev/null @@ -1,3 +0,0 @@ -usr/doc/hello-1.0 -usr/doc/hello-1.0/FAQ -usr/local/bin/hello diff --git a/tests/hello-test/ckH b/tests/hello-test/ckH deleted file mode 100755 index 0372e79..0000000 --- a/tests/hello-test/ckH +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -$rpmheader $myrpm | $rpmdump > $0.out - -diff $0.out $0.exp || exit 0 diff --git a/tests/hello-test/ckH.exp b/tests/hello-test/ckH.exp deleted file mode 100644 index 3c9f4d9..0000000 --- a/tests/hello-test/ckH.exp +++ /dev/null @@ -1,143 +0,0 @@ -Entry count: 53 - - CT TAG TYPE OFSET COUNT -Entry : 000 (100)(unknown) STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 C -Entry : 001 (1000)RPMTAG_NAME STRING_TYPE 0xffffffff 00000001 - Data: 000 hello -Entry : 002 (1001)RPMTAG_VERSION STRING_TYPE 0xffffffff 00000001 - Data: 000 1.0 -Entry : 003 (1002)RPMTAG_RELEASE STRING_TYPE 0xffffffff 00000001 - Data: 000 1 -Entry : 004 (1003)RPMTAG_EPOCH INT32_TYPE 0xffffffff 00000001 - Data: 000 0x00000001 (1) -Entry : 005 (1004)RPMTAG_SUMMARY I18N_STRING_TYPE 0xffffffff 00000001 - Data: 000 hello -- hello, world rpm -Entry : 006 (1005)RPMTAG_DESCRIPTION I18N_STRING_TYPE 0xffffffff 00000001 - Data: 000 Simple rpm demonstration. -Entry : 007 (1006)RPMTAG_BUILDTIME INT32_TYPE 0xffffffff 00000001 - Data: 000 0x36e56b91 (921004945) -Entry : 008 (1007)RPMTAG_BUILDHOST STRING_TYPE 0xffffffff 00000001 - Data: 000 sparc9.test.redhat.com -Entry : 009 (1009)RPMTAG_SIZE INT32_TYPE 0xffffffff 00000001 - Data: 000 0x00007c67 (31847) -Entry : 010 (1010)RPMTAG_DISTRIBUTION STRING_TYPE 0xffffffff 00000001 - Data: 000 RPM test suite. -Entry : 011 (1011)RPMTAG_VENDOR STRING_TYPE 0xffffffff 00000001 - Data: 000 Red Hat Software -Entry : 012 (1014)RPMTAG_LICENSE STRING_TYPE 0xffffffff 00000001 - Data: 000 GPL -Entry : 013 (1015)RPMTAG_PACKAGER STRING_TYPE 0xffffffff 00000001 - Data: 000 Red Hat Software -Entry : 014 (1016)RPMTAG_GROUP I18N_STRING_TYPE 0xffffffff 00000001 - Data: 000 Utilities -Entry : 015 (1020)RPMTAG_URL STRING_TYPE 0xffffffff 00000001 - Data: 000 http://www.redhat.com -Entry : 016 (1021)RPMTAG_OS STRING_TYPE 0xffffffff 00000001 - Data: 000 Linux -Entry : 017 (1022)RPMTAG_ARCH STRING_TYPE 0xffffffff 00000001 - Data: 000 sparc -Entry : 018 (1027)RPMTAG_FILENAMES STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 /usr/doc/hello-1.0 - Data: 001 /usr/doc/hello-1.0/FAQ - Data: 002 /usr/local/bin/hello -Entry : 019 (1028)RPMTAG_FILESIZES INT32_TYPE 0xffffffff 00000003 - Data: 000 0x00000400 (1024) - Data: 001 0x00000024 (36) - Data: 002 0x00007843 (30787) -Entry : 020 (1030)RPMTAG_FILEMODES INT16_TYPE 0xffffffff 00000003 - Data: 000 0x41ed (16877) - Data: 001 0x81a4 (-32348) - Data: 002 0x81e9 (-32279) -Entry : 021 (1033)RPMTAG_FILERDEVS INT16_TYPE 0xffffffff 00000003 - Data: 000 0x0000 (0) - Data: 001 0x0000 (0) - Data: 002 0x0000 (0) -Entry : 022 (1034)RPMTAG_FILEMTIMES INT32_TYPE 0xffffffff 00000003 - Data: 000 0x36e56b8b (921004939) - Data: 001 0x362ca336 (908895030) - Data: 002 0x36e56b8a (921004938) -Entry : 023 (1035)RPMTAG_FILEMD5S STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 - Data: 001 33cccc1f055d73acaceed7d8204e99c7 - Data: 002 741e702cdf114c95a9e965fa8aa40864 -Entry : 024 (1036)RPMTAG_FILELINKTOS STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 - Data: 001 - Data: 002 -Entry : 025 (1037)RPMTAG_FILEFLAGS INT32_TYPE 0xffffffff 00000003 - Data: 000 0x00000000 (0) - Data: 001 0x00000002 (2) - Data: 002 0x00000000 (0) -Entry : 026 (1039)RPMTAG_FILEUSERNAME STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 root - Data: 001 root - Data: 002 root -Entry : 027 (1040)RPMTAG_FILEGROUPNAME STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 root - Data: 001 root - Data: 002 root -Entry : 028 (1044)RPMTAG_SOURCERPM STRING_TYPE 0xffffffff 00000001 - Data: 000 hello-1.0-1.src.rpm -Entry : 029 (1045)RPMTAG_FILEVERIFYFLAGS INT32_TYPE 0xffffffff 00000003 - Data: 000 0x00000000 (0) - Data: 001 0x00000000 (0) - Data: 002 0xffffffff (-1) -Entry : 030 (1046)RPMTAG_ARCHIVESIZE INT32_TYPE 0xffffffff 00000001 - Data: 000 0x00007a6c (31340) -Entry : 031 (1047)RPMTAG_PROVIDES STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 hi -Entry : 032 (1048)RPMTAG_REQUIREFLAGS INT32_TYPE 0xffffffff 00000003 - Data: 000 0x00000040 (64) - Data: 001 0x00000000 (0) - Data: 002 0x00000000 (0) -Entry : 033 (1049)RPMTAG_REQUIRENAME STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 /bin/sh - Data: 001 ld-linux.so.2 - Data: 002 libc.so.6 -Entry : 034 (1050)RPMTAG_REQUIREVERSION STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 - Data: 001 - Data: 002 -Entry : 035 (1053)RPMTAG_CONFLICTFLAGS INT32_TYPE 0xffffffff 00000001 - Data: 000 0x00000000 (0) -Entry : 036 (1054)RPMTAG_CONFLICTNAME STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 goodbye -Entry : 037 (1055)RPMTAG_CONFLICTVERSION STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 -Entry : 038 (1064)RPMTAG_RPMVERSION STRING_TYPE 0xffffffff 00000001 - Data: 000 2.5.7 -Entry : 039 (1080)RPMTAG_CHANGELOGTIME INT32_TYPE 0xffffffff 00000001 - Data: 000 0x362cf9d0 (908917200) -Entry : 040 (1081)RPMTAG_CHANGELOGNAME STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 Jeff Johnson -Entry : 041 (1082)RPMTAG_CHANGELOGTEXT STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 - create. -Entry : 042 (1085)RPMTAG_PREINPROG STRING_TYPE 0xffffffff 00000001 - Data: 000 /bin/sh -Entry : 043 (1086)RPMTAG_POSTINPROG STRING_TYPE 0xffffffff 00000001 - Data: 000 /bin/sh -Entry : 044 (1087)RPMTAG_PREUNPROG STRING_TYPE 0xffffffff 00000001 - Data: 000 /bin/sh -Entry : 045 (1088)RPMTAG_POSTUNPROG STRING_TYPE 0xffffffff 00000001 - Data: 000 /bin/sh -Entry : 046 (1090)RPMTAG_OBSOLETES STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 howdy -Entry : 047 (1094)RPMTAG_COOKIE STRING_TYPE 0xffffffff 00000001 - Data: 000 sparc9.test.redhat.com 921004945 -Entry : 048 (1095)RPMTAG_FILEDEVICES INT32_TYPE 0xffffffff 00000003 - Data: 000 0x00000801 (2049) - Data: 001 0x00000801 (2049) - Data: 002 0x00000801 (2049) -Entry : 049 (1096)RPMTAG_FILEINODES INT32_TYPE 0xffffffff 00000003 - Data: 000 0x000410ab (266411) - Data: 001 0x000410ac (266412) - Data: 002 0x0004807b (295035) -Entry : 050 (1097)RPMTAG_FILELANGS STRING_ARRAY_TYPE 0xffffffff 00000003 - Data: 000 - Data: 001 - Data: 002 -Entry : 051 (1098)RPMTAG_PREFIXES STRING_ARRAY_TYPE 0xffffffff 00000001 - Data: 000 /usr -Entry : 052 (1105)RPMTAG_CAPABILITY INT32_TYPE 0xffffffff 00000001 - Data: 000 0x00000000 (0) diff --git a/tests/hello-test/ckL b/tests/hello-test/ckL deleted file mode 100755 index 11d0dd8..0000000 --- a/tests/hello-test/ckL +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -$rpmlead $myrpm | od -c > $0.out - -diff $0.out $0.exp || exit 1 diff --git a/tests/hello-test/ckL.exp b/tests/hello-test/ckL.exp deleted file mode 100644 index a5af061..0000000 --- a/tests/hello-test/ckL.exp +++ /dev/null @@ -1,7 +0,0 @@ -0000000 355 253 356 333 003 \0 \0 \0 \0 003 h e l l o - -0000020 1 . 0 - 1 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 -0000040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 -* -0000100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 005 -0000120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 -0000140 diff --git a/tests/hello-test/ckS b/tests/hello-test/ckS deleted file mode 100755 index 4596fd3..0000000 --- a/tests/hello-test/ckS +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -$rpmsignature $myrpm | $rpmdump > $0.out - -diff $0.out $0.exp || exit 0 diff --git a/tests/hello-test/ckS.exp b/tests/hello-test/ckS.exp deleted file mode 100644 index 5549aee..0000000 --- a/tests/hello-test/ckS.exp +++ /dev/null @@ -1,8 +0,0 @@ -Entry count: 2 - - CT TAG TYPE OFSET COUNT -Entry : 000 (1000)RPMTAG_NAME INT32_TYPE 0xffffffff 00000001 - Data: 000 0x000033ec (13292) -Entry : 001 (1004)RPMTAG_SUMMARY BIN_TYPE 0xffffffff 00000016 - Data: 000 f0 a9 66 7d 8c f8 4d 0c - Data: 008 1b c3 b6 c4 23 67 25 e6 diff --git a/tests/hello-test/e b/tests/hello-test/e deleted file mode 100755 index 5142f43..0000000 --- a/tests/hello-test/e +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -rpm=${rpm:=rpm} -destdir="`pwd`" -destdir="`dirname $destdir`" - -$rpm -e -vv hello | \ - sed -e "s,$destdir,,g" > $0.out - -diff $0.out $0.exp || exit 1 - diff --git a/tests/hello-test/e.exp b/tests/hello-test/e.exp deleted file mode 100644 index 565ad57..0000000 --- a/tests/hello-test/e.exp +++ /dev/null @@ -1,20 +0,0 @@ -D: counting packages to uninstall -D: opening database in //var/lib/rpm/ -D: found 1 packages to uninstall -D: uninstalling record number 24 -D: will remove files test = 0 -D: /hello-test/../usr/local/bin/hello - removing -D: /hello-test/../usr/doc/hello-1.0/FAQ - removing -D: /hello-test/../usr/doc/hello-1.0 - removing -D: running postuninstall script (if any) -D: removing database entry -D: removing name index -D: removing group index -D: removing provides index for hi -D: removing requiredby index for /bin/sh -D: removing requiredby index for ld-linux.so.2 -D: removing requiredby index for libc.so.6 -D: removing conflict index for goodbye -D: removing file index for /hello-test/../usr/doc/hello-1.0 -D: removing file index for /hello-test/../usr/doc/hello-1.0/FAQ -D: removing file index for /hello-test/../usr/local/bin/hello diff --git a/tests/hello-test/hello-1.0.tar.gz b/tests/hello-test/hello-1.0.tar.gz deleted file mode 100644 index 48b2cd7d010dec5001b7089b7115402b78c9ad8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmV-=1BLt_iwFQgvMe?L1MQe=Z`(E$hV#|@6$f1nBt>=eMP9XTSX*aVilp}JWWay{ z1uan)8%b12s%~2BzwhYc#&x$D7!n6t`M{QVNQ$JW^NQ3-SegpUvt8%KWcu6btCNG< z$8%lZAHV^?!1KM$bBpid-}m}n&+83(0G`(y`Ul|N!C1baRGLbFgExye|5$HV`G1s) zge$QQtNC-v=~JgGS$k@Eqp?ZPIB|U}fNrhQp=;JUkp9&o9QOvm>We(n&=~Q)j_* zLc)~M9IulZSTQ`Z#k$G+zCFVZZuCDpel|WozKcF~uK$BC^zRw{?}yFxzwv-(`8Uh{ z*TIece|q-I9rdwW|ASBa|AFtL{@tNJGWy>KoBBr&FyjBpxY2)|vco&*W4HeM+w1?( z>l^*=1DkVQsb(TuHQ1ivz=xX1%Qk0CRLpZyBU zJThmJ(=_OKv<$3 z=CcTXrW)oV)+;I*nbPozF4(CH(kkSl&wEZ(OyTW+u$_m)>pfup|{aM=kxn<+E7$COlZDj zsaTRna8WXtgc^D-cu$^u3olt5!%LCmO62eqwf>n$SrFn#Di6JHxf%=xgTY`h7z_r3 Q!SJv66N|2M^Z+OT04*WT7XSbN diff --git a/tests/hello-test/i b/tests/hello-test/i deleted file mode 100755 index 774e3f3..0000000 --- a/tests/hello-test/i +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -rpm=${rpm:=rpm} -destdir="`pwd`" -destdir="`dirname $destdir`" - -# -# ../../rpm --rcfile ../../tests//usr/lib/rpm/rpmrc -i -vv --nodeps --prefix=/home/devel/jbj/src/rpm/tests/hello-test/../usr ../usr/src/redhat/RPMS/sparc/hello-1.0-1.sparc.rpm -# - -$rpm -i -vv --nodeps --relocate /usr="`pwd`/../usr" $myrpm | \ - sed -e "s,$destdir,,g" > $0.out - -diff $0.out $0.exp || exit 1 - diff --git a/tests/hello-test/i.exp b/tests/hello-test/i.exp deleted file mode 100644 index 6240174..0000000 --- a/tests/hello-test/i.exp +++ /dev/null @@ -1,28 +0,0 @@ -D: counting packages to install -D: found 1 packages -D: looking for packages to download -D: retrieved 0 packages -D: finding source and binary packages -D: New Header signature -D: Signature size: 68 -D: Signature pad : 4 -D: sigsize : 72 -D: Header + Archive: 13292 -D: expected size : 13292 -D: found 0 source and 1 binary packages -D: opening database mode: 01002 -D: opening database in //var/lib/rpm/ -D: installing binary rpms -Installing ../usr/src/redhat/RPMS/sparc/hello-1.0-1.sparc.rpm -D: New Header signature -D: Signature size: 68 -D: Signature pad : 4 -D: sigsize : 72 -D: Header + Archive: 13292 -D: expected size : 13292 -D: package: hello-1.0-1 files test = 0 -D: relocating /usr/local/bin/hello to /hello-test/../usr/local/bin/hello -D: relocating /usr/doc/hello-1.0/FAQ to /hello-test/../usr/doc/hello-1.0/FAQ -D: relocating /usr/doc/hello-1.0 to /hello-test/../usr/doc/hello-1.0 -D: running preinstall script (if any) -D: running postinstall script (if any) diff --git a/tests/hello-test/initdb b/tests/hello-test/initdb deleted file mode 100755 index bea5405..0000000 --- a/tests/hello-test/initdb +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -DBG=echo - -rpm=${rpm:=rpm} -destdir="`pwd`" -destdir="`dirname $destdir`" - -rm -rf $destdir/var/lib/rpm/* -${DBGX} $rpm --initdb diff --git a/tests/hello-test/qi b/tests/hello-test/qi deleted file mode 100755 index 93711e6..0000000 --- a/tests/hello-test/qi +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -rpm=${rpm:=rpm} -destdir="`pwd`" -destdir="`dirname $destdir`" - -$rpm -qil --scripts hello > $0.out - -diff $0.out $0.exp || exit 0 - diff --git a/tests/hello-test/qi.exp b/tests/hello-test/qi.exp deleted file mode 100644 index 8855687..0000000 --- a/tests/hello-test/qi.exp +++ /dev/null @@ -1,18 +0,0 @@ -Name : hello Distribution: RPM test suite. -Version : 1.0 Vendor: Red Hat Software -Release : 1 Build Date: Tue Mar 9 13:42:25 1999 -Install date: Tue Mar 9 13:42:30 1999 Build Host: sparc9.test.redhat.com -Group : Utilities Source RPM: hello-1.0-1.src.rpm -Size : 31847 License: GPL -Packager : Red Hat Software -URL : http://www.redhat.com -Summary : hello -- hello, world rpm -Description : -Simple rpm demonstration. -preinstall program: /bin/sh -postinstall program: /bin/sh -preuninstall program: /bin/sh -postuninstall program: /bin/sh -/home/devel/jbj/src/rpm/tests/hello-test/../usr/doc/hello-1.0 -/home/devel/jbj/src/rpm/tests/hello-test/../usr/doc/hello-1.0/FAQ -/home/devel/jbj/src/rpm/tests/hello-test/../usr/local/bin/hello diff --git a/tests/hello-test/querytags b/tests/hello-test/querytags deleted file mode 100755 index 3e560f8..0000000 --- a/tests/hello-test/querytags +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -DBG=echo - -rpm=${rpm:=rpm} -rpm=`echo $rpm | sed -e 's/[ ].*$//'` - -${DBGX} $rpm --querytags 2>&1 > $0.out - -diff $0.out $0.exp || exit 0 diff --git a/tests/hello-test/querytags.exp b/tests/hello-test/querytags.exp deleted file mode 100644 index e6fbd6b..0000000 --- a/tests/hello-test/querytags.exp +++ /dev/null @@ -1,86 +0,0 @@ -NAME -VERSION -RELEASE -EPOCH -SERIAL -SUMMARY -DESCRIPTION -BUILDTIME -BUILDHOST -INSTALLTIME -SIZE -DISTRIBUTION -VENDOR -GIF -XPM -LICENSE -COPYRIGHT -PACKAGER -GROUP -SOURCE -PATCH -URL -OS -ARCH -PREIN -POSTIN -PREUN -POSTUN -FILENAMES -FILESIZES -FILESTATES -FILEMODES -FILERDEVS -FILEMTIMES -FILEMD5S -FILELINKTOS -FILEFLAGS -ROOT -FILEUSERNAME -FILEGROUPNAME -ICON -SOURCERPM -FILEVERIFYFLAGS -ARCHIVESIZE -PROVIDES -REQUIREFLAGS -REQUIRENAME -REQUIREVERSION -CONFLICTFLAGS -CONFLICTNAME -CONFLICTVERSION -BUILDROOT -EXCLUDEARCH -EXCLUDEOS -EXCLUSIVEARCH -EXCLUSIVEOS -RPMVERSION -TRIGGERSCRIPTS -TRIGGERNAME -TRIGGERVERSION -TRIGGERFLAGS -TRIGGERINDEX -VERIFYSCRIPT -CHANGELOGTIME -CHANGELOGNAME -CHANGELOGTEXT -PREINPROG -POSTINPROG -PREUNPROG -POSTUNPROG -BUILDARCHS -OBSOLETES -VERIFYSCRIPTPROG -TRIGGERSCRIPTPROG -COOKIE -FILEDEVICES -FILEINODES -FILELANGS -PREFIXES -INSTPREFIXES -CAPABILITY -FSSIZES -FSNAMES -INSTALLPREFIX -TRIGGERCONDS -TRIGGERTYPE diff --git a/tests/hello-test/showrc b/tests/hello-test/showrc deleted file mode 100755 index 020aa5b..0000000 --- a/tests/hello-test/showrc +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -DBG=echo - -rpm=${rpm:=rpm} -destdir="`pwd`" -destdir="`dirname $destdir`" - -${DBGX} $rpm --showrc 2>&1 | sed -e "s,$destdir,," > $0.out - -diff $0.out $0.exp || exit 0 diff --git a/tests/hello-test/showrc.exp b/tests/hello-test/showrc.exp deleted file mode 100644 index b4429d6..0000000 --- a/tests/hello-test/showrc.exp +++ /dev/null @@ -1,44 +0,0 @@ -ARCHITECTURE AND OS: -build arch : sparc -compatible build archs: sparc noarch -build os : Linux -compatible build os's : Linux -install arch : sparc -install os : Linux -compatible archs : sparc noarch -compatible os's : Linux -RPMRC VALUES: -builddir : /usr/src/redhat/BUILD -buildroot : (not set) -buildshell : /bin/sh -bzip2bin : /usr/bin/bzip2 -dbpath : /var/lib/rpm -defaultdocdir : /usr/doc -distribution : (not set) -excludedocs : (not set) -fixperms : a+rX,g-w,o-w -ftpport : (not set) -ftpproxy : (not set) -gzipbin : /bin/gzip -instchangelog : 5 -langpatt : (not set) -messagelevel : (not set) -netsharedpath : (not set) -optflags : -O2 -packager : (not set) -pgp_name : (not set) -pgp_path : (not set) -provides : (not set) -require_distribution : (not set) -require_icon : (not set) -require_vendor : (not set) -rpmdir : /usr/src/redhat/RPMS -rpmfilename : %{ARCH}/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm -signature : none -sourcedir : /usr/src/redhat/SOURCES -specdir : /usr/src/redhat/SPECS -srcrpmdir : /usr/src/redhat/SRPMS -timecheck : (not set) -tmppath : /var/tmp -topdir : /usr/src/redhat -vendor : (not set) diff --git a/tests/hello-test/test0.exp b/tests/hello-test/test0.exp deleted file mode 100644 index f649abe..0000000 --- a/tests/hello-test/test0.exp +++ /dev/null @@ -1,51 +0,0 @@ -Executing: %prep -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd /usr/src/redhat/BUILD -+ rm -rf hello-1.0 -+ /bin/gzip -dc /usr/src/redhat/SOURCES/hello-1.0.tar.gz -+ tar -xf - -+ STATUS=0 -+ [ 0 -ne 0 ] -+ cd hello-1.0 -+ chmod -R a+rX,g-w,o-w . -+ exit 0 -Executing: %build -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ make -cc hello.c -o hello -+ exit 0 -Executing: %install -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ rm -rf /var/tmp/hello-root -+ mkdir -p /var/tmp/hello-root/usr/local/bin -+ make DESTDIR=/var/tmp/hello-root install -install -m 0755 hello /var/tmp/hello-root/usr/local/bin -+ exit 0 -Processing files: hello -Executing: %doc -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ DOCDIR=/var/tmp/hello-root/usr/doc/hello-1.0 -+ export DOCDIR -+ rm -rf /var/tmp/hello-root/usr/doc/hello-1.0 -+ /bin/mkdir -p /var/tmp/hello-root/usr/doc/hello-1.0 -+ cp -pr FAQ /var/tmp/hello-root/usr/doc/hello-1.0 -+ exit 0 -Finding provides... -Finding requires... -Prereqs: /bin/sh -Requires: ld-linux.so.2 libc.so.6 -Wrote: /usr/src/redhat/SRPMS/hello-1.0-1.src.rpm -Wrote: /usr/src/redhat/RPMS/sparc/hello-1.0-1.sparc.rpm -Executing: %clean -+ umask 022 -+ cd /usr/src/redhat/BUILD -+ cd hello-1.0 -+ rm -rf /var/tmp/hello-root -+ exit 0 diff --git a/tests/macros.in b/tests/macros.in deleted file mode 100644 index 4dce24b..0000000 --- a/tests/macros.in +++ /dev/null @@ -1,186 +0,0 @@ -#============================================================================== -# Macro naming conventions (preliminary): -# -# Macros that begin with an underscore are "local" in the sense that -# they (if used) will not be exported in rpm headers. Some macros -# that don't start with an underscore (but look like they should) -# are compatible with macros generated by rpm-2.5.x and will be made -# more consistent in a future release. -# - -#============================================================================== -# ---- filesystem macros. -# -%_usr @testdir@@prefix@ -%_usrsrc %{_usr}/src -%_var @testdir@@varprefix@ - -#============================================================================== -# ---- path macros -# XXX The use of which here is overly simple. -# -%__bzip2 %(which bzip2) -%__cat %(which cat) -%__chgrp %(which chgrp) -%__chmod %(which chmod) -%__chown %(which chown) -%__cpio %(which cpio) -%__gzip %(which gzip) -%__install %(which install) -%__make %(which make) -%__mkdir %(which mkdir) -%__patch %(which patch) -%__ranlib %(which ranlib) -%__rm %(which rm) -%__strip %(which strip) -%__tar %(which tar) - -# XXX avoid weird failures from which if tools are not installed -%__libtoolize libtoolize -%__aclocal aclocal -%__autoheader autoheader -%__automake automake -%__autoconf autoconf - -#============================================================================== -# ---- Required rpmrc macros. -# Macros that used to be initialized as a side effect of rpmrc parsing. -# These are the default values that can be overridden by other -# (e.g. per-platform, per-system, per-packager) macro files. -# -%_builddir %{_topdir}/BUILD -%_buildshell /bin/sh -%_bzip2bin @BZIP2BIN@ -%_dbpath %{_var}/lib/rpm -%_defaultdocdir %{_usr}/doc -# -# XXX fixowner, fixgroup, and fixperms are run at the end of hardcoded setup -%_fixowner [ `id -u` = '0' ] && chown -R root -%_fixgroup [ `id -u` = '0' ] && chgrp -R @ROOT_GROUP@ -%_fixperms chmod -R @FIXPERMS@ -# -%_gzipbin @GZIPBIN@ -%_instchangelog 5 -%_pgpbin @PGPBIN@ -%_rpmdir %{_topdir}/RPMS -# -# XXX Note escaped %% for use in headerSprintf -%_rpmfilename %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm -%_signature none -%_sourcedir %{_topdir}/SOURCES -%_specdir %{_topdir}/SPECS -%_srcrpmdir %{_topdir}/SRPMS -%_tmppath %{_var}/tmp -%_topdir %{_usrsrc}/redhat -# -#============================================================================== -# ---- Optional rpmrc macros. -# Macros that used to be initialized as a side effect of rpmrc and/or -# spec file parsing but were not set in the distributed configuration -# /usr/lib/rpm/rpmrc file. -# -#%buildroot -#%distribution -#%_excludedocs -#%_ftpport -#%_ftpproxy -#%_gpg_name -#%_gpg_path -#%_httpport -#%_httpproxy -#%_langpatt -#%_netsharedpath -#%packager -#%_pgp_name -#%_pgp_path -#%_provides -#%_timecheck -#%vendor - -#============================================================================== -# ---- per-platform macros. -# Macros that are specific to an individual platform. The values here -# will be used if the per-platform macro file does not exist.. -# -%_arch @RPMCANONARCH@ -%_vendor @RPMCANONVENDOR@ -%_os @RPMCANONOS@ -%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os} -# -# XXX use the rpmrc instantiated macro for now -#%optflags -O2 - -#============================================================================== -# ---- script environment macros. -# Macro(s) that establish the environment for running a script. -# -%_preScriptEnvironment \ - RPM_SOURCE_DIR=\"%{_sourcedir}\"\ - RPM_BUILD_DIR=\"%{_builddir}\"\ - RPM_OPT_FLAGS=\"%{optflags}\"\ - RPM_ARCH=\"%{_arch}\"\ - RPM_OS=\"%{_os}\"\ - export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\ - RPM_DOC_DIR=\"%{_docdir}\"\ - export RPM_DOC_DIR\ - RPM_PACKAGE_NAME=\"%{name}\"\ - RPM_PACKAGE_VERSION=\"%{version}\"\ - RPM_PACKAGE_RELEASE=\"%{release}\"\ - export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\ - %{?buildroot:RPM_BUILD_ROOT=\"%{buildroot}\"\ - export RPM_BUILD_ROOT\ - } - -#============================================================================== -# ---- configure macros. -# Macro(s) similar to those used by configure. -# -%_prefix @prefix@ -%_build %{_host} -%_build_alias %{_host_alias} -%_build_cpu %{_host_cpu} -%_build_vendor %{_host_vendor} -%_build_os %{_host_os} -%_host @host@ -%_host_alias @host_alias@ -%_host_cpu @host_cpu@ -%_host_vendor @host_vendor@ -%_host_os @host_os@ -%_target %{_host} -%_target_alias %{_host_alias} -%_target_cpu %{_host_cpu} -%_target_vendor %{_host_vendor} -%_target_os %{_host_os} - -#============================================================================== -# ---- specfile macros. -# Macro(s) here can be used reliably for reproducible builds. -# (Note: Above is the goal, below are the macros under development) -# -# The configure macro does the following: -# optionally change to a subdirectory (not implemented). -# attempt to update config.guess and config.sub. -# run configure with correct prefix, platform, and CFLAGS. -# optionally restore current directory (not implemented). -# The configure macro should be invoked as %configure (rather than %{configure}) -# because the rest of the arguments will be expanded using %*. Another -# gotcha is that arguments, if present, should be on the same line as the -# %configure. -# -%configure \ - %{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} \ - CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} - -#------------------------------------------------------------------------------ -# The GNUconfigure macro does the following: -# update config.guess and config.sub. -# regenerate all autoconf/automake files -# run configure with correct prefix, platform, and CFLAGS. -# -%GNUconfigure \ - %{__libtoolize} --copy --force \ - %{__aclocal} \ - %{__autoheader} \ - %{__automake} \ - %{__autoconf} \ - CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} diff --git a/tests/rpmrc.in b/tests/rpmrc.in deleted file mode 100644 index 8b05a32..0000000 --- a/tests/rpmrc.in +++ /dev/null @@ -1,3 +0,0 @@ -############################################################# -macrofiles: @testdir@@MACROFILES@ -include: @testdir@/../rpmrc diff --git a/tools/.cvsignore b/tools/.cvsignore deleted file mode 100644 index 3e767c6..0000000 --- a/tools/.cvsignore +++ /dev/null @@ -1,14 +0,0 @@ -.deps -.depend -.libs -Makefile -Makefile.in -dump -dumpdb -javadeps -rpmarchive -rpmheader -rpminject -rpmlead -rpmsort -rpmsignature diff --git a/tools/Makefile.am b/tools/Makefile.am index 4c57772..e492ba4 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -30,9 +30,6 @@ noinst_PROGRAMS = \ pkgbindir = @RPMCONFIGDIR@ pkgbin_PROGRAMS = javadeps filesize dump_ld_config relative pdeath_execute -rpmsort_SOURCES = rpmsort.c -rpmsort_LDFLAGS = @LDFLAGS_STATIC@ - javadeps_SOURCES = javadeps.c filesize_SOURCES = filesize.c From 1ef7949b93ccd0c257043756b1a996ac757b5f20 Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Tue, 29 Sep 2009 15:06:06 +0400 Subject: [PATCH 5/7] scripts/Makefile.am: tweak to facilitate merging --- scripts/Makefile.am | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 0e5dab6..73bc7c1 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -4,12 +4,13 @@ AUTOMAKE_OPTIONS = 1.4 foreign EXTRA_DIST = \ posttrans-filetriggers 0ldconfig.filetrigger \ + functions find-package \ brp-adjust_libraries brp-alt brp-bytecompile_python \ brp-cleanup brp-compress brp-fix-perms brp-fixup brp-strip brp-verify_elf \ compress_files check-files \ - find-lang find-package \ + find-lang \ fixup-binconfig fixup-pkgconfig fixup-libtool fixup-libraries \ - functions files.req.list ldd \ + files.req.list ldd \ pam.prov pam.req pkgconfig.prov pkgconfig.req \ rpm2cpio.sh \ shell.req shell.prov shlib.req.awk strip_files \ @@ -20,14 +21,16 @@ installprefix = $(DESTDIR) all: configdir = ${prefix}/lib/rpm +config_DATA = files.req.list config_SCRIPTS = \ posttrans-filetriggers 0ldconfig.filetrigger \ + functions find-package \ brp-adjust_libraries brp-alt brp-bytecompile_python \ brp-cleanup brp-compress brp-fix-perms brp-fixup brp-strip brp-verify_elf \ compress_files check-files \ - find-lang find-package \ + find-lang \ fixup-binconfig fixup-pkgconfig fixup-libtool fixup-libraries \ - functions files.req.list ldd \ + ldd \ pam.prov pam.req pkgconfig.prov pkgconfig.req \ rpm2cpio.sh \ shell.req shell.prov shlib.req.awk strip_files \ From e879cdc371d33909e30b2889e6506b9146cea5bc Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Tue, 29 Sep 2009 16:04:38 +0400 Subject: [PATCH 6/7] spec: copy mkinstalldirs for older autotools --- rpm-4_0.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/rpm-4_0.spec b/rpm-4_0.spec index d2e4644..2b2fb34 100644 --- a/rpm-4_0.spec +++ b/rpm-4_0.spec @@ -209,6 +209,7 @@ find -type f \( -name .cvsignore -o -name \*~ -o -name \*.orig \) -print0 | %build touch config.rpath gettextize --force --quiet +install -pv -m644 /usr/share/automake/mkinstalldirs . install -pv -m644 /usr/share/gettext/intl/Makevars* po/Makevars autoreconf -fisv -I m4 # avoid extra build dependencies From 8d1cf08fe4e1d9a807d60bb3e3ba889062b19f5d Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Tue, 29 Sep 2009 16:06:38 +0400 Subject: [PATCH 7/7] 4.0.4-alt77.M40.26 - rpmio, rpmbuild: Added support for .xz/.lzma compressed sources and patches. - Removed old scripts in /usr/lib/rpm. --- rpm-4_0.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpm-4_0.spec b/rpm-4_0.spec index 2b2fb34..b29c5d4 100644 --- a/rpm-4_0.spec +++ b/rpm-4_0.spec @@ -4,7 +4,7 @@ Name: %rpm_name Version: %rpm_version -Release: alt77.M40.25 +Release: alt77.M40.26 %define ifdef() %if %{expand:%%{?%{1}:1}%%{!?%{1}:0}} %define get_dep() %(rpm -q --qf '%%{NAME} >= %%|SERIAL?{%%{SERIAL}:}|%%{VERSION}-%%{RELEASE}' %1 2>/dev/null || echo '%1 >= unknown') @@ -475,6 +475,10 @@ fi %_bindir/rpm2cpio.static %changelog +* Tue Sep 29 2009 Alexey Tourbin 4.0.4-alt77.M40.26 +- rpmio, rpmbuild: Added support for .xz/.lzma compressed sources and patches. +- Removed old scripts in /usr/lib/rpm. + * Tue Sep 29 2009 Alexey Tourbin 4.0.4-alt77.M40.25 - build/parsePrep.c (doUntar): Remove "-L" option from "unzip" invocation (Igor Vlasenko; closes: ALT#17407).