Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=226363
--- Comment #54 from xning(a)redhat.com 2012-03-06 00:01:16 EST ---
diff -Naur /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/Constants.pm
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/Constants.pm
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/Constants.pm
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/Constants.pm 2012-03-05
09:11:02.000000000 +0800
@@ -0,0 +1,4 @@
+package Locale::Constants;
+use Locale::Codes::Constants;
+*main::Locale::Constants:: = *main::Locale::Codes::Constants::;
+1
diff -Naur /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/Constants.pod
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/Constants.pod
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/Constants.pod
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/Constants.pod 2012-03-05
09:59:01.000000000 +0800
@@ -0,0 +1,27 @@
+=pod
+
+=head1 NAME
+
+Locale::Constants - constants for Locale codes
+
+=head1 DESCRIPTION
+
+B<Locale::Constants> is an alias of B<Locale::Codes::Constants>.
+B<Locale::Constants> has been replaced by B<Locale::Codes::Constants>.
+The module is supplied just because LSB requires it. Pls
+B<do not> use B<Locale::Constants> in new software.
+For more detail of B<Locale::Constants>, pls reference
B<Locale::Codes::Constants>.
+
+=head1 AUTHOR
+
+This B<Locale::Constants> is created and maintained by Xibo Ning
(xning(a)redhat.com)
+
+=head1 COPYRIGHT
+
+Just the same as Locale::Codes, or GPL+
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/lsb-release-2.0/Makefile
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/lsb-release-2.0/Makefile
---
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/lsb-release-2.0/Makefile
2008-04-17 01:50:14.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/lsb-release-2.0/Makefile
2012-02-29 09:46:31.000000000 +0800
@@ -21,6 +21,7 @@
man: lsb_release.1.gz
lsb_release.1.gz: lsb_release
+ @chmod u+x help2man lsb_release
@./help2man -N --include ./lsb_release.examples
--alt_version_key=program_version ./lsb_release >lsb_release.1
@gzip -9f lsb_release.1
diff -Naur /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/README
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/README
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/README
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/README 2012-02-29
18:44:09.000000000 +0800
@@ -0,0 +1,43 @@
+* Two Databases
+** LSB db
+ o Mysql database
+ o How to create LSB db? pls reference:
+
https://wiki.linuxfoundation.org/en/SpecDatabaseUsage
+ o Table names and table schemata, pls reference:
+
https://wiki.linuxfoundation.org/en/SpecDatabaseSchema
+
https://wiki.linuxfoundation.org/en/LSB_Elements_Schema
+ o we can query LSB db to get commands and libraries of a submodule
+
+** db from yum repo
+ o SQLite database, command sqlite3 works well
+ o we need package.sqlite and filelists.sqlite. You can download
+ them from one of Fedora mirror servers. Pls reference:
+
http://mirrors.fedoraproject.org/publiclist/
+ o from filelists.sqlite, we can get package id by a command name
+ or library .so name
+ o we can get package name, version, group, provides, etc. from
+ primary.sqlite by package id.
+
+** put the two database together
+ we get a command name or library .so name, then we ask
+ filelists.sqlite and primary.sqlite to get the package
+ name.
+
+* Two Tools
+ o Tools in 'specdb' directory work with LSB database.
+ These tools source config file 'specdb/control'
+ o Tools in 'repodb' directory work with repo database
+ o Pls reference '-h' or '--help' option of commands
+ o repodb tools output results on stdout in one line if
+ find a match package, others output the command or library
+ name to stderr. So, it's easy to process the command
+ output.
+ o repodb tools always output more packages, you need manually
+ remove the unwanted one.
+
+* Why Not Generate Dependencies automatically?
+ o LSB has more and more submodules
+ o we need support more than one architectures
+ o generating dependencies automatically, make spec file full of 'ifarch',
+ and we will get a long and complicated spec file.
+ o generating dependencies manually is not difficult
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/repodb/pl2pkg.pl
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/repodb/pl2pkg.pl
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/repodb/pl2pkg.pl
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/repodb/pl2pkg.pl
2012-02-29 17:35:02.000000000 +0800
@@ -0,0 +1,139 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw(say);
+use Getopt::Long;
+use DBI;
+
+use Cwd qw(abs_path getcwd);
+use File::Basename;
+use File::Temp qw(tempdir);
+use Config::IniFiles;
+
+#set up autoflush
+$| = 1;
+$ENV{LANG} = 'C';
+
+sub usage;
+sub clean_when_exit;
+sub when_get_SIGINT;
+
+my $default_SIGINT_func = $SIG{INT};
+$SIG{INT} = \&when_get_SIGINT;
+
+my ( $help, $like ) = qw( 0 0 );
+my ( $sucess, $failed, ) = qw( 0 1 );
+my ( $dbh, ) =qw();
+my ( $db_source, %attr );
+my ( $filelist, $pkg, ) = ( '', '', );
+my $st = '';
+my ( $rf_pkg, ) = ( '', '', );
+my $pkg_found = 0;
+
+GetOptions(
+ 'help' => \$help,
+ 'like' => \$like,
+ 'pkg=s' => \$pkg,
+ 'filelist=s' => \$filelist,
+
+);
+
+%attr = (
+ RaiseError => 1,
+ AutoCommit => 1,
+ PrintError => 1,
+);
+
+if ($help) {
+ usage;
+ goto EXIT;
+}
+
+if ( -e $pkg && -r $pkg ) {
+ $db_source = 'dbi:SQLite:' . $pkg;
+ $dbh = DBI->connect( $db_source, '', '', \%attr )
+ or die "Failed to connect $pkg: $!";
+ if ( !defined( $dbh ) ) {
+ say STDERR 'Failed to connect ' . $pkg . ': $!';
+ goto FAILED;
+ }
+}
+else {
+ say STDERR "$pkg: can not be open";
+ goto FAILED;
+}
+
+foreach my $pp (@ARGV) {
+ $pkg_found = 0;
+ my ( $pkg, $pkgKey, $provides ) = qw();
+ $st = '';
+ $st .= 'select provides.name, provides.pkgKey, ';
+ $st .= 'packages.name ';
+ $st .= 'from provides ';
+ $st .= 'left join packages ';
+ $st .= 'where provides.pkgKey = packages.pkgKey ';
+ $st .= 'and ( ';
+ if ($like) {
+ $st .= 'provides.name like ' . "'%$pp%' ";
+ } else {
+ $st .= 'provides.name = ' . "'$pp' ";
+ }
+ $st .= ' ) ';
+ $rf_pkg = $dbh->selectall_arrayref($st);
+ foreach my $row (@$rf_pkg) {
+ $pkg_found = 1;
+ $provides=$row->[0];
+ $pkgKey=$row->[1];
+ $pkg=$row->[2];
+ if ($like) {
+ say $pkg . ' - ' . $pkgKey . ' - ' . $pp . ' - ' .
$provides;
+ } else {
+ say $pkg . ' - ' . $pkgKey . ' - ' . $provides;
+ }
+ }
+ say STDERR $pp if (!$pkg_found);
+}
+
+EXIT:
+clean_when_exit;
+exit $sucess;
+FAILED:
+clean_when_exit;
+exit $failed;
+
+sub clean_when_exit {
+ $dbh->disconnect if ( defined( $dbh ) );
+}
+
+sub when_get_SIGINT {
+ clean_when_exit;
+ $SIG{INT} = \&$default_SIGINT_func;
+ &$default_SIGINT_func;
+ goto FAILED;
+}
+
+sub usage {
+ say <<'EOF'
+USAGE
+ pl2pkg.pl --pkg db provides
+
+DESCRIPTION
+ pl2pkg output format as follows:
+ when enable --like:
+ pkg - pkgKey - pp -- provides
+ when disable --like:
+ pkg - pkgKey - provides
+
+OPTIONS
+ --help => display this help page
+ --like => use 'like' replace of '=' in sql
+ --pkg pkg => give the repo package database
+
+EXAMPLE
+ ./pl2pkg.pl --pkg primary.sqlite ls bash
+ ./pl2pkg.pl --pkg primary.sqlite 'Perl(strict)' 'Perl(warnings)'
+
+REPORT BUG
+Pls report bugs to xning(a)redhat.com.
+EOF
+}
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/repodb/pp2pkg.pl
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/repodb/pp2pkg.pl
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/repodb/pp2pkg.pl
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/repodb/pp2pkg.pl
2012-02-29 17:36:11.000000000 +0800
@@ -0,0 +1,180 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use feature qw(say);
+use Getopt::Long;
+use DBI;
+
+use Cwd qw(abs_path getcwd);
+use File::Basename;
+use File::Temp qw(tempdir);
+use Config::IniFiles;
+
+#set up autoflush
+$| = 1;
+$ENV{LANG} = 'C';
+
+sub usage;
+sub clean_when_exit;
+sub when_get_SIGINT;
+
+my $default_SIGINT_func = $SIG{INT};
+$SIG{INT} = \&when_get_SIGINT;
+
+my ($help) = 0;
+my ( $sucess, $failed, ) = qw( 0 1 );
+my ( @dbh, @db );
+my ( $db_source, %attr );
+my ( $filelist, $pkg, ) = ( '', '', );
+my ( $pkgKey, ) = ( '', );
+
+GetOptions(
+ 'help' => \$help,
+ 'pkg=s' => \$pkg,
+ 'filelist=s' => \$filelist,
+);
+
+$db[0] = $filelist;
+$db[1] = $pkg;
+
+%attr = (
+ RaiseError => 1,
+ AutoCommit => 1,
+ PrintError => 1,
+);
+
+if ($help) {
+ usage;
+ goto EXIT;
+}
+
+foreach ( 0 .. $#db ) {
+ if ( -e $db[$_] ) {
+ if ( -f $db[$_] and -r $db[$_] ) {
+ $db_source = 'dbi:SQLite:' . $db[$_];
+ $dbh[$_] = DBI->connect( $db_source, '', '', \%attr )
+ or die "Failed to connect $db[$_]: $!";
+ goto FAILED if ( !defined( $dbh[$_] ) );
+ }
+ else {
+ say STDERR "$db[$_]: can not be open";
+ goto FAILED;
+ }
+ }
+ else {
+ say STDERR "filelist db do not exists" if ( $_ == 0 );
+ say STDERR "pkg db do not exists" if ( $_ == 1 );
+ goto FAILED;
+ }
+}
+
+foreach my $n (@ARGV) {
+ my $statement = '';
+ my ( $rf_file, $rf_pkg ) = qw();
+ my ( $pkg, $pkg_grp, $pkgKey, $dir, @files, @types, ) = qw();
+ my ( $n_dir, $n_file) = qw();
+ my $pkg_found = 0;
+ $n_dir=dirname $n;
+ $n_file=basename $n;
+ $statement .= 'select filelist.pkgKey, filelist.dirname, ';
+ $statement .= 'filelist.filenames, filelist.filetypes ';
+ $statement .= 'from filelist ';
+ $statement .= 'where ';
+ $statement .= '( filenames = "' . $n_file . '" ';
+ $statement .= 'or filenames like "' . $n_file . '/%" ';
+ $statement .= 'or filenames like "%/' . $n_file . '/%" ';
+ $statement .= 'or filenames like "%/' . $n_file . '") ';
+ if ($n_dir =~ m!^/!mx) {
+ $statement .= 'and filelist.dirname = "' . $n_dir . '" ';
+ }
+# say $statement;
+ $rf_file = $dbh[0]->selectall_arrayref($statement)
+ or die "failed to execute \"$statement\": $!";
+# say 'partial path name: ' . $n;
+ foreach my $row (@$rf_file) {
+ $pkgKey = $row->[0];
+ $dir = $row->[1];
+ @files = split m!/!, $row->[2];
+ @types = split m!!, $row->[3];
+ $files[ $#files + 1 ] = '' if ( $row->[2] =~ m!/$!mx );
+
+ if ( $#files == $#types ) {
+ foreach my $inx ( 0 .. $#files ) {
+ next if ($types[$inx] eq 'd');
+ if ($files[$inx] eq $n_file) {
+ $pkg_found = 1 if ( !$pkg_found );
+ $statement = '';
+ $statement .= 'select packages.pkgKey, packages.name, ';
+ $statement .= 'packages.rpm_group, packages.rpm_packager ';
+ $statement .= 'from packages ';
+ $statement .= 'where packages.pkgKey = ' . $pkgKey . ' ';
+ $statement .= '';
+ $rf_pkg = $dbh[1]->selectall_arrayref($statement)
+ or die "failed to execute \"$statement\": $!";
+ if ( ( scalar @$rf_pkg ) != 1 ) {
+ say STDERR $pkgKey
+ . ': more than one packages have this id';
+ goto FAILED;
+ }
+ $pkg = $rf_pkg->[0]->[1];
+ $pkg_grp = $rf_pkg->[0]->[2];
+ say '"' . $pkg_grp . '"' . ' - ' . $pkg . '
- '
+ . $types[$inx] . ' - '
+ . $dir . '/'
+ . $files[$inx] . ' - ' . ${n};
+ }
+ }
+ }
+ else {
+ my $errstr = 'pkgKey ' . $pkgKey;
+ $errstr .= ': files and types not one-to-one: ';
+ $errstr .= $#files . ' - ' . $#types;
+ say STDERR $errstr;
+ goto FAILED;
+ }
+ }
+ say STDERR $n if (!$pkg_found);
+ next;
+}
+
+EXIT:
+clean_when_exit;
+exit $sucess;
+FAILED:
+clean_when_exit;
+exit $failed;
+
+sub clean_when_exit {
+ for ( 0 .. $#db ) {
+ $dbh[$_]->disconnect if ( defined( $dbh[$_] ) );
+ }
+}
+
+sub when_get_SIGINT {
+ clean_when_exit;
+ $SIG{INT} = \&$default_SIGINT_func;
+ &$default_SIGINT_func;
+ goto FAILED;
+}
+
+sub usage {
+ say <<'EOF'
+USAGE
+ pp2pkg.pl --pkg pkg --filelist filelist ppname
+
+DESCRIPTION
+ pp2pkg.pl output format as follows:
+ rpm group - package name - file type - match file - ppname
+
+OPTIONS
+ --help => display this help page
+ --pkg pkg => give the repo package database
+ --filelist filelist => give the repo filelist database
+
+EXAMPLE
+ ./pp2pkg --pkg primary.sqlite --filelist filelists.sqlite ls cmp
+
+REPORT BUG
+Pls report bugs to xning(a)redhat.com.
+EOF
+}
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/control
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/control
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/control
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/control
2012-02-29 18:46:40.000000000 +0800
@@ -0,0 +1,8 @@
+#mysql settings
+lsbdbhost=localhost
+lsbdbport=3306
+lsbdbuser=lsbadmin
+lsbdbpassword=redhat-lsb
+lsbdb=lsb
+mysql_cmd="mysql --host ${lsbdbhost} --port ${lsbdbport} --user ${lsbdbuser} \
+-D ${lsbdb} --password=${lsbdbpassword} --batch -N -e"
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkarch
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkarch
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkarch
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkarch 2012-02-29
16:31:29.000000000 +0800
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+cd $(dirname $0)
+
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0)
+EOF
+}
+if [ $# -eq 0 ];then
+ lsbdb='
+select Aname from Architecture order by Aname
+'
+ ${mysql_cmd} "${lsbdb}"
+ exit 0
+else
+ usage
+ exit 1
+fi
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkcmd
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkcmd
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkcmd
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkcmd 2012-03-05
10:23:03.000000000 +0800
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+cd $(dirname $0)
+. control
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0) -h
+ $(basename $0) --help
+ $(basename $0) submod lsbver
+EOF
+}
+
+if [ $# -eq 0 -o $# -eq 1 ];then
+ usage
+ exit 1
+elif [ $# -eq 2 ];then
+ submod=$1
+ lsbver=$2
+ select_st='
+select cmd from
+(
+(
+select SMname, Cname as cmd, Ccandidatefor,
+Cdeprecatedsince, SMCappearedin, SMCwithdrawnin
+from Command
+left join SModCmd on Cid = SMCcid
+left join SubModule on SMCsmid = SMid
+where SMname is not NULL
+and Cpath is NULL
+and ( Cbuiltin is NULL or strcmp (Cbuiltin, "No") = 0 )
+)
+union
+(
+select "LSB_Others" as SMname, Cname as cmd, Ccandidatefor,
+Cdeprecatedsince, SMCappearedin, SMCwithdrawnin
+from Command
+left join SModCmd on Cid = SMCcid
+left join SubModule on SMCsmid = SMid
+where SMname is NULL
+and Cpath is NULL
+and ( Cbuiltin is NULL or strcmp (Cbuiltin, "No") = 0 )
+)
+union
+(
+select SMname, Cpath as cmd, Ccandidatefor,
+Cdeprecatedsince, SMCappearedin, SMCwithdrawnin
+from Command
+left join SModCmd on Cid = SMCcid
+left join SubModule on SMCsmid = SMid
+where SMname is not NULL
+and Cpath is not NULL
+and ( Cbuiltin is NULL or strcmp (Cbuiltin, "No") = 0 )
+)
+union
+(
+select "LSB_Others" as SMname, Cpath as cmd, Ccandidatefor,
+Cdeprecatedsince, SMCappearedin, SMCwithdrawnin
+from Command
+left join SModCmd on Cid = SMCcid
+left join SubModule on SMCsmid = SMid
+where SMname is NULL
+and Cpath is not NULL
+and ( Cbuiltin is NULL or strcmp (Cbuiltin, "No") = 0 )
+)
+) as ModCmd
+where 1 = 1
+'
+ where_st="
+and ( strcmp (SMname, '${submod}' ) = 0 )
+and ( Ccandidatefor is NULL
+ or Ccandidatefor <= $lsbver
+ or strcmp ( Ccandidatefor, 'Unknown' ) != 0 )
+and ( SMCappearedin is not NULL
+ and strcmp ( SMCappearedin, '' ) != 0
+ and SMCappearedin <= $lsbver )
+and ( SMCwithdrawnin is NULL
+ or SMCwithdrawnin > $lsbver )
+order by SMname,cmd
+"
+ ${mysql_cmd} "${select_st} ${where_st}"
+ exit 0
+else
+ echo 'too many options' >&2
+ usage
+ exit 1
+fi
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkheader
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkheader
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkheader
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkheader
2012-02-29 16:31:29.000000000 +0800
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+cd $(dirname $0)
+
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0) lsbver
+ $(basename $0) -h
+ $(basename $0) --help
+EOF
+}
+
+if [ $# -eq 0 ];then
+ usage
+ exit 1
+elif [ $# -eq 1 ];then
+ if [ "$1" = "-h" -o "$1" = "--help" ];then
+ usage
+ exit 1
+ fi
+ lsbver=$1
+ select_st='
+select Hname from
+(
+select Hname, Hcandidatefor,
+Happearedin, Hwithdrawnin
+from Header
+) as header
+where 1 = 1
+'
+where_st="
+and ( Hcandidatefor is NULL
+ or Hcandidatefor <= $lsbver
+ or strcmp ( Hcandidatefor, 'Unknown' ) != 0 )
+and ( Happearedin is not NULL
+ and strcmp ( Happearedin, '' )
+ and Happearedin <= $lsbver )
+and ( Hwithdrawnin is NULL
+ or Hwithdrawnin > $lsbver )
+order by Hname
+"
+
+${mysql_cmd} "${select_st} ${where_st}"
+ exit 0
+else
+ echo 'error: too many options' >&2
+ usage
+ exit 1
+fi
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkil
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkil
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkil
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkil 2012-02-29
16:31:29.000000000 +0800
@@ -0,0 +1,33 @@
+#!/bin/bash
+#Interpreted Language
+
+cd $(dirname $0)
+
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0) -h
+ $(basename $0) --help
+ $(basename $0) lsbver
+EOF
+}
+
+if [ $# -eq 0 -o $# -gt 1 -o "$1" = '-h' -o "$1" =
'--help' ];then
+ usage
+ exit 1
+fi
+
+lsbver=$1
+select_stm='
+select ILname from InterpretedLanguage
+'
+where_stm="
+where ( ILappearedin is not NULL
+ and strcmp ( ILappearedin, '' ) != 0
+ and ILappearedin <= ${lsbver} )
+and ( ILwithdrawnin is NULL
+ or ILwithdrawnin > ${lsbver} )
+"
+${mysql_cmd} "${select_stm} ${where_stm}"
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkilm
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkilm
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkilm
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkilm 2012-03-05
10:32:58.000000000 +0800
@@ -0,0 +1,48 @@
+#!/bin/bash
+#Interpreted Language Module
+
+cd $(dirname $0)
+
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0) -h
+ $(basename $0) --help
+ $(basename $0) interpretedlang lsbver
+EOF
+}
+
+if [ $# -ge 3 ];then
+ echo 'error: too many options' >&2
+ usage
+ exit 1
+elif [ "$1" = '-h' -o "$1" = '--help' -o $# -eq 0
];then
+ usage
+ exit 1
+fi
+interpretedlang=$1
+lsbver=$2
+
+select_stm='select ILMname, ILMversion
+from InterpretedLanguageModule
+left join InterpretedLanguage on ILMlanguage = ILid
+'
+
+where_stm="
+where
+strcmp ( ILname, '${interpretedlang}' ) = 0
+and ( ILMappearedin is not NULL
+ and strcmp ( ILMappearedin, '' ) != 0
+ and ILMappearedin <= ${lsbver} )
+and ( ILMwithdrawnin is NULL
+ or ILMwithdrawnin > ${lsbver} )
+and ( ILappearedin is not NULL
+ and strcmp ( ILappearedin, '' )
+ and ILappearedin <= ${lsbver} )
+and ( ILwithdrawnin is NULL
+ or ILwithdrawnin > ${lsbver} )
+"
+#echo "${select_stm} ${where_stm}"
+${mysql_cmd} "${select_stm} ${where_stm}"
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mklib
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mklib
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mklib
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mklib 2012-03-05
10:31:08.000000000 +0800
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+cd $(dirname $0)
+
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0) -h
+ $(basename $0) --help
+ $(basename $0) arch submod lsbver
+EOF
+}
+if [ $# -eq 0 -o $# -eq 2 ];then
+ usage
+ exit 1
+elif [ $# -eq 1 ];then
+ if [ $1 = '-h' -o $1 = '--help' ];then
+ usage
+ exit 1
+ else
+ echo "$1: wrong option" >&2
+ exit 1
+ fi
+elif [ $# -eq 3 ];then
+ arch=$1
+ submod=$2
+ lsbver=$3
+ select_st='
+select Lname, ALrunname
+from Library
+left join SModLib on Lid = SMLlid
+left join ArchLib on Lid = ALlid
+left join SubModule on SMLsmid = SMid
+left join Architecture on ALaid = Aid
+where 1 = 1
+'
+ where_st="
+and ( strcmp (Aname, '$arch') = 0 )
+and ( strcmp (SMname, '$submod') = 0 )
+and ( Lcandidatefor is NULL
+ or Lcandidatefor <= $lsbver
+ or strcmp ( Lcandidatefor, 'Unknown' ) != 0 )
+and ( ALappearedin is not NULL
+ and strcmp ( ALappearedin, '' ) != 0
+ and ALappearedin <= $lsbver )
+and ( ALwithdrawnin is NULL
+ or ALwithdrawnin > $lsbver )
+and ( SMLappearedin is not NULL
+ and strcmp ( SMLappearedin, '' ) != 0
+ and SMLappearedin <= $lsbver )
+and ( SMLwithdrawnin is NULL
+ or SMLwithdrawnin > $lsbver )
+"
+ ${mysql_cmd} "$select_st $where_st"
+ exit 0
+else
+ echo 'too many options' >&2
+ usage
+ exit 1
+fi
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkmod
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkmod
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkmod
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkmod 2012-02-29
16:31:29.000000000 +0800
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+cd $(dirname $0)
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0)
+EOF
+}
+if [ $# -eq 0 ];then
+ select_st='
+select Mname from Module order by Mname
+'
+ ${mysql_cmd} "$select_st"
+ exit 0
+else
+ usage
+ exit 1
+fi
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mksubmod
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mksubmod
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mksubmod
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mksubmod
2012-02-29 16:31:29.000000000 +0800
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+cd $(dirname $0)
+. control
+
+function usage {
+cat <<EOF >&2
+USAGE:
+ $(basename $0) -h
+ $(basename $0) --help
+ $(basename $0)
+ $(basename $0) mod lsbver
+EOF
+ exit 1
+}
+
+if [ $# -eq 0 ];then
+ select_st='select SMname from SubModule'
+ { ${mysql_cmd} "${select_st}";echo "LSB_Others"; } | sort
+ exit 0
+elif [ $# -eq 1 ];then
+ if [ "$1" = '--help' -o "$1" = '-h' ];then
+ usage
+ else
+ echo "$1: wrong option" 1>&2
+ exit 1
+ fi
+elif [ $# -eq 2 ];then
+ mod=$1
+ lsbver=$2
+ select_st='
+select SMname
+from SubModule
+left join ModSMod on SMid = MSMsmid
+left join Module on MSMmid = Mid
+where 1 = 1
+'
+ where_st="
+and ( strcmp (Mname, '$mod') = 0 )
+and ( SMmandatorysince is not NULL
+ and strcmp ( SMmandatorysince, '' ) != 0
+ and SMmandatorysince <= $lsbver )
+and ( SMdeprecatedsince is NULL or SMdeprecatedsince > $lsbver )
+and ( MSMappearedin is not NULL
+and strcmp ( MSMappearedin, '' ) != 0
+and MSMappearedin <= $lsbver )
+and ( MSMwithdrawnin is NULL or MSMwithdrawnin > $lsbver )"
+
+#echo "${select_st} ${where_st}"
+${mysql_cmd} "${select_st} ${where_st}"
+ exit 0
+else
+ echo "wrong: too many options" >&2
+ usage
+ exit 1
+fi
diff -Naur
/home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkver
/home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkver
--- /home/tsllst/Downloads/redhat-lsb-4.0/redhat-lsb-4.0/utils/specdb/mkver
1970-01-01 08:00:00.000000000 +0800
+++ /home/tsllst/rpmbuild/SOURCES/redhat-lsb-4.1/utils/specdb/mkver 2012-02-29
16:31:29.000000000 +0800
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+cd $(dirname $0)
+. control
+
+function usage {
+ cat <<EOF >&2
+USAGE
+ $(basename $0)
+EOF
+}
+if [ $# -eq 0 ];then
+ select_st='
+select LVvalue from LSBVersion order by LVvalue
+'
+${mysql_cmd} "$select_st"
+ exit 0
+else
+ usage
+ exit 1
+fi
--
Configure bugmail:
https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.