<86>Feb 8 06:31:30 userdel[51091]: delete user 'rooter' <86>Feb 8 06:31:30 userdel[51091]: removed group 'rooter' owned by 'rooter' <86>Feb 8 06:31:30 userdel[51091]: removed shadow group 'rooter' owned by 'rooter' <86>Feb 8 06:31:30 groupadd[51204]: group added to /etc/group: name=rooter, GID=639 <86>Feb 8 06:31:30 groupadd[51204]: group added to /etc/gshadow: name=rooter <86>Feb 8 06:31:30 groupadd[51204]: new group: name=rooter, GID=639 <86>Feb 8 06:31:30 useradd[51466]: new user: name=rooter, UID=639, GID=639, home=/root, shell=/bin/bash <86>Feb 8 06:31:30 userdel[51593]: delete user 'builder' <86>Feb 8 06:31:30 userdel[51593]: removed group 'builder' owned by 'builder' <86>Feb 8 06:31:30 userdel[51593]: removed shadow group 'builder' owned by 'builder' <86>Feb 8 06:31:30 groupadd[51630]: group added to /etc/group: name=builder, GID=640 <86>Feb 8 06:31:30 groupadd[51630]: group added to /etc/gshadow: name=builder <86>Feb 8 06:31:30 groupadd[51630]: new group: name=builder, GID=640 <86>Feb 8 06:31:30 useradd[51698]: new user: name=builder, UID=640, GID=640, home=/usr/src, shell=/bin/bash warning: Macro %update_setup_rb not found warning: Macro %ruby_config not found warning: Macro %ruby_build not found warning: Macro %ruby_vendor not found warning: Macro %ruby_test_unit not found warning: Macro %ruby_install not found warning: Macro %rdoc not found warning: Macro %ruby_sitelibdir not found warning: Macro %ruby_ri_sitedir not found <13>Feb 8 06:31:34 rpmi: libidn2-2.1.0-alt2 sisyphus+219831.100.1.1 1548176663 installed <13>Feb 8 06:31:34 rpmi: libruby-2.5.4-alt2 sisyphus+219587.400.1.1 1547808517 installed <13>Feb 8 06:31:34 rpmi: rpm-macros-ruby-1:0.7.3-alt1 sisyphus+219657.500.1.1 1548056926 installed <13>Feb 8 06:31:34 rpmi: libexpat-2.2.4-alt1 1503305345 installed <13>Feb 8 06:31:34 rpmi: publicsuffix-list-dafsa-20181106-alt1 sisyphus.216228.100 1541611754 installed <13>Feb 8 06:31:34 rpmi: libpsl-0.20.2-alt2 sisyphus.216228.200 1541611889 installed <13>Feb 8 06:31:34 rpmi: libnghttp2-1.34.0-alt1 sisyphus.214524.100 1539249634 installed <13>Feb 8 06:31:34 rpmi: libbrotlicommon-1.0.7-alt1 sisyphus.215491.100 1540428597 installed <13>Feb 8 06:31:34 rpmi: libbrotlidec-1.0.7-alt1 sisyphus.215491.100 1540428597 installed <13>Feb 8 06:31:34 rpmi: rsync-3.1.3-alt1 1518721086 installed <13>Feb 8 06:31:34 rpmi: libverto-0.3.0-alt1_5 1525957714 installed <13>Feb 8 06:31:34 rpmi: libkeyutils-1.6-alt2 sisyphus.217337.100 1544003161 installed <13>Feb 8 06:31:34 rpmi: libcom_err-1.44.5-alt1 sisyphus.218838.100 1546206118 installed <13>Feb 8 06:31:34 rpmi: libedit3-3.1.20141030-alt1 1414760452 installed <13>Feb 8 06:31:34 rpmi: less-481-alt2 1477575586 installed <13>Feb 8 06:31:34 rpmi: diffstat-1.62-alt1 sisyphus.217172.100 1543712536 installed <13>Feb 8 06:31:34 rpmi: libtasn1-4.13-alt2 1521133850 installed <13>Feb 8 06:31:34 rpmi: libp11-kit-0.23.9-alt5 1525798298 installed <13>Feb 8 06:31:34 rpmi: libgdbm-1.8.3-alt10 1454943334 installed <13>Feb 8 06:31:34 rpmi: libyaml2-0.2.1-alt1 sisyphus.214707.100 1539464411 installed <13>Feb 8 06:31:34 rpmi: alternatives-0.5.0-alt1 sisyphus.219012.300 1546745004 installed <13>Feb 8 06:31:34 rpmi: ca-certificates-2019.02.01-alt1 sisyphus+220384.200.1.1 1549032756 installed <13>Feb 8 06:31:34 rpmi: ca-trust-0.1.1-alt2 1515595785 installed <13>Feb 8 06:31:34 rpmi: p11-kit-trust-0.23.9-alt5 1525798298 installed <13>Feb 8 06:31:34 rpmi: libcrypto1.1-1.1.0j-alt1 sisyphus.216647.100 1542743878 installed <13>Feb 8 06:31:34 rpmi: libssl1.1-1.1.0j-alt1 sisyphus.216647.100 1542743878 installed <13>Feb 8 06:31:34 rpmi: ruby-rubygems-update-3.0.1-alt1 sisyphus+218713.1100.2.1 1547736306 installed <13>Feb 8 06:31:34 rpmi: gem-did-you-mean-1.3.0-alt1 sisyphus+219587.100.1.1 1547808061 installed <13>Feb 8 06:31:34 rpmi: ruby-minitest-5.11.3-alt1 sisyphus+219345.3500.8.1 1547631954 installed <13>Feb 8 06:31:34 rpmi: ruby-net-telnet-0.2.0-alt1 sisyphus+219345.2700.8.1 1547631566 installed <13>Feb 8 06:31:34 rpmi: gem-power-assert-1.1.3-alt1 sisyphus+219345.3200.8.1 1547631761 installed <13>Feb 8 06:31:34 rpmi: rake-12.3.2-alt2 sisyphus+218713.60.1.1 1547734935 installed <13>Feb 8 06:31:34 rpmi: ruby-rake-12.3.2-alt2 sisyphus+218713.60.1.1 1547734935 installed <13>Feb 8 06:31:34 rpmi: ruby-test-unit-1:3.2.9-alt1 sisyphus+219345.3100.8.1 1547631703 installed <13>Feb 8 06:31:34 rpmi: ruby-xmlrpc-0.3.0-alt1 sisyphus+219345.3300.8.1 1547631818 installed <13>Feb 8 06:31:34 rpmi: gem-2.5.4-alt2 sisyphus+219587.400.1.1 1547808487 installed <13>Feb 8 06:31:34 rpmi: ruby-rdoc-6.1.1-alt2 sisyphus+219587.200.1.1 1547808132 installed <13>Feb 8 06:31:35 rpmi: ruby-stdlibs-2.5.4-alt2 sisyphus+219587.400.1.1 1547808517 installed <13>Feb 8 06:31:35 rpmi: irb-2.5.4-alt2 sisyphus+219587.400.1.1 1547808487 installed <13>Feb 8 06:31:35 rpmi: ruby-bundler-2.0.1-alt1 sisyphus+218713.700.2.1 1547736109 installed <13>Feb 8 06:31:35 rpmi: bundle-2.0.1-alt1 sisyphus+218713.700.2.1 1547736109 installed <13>Feb 8 06:31:35 rpmi: ruby-2.5.4-alt2 sisyphus+219587.400.1.1 1547808517 installed <86>Feb 8 06:31:35 groupadd[74669]: group added to /etc/group: name=_keytab, GID=499 <86>Feb 8 06:31:35 groupadd[74669]: group added to /etc/gshadow: name=_keytab <86>Feb 8 06:31:35 groupadd[74669]: new group: name=_keytab, GID=499 <13>Feb 8 06:31:35 rpmi: libkrb5-1.16.3-alt1 sisyphus.219042.100 1547045815 installed <86>Feb 8 06:31:35 groupadd[75345]: group added to /etc/group: name=sasl, GID=498 <86>Feb 8 06:31:35 groupadd[75345]: group added to /etc/gshadow: name=sasl <86>Feb 8 06:31:35 groupadd[75345]: new group: name=sasl, GID=498 <13>Feb 8 06:31:35 rpmi: libsasl2-3-2.1.27-alt1 sisyphus.218476.200 1545647755 installed <13>Feb 8 06:31:35 rpmi: libldap-2.4.46-alt1.1 sisyphus+219907.4400.1.1 1548349979 installed <13>Feb 8 06:31:35 rpmi: libcurl-7.64.0-alt1 sisyphus+220787.100.1.1 1549439379 installed <13>Feb 8 06:31:35 rpmi: openssh-common-7.9p1-alt1 sisyphus.215513.200 1541525253 installed <86>Feb 8 06:31:35 groupadd[76527]: group added to /etc/group: name=sshagent, GID=497 <86>Feb 8 06:31:35 groupadd[76527]: group added to /etc/gshadow: name=sshagent <86>Feb 8 06:31:35 groupadd[76527]: new group: name=sshagent, GID=497 <13>Feb 8 06:31:35 rpmi: openssh-clients-7.9p1-alt1 sisyphus.215513.200 1541525253 installed <13>Feb 8 06:31:36 rpmi: git-core-2.19.2-alt1 sisyphus.216711.100 1542851772 installed <13>Feb 8 06:31:36 rpmi: ruby-tool-setup-3.4.1-alt13 sisyphus.213465.100 1537944495 installed <13>Feb 8 06:31:36 rpmi: libruby-devel-2.5.4-alt2 sisyphus+219587.400.1.1 1547808517 installed <13>Feb 8 06:31:36 rpmi: rpm-build-ruby-1:0.7.3-alt1 sisyphus+219657.500.1.1 1548056926 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/ruby-rexical-1.0.5-alt3.1.nosrc.rpm Installing ruby-rexical-1.0.5-alt3.1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.415 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf ruby-rexical-1.0.5 + echo 'Source #0 (ruby-rexical-1.0.5.tar):' Source #0 (ruby-rexical-1.0.5.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/ruby-rexical-1.0.5.tar + cd ruby-rexical-1.0.5 + /bin/chmod -c -Rf u+rwX,go-w . + echo 'Patch #1 (ruby-rexical-1.0.5-alt-pick-of-rubygems.patch):' Patch #1 (ruby-rexical-1.0.5-alt-pick-of-rubygems.patch): + /usr/bin/patch -p1 patching file bin/rex + sed 's/ rex / rexical /g' README.ja README.rdoc DOCUMENTATION.en.rdoc DOCUMENTATION.ja.rdoc sample/sample1.rex sample/sample2.rex sample/xhtmlparser.rex Rexical README =========== Rexical は Ruby のためのスキャナジェネレータです。 lex の Ruby 版に相当します。 Racc とともに使うように設計されています。 必要環境 -------- * ruby 1.8 以降 インストール ------------ パッケージのトップディレクトリで次のように入力してください。 ($ は通常ユーザ、# はルートのプロンプトです) $ ruby setup.rb config $ ruby setup.rb setup ($ su) # ruby setup.rb install これで通常のパスに Racc がインストールされます。自分の好き なディレクトリにインストールしたいときは、setup.rb config に 各種オプションをつけて実行してください。オプションのリストは $ ruby setup.rb --help で見られます。 テスト ------ sample/ 以下にいくつか Rexical の文法ファイルのサンプルが用意 してあります。以下を実行してください。 $ rexical sample1.rex --stub $ ruby sample1.rex.rb sample1.c $ rexical sample2.rex --stub $ ruby sample2.rex.rb sample2.bas $ racc calc3.racc $ rexical calc3.rex $ ruby calc3.tab.rb Rexical の詳しい文法は doc/ ディレクトリ以下を見てください。 また記述例は sample/ ディレクトリ以下を見てください。 ライセンス ---------- ライセンスは GNU Lesser General Public License (LGPL) version 2 です。ただしユーザが書いた規則ファイルや、Racc がそこから生成した Ruby スクリプトはその対象外です。好きなライセンスで配布してください。 バグなど -------- Rexical を使っていてバグらしき現象に遭遇したら、下記のアドレスまで メールをください。 そのときはできるだけバグを再現できる文法ファイルを付けてください。 ARIMA Yasuhiro arima.yasuhiro@nifty.com http://raa.ruby-lang.org/project/rex/ = Rexical * http://github.com/tenderlove/rexical/tree/master == DESCRIPTION Rexical is a lexical scanner generator. It is written in Ruby itself, and generates Ruby program. It is designed for use with Racc. == SYNOPSIS Here is a sample lexical definition: class Sample macro BLANK [\ \t]+ rule BLANK # no action \d+ { [:digit, text.to_i] } \w+ { [:word, text] } \n . { [text, text] } end Here is the command line usage: $ rexical sample1.rex --stub $ ruby sample1.rex.rb sample1.c $ rexical sample2.rex --stub $ ruby sample2.rex.rb sample2.bas $ racc calc3.racc $ rexical calc3.rex $ ruby calc3.tab.rb == REQUIREMENTS * ruby version 1.8.x or later. == INSTALL * sudo gem install rexical == LICENSE Rexical is distributed under the terms of the GNU Lesser General Public License version 2. Note that you do NOT need to follow LGPL for your own parser (Rexical outputs). You can provide those files under any licenses you want. = REX: Ruby Lex for Racc == About Lexical Scanner Generator for Ruby, with Racc. == Usage rexical [options] grammarfile -o --output-file filename designated output filename. -s --stub append stub main for debug. -i --ignorecase ignore char case -C --check-only syntax check only. --independent independent mode. -d --debug print debug information -h --help print usage. --version print version. --copyright print copyright. == Default Output Filename It destinate from foo.rex to foo.rex.rb. This name is for a follow description. require 'foo.rex' == Grammar File Format A definition is given in order of a header part, a rule part, and the footer part. One or more sections are included in a rule part. As for each section, the head of the sentence starts by the keyword. Summary: [Header Part] "class" Foo ["option" [options] ] ["inner" [methods] ] ["macro" [macro-name regular-expression] ] "rule" [start-state] pattern [actions] "end" [Footer Part] === Grammar File Example class Foo macro BLANK \s+ DIGIT \d+ rule {BLANK} {DIGIT} { [:NUMBER, text.to_i] } . { [text, text] } end == Header Part ( Optional ) All the contents described before the definition of a rule part are posted to head of the output file. == Footer Part ( Optional ) All the contents described after the definition of a rule part are posted to tail of the output file. == Rule Part Rule part is from the line which begins from the "class" keyword to the line which begins from the "end" keyword. The class name outputted after a keyword "class" is specified. If embellished with a module name, it will become a class in a module. The class which inherited Racc::Parser is generated. === Rule Header Example class Foo class Bar::Foo == Option Section ( Optional ) "option" is start keyword. "ignorecase" when pattern match, ignore char case. "stub" append stub main for debug. "independent" independent mode, for it is not inherited Racc. == Inner Section ( Optional ) "inner" is start keyword. The contents defined here are defined by the inside of the class of the generated scanner. == Macro Section ( Optional ) "macro" is start keyword. One regular expression is named. A blank character (0x20) can be included by escaping by \ . === Macro Section Example DIGIT \d+ IDENT [a-zA-Z_][a-zA-Z0-9_]* BLANK [\ \t]+ REMIN \/\* REMOUT \*\/ == Rule Section "rule" is start keyword. [state] pattern [actions] === state: Start State ( Optional ) A start state is expressed with the identifier which prefaces ":". When the continuing alphabetic character is a capital letter, it will be in an exclusive start state. When it is a small letter, it will be in an inclusive start state. Initial value and default value of a start state is nil. === pattern: String Pattern The regular expression for specifying a character string. The macro definition bundled with { } can be used for description of a regular expression. A macro definition is used in order to use a regular expression including a blank. === actions: Processing Actions ( Optional ) Action is performed when a pattern is suited. The processing which creates a suitable token is defined. The arrangement whose token has the second clause of classification and a value, or nil. The following elements can be used in order to create a token. lineno Line number ( Read Only ) text Matched string ( Read Only ) state Start state ( Read/Write ) Action is bundled with { }. It is the block of Ruby. Don't use the function to change the flow of control exceeding a block. ( return, exit, next, break, ... ) If action is omitted, the character string which matched will be canceled and will progress to the next scan. === Rule Part Example {REMIN} { state = :REM ; [:REM_IN, text] } :REM {REMOUT} { state = nil ; [:REM_OUT, text] } :REM (.+)(?={REMOUT}) { [:COMMENT, text] } {BLANK} -?{DIGIT} { [:NUMBER, text.to_i] } {WORD} { [:word, text] } . { [text, text] } == Comment ( Optional ) From "#" to the end of the line becomes a comment in each line. == Usage for Generated Class === scan_setup() The event for initializing at the time of the execution start of a scanner. It is redefined and used. === scan_str( str ) Parse the string described by the defined grammar. Token is stored in an inside. === scan_file( filename ) Parse the file described by the defined grammar. Token is stored in an inside. === next_token One token stored in the inside is taken out. The last returns nil. == Notice This specification is provisional and may be changed without a preliminary announcement. = REX: Ruby Lex for Racc == 概要 Racc と併用する Ruby 用の字句スキャナ生成ツール。 == 使い方 rexical [options] grammarfile -o --output-file filename 出力ファイル名指定 -s --stub デバッグ用の主処理を付加 -i --ignorecase 大文字小文字を区別しない -C --check-only 文法検査のみ --independent 非依存モード -d --debug デバッグ情報表示 -h --help 使い方の説明 --version バージョン表明 --copyright 著作権情報表示 == デフォルトの出力ファイル名 foo.rex について foo.rex.rb を出力する。 以下のように利用されることを想定している。 require 'foo.rex' == 入力ファイル構造 頭部、規則部、脚部の順に定義する。 規則部には、複数の節が含まれる。 各節は、行頭がキーワードで始まる。 概要: [頭部] "class" Foo ["option" [オプション] ] ["inner" [メソッド定義] ] ["macro" [マクロ名 正規表現] ] "rule" [スタート状態] パターン [アクション] "end" [脚部] === 入力ファイル記述例 class Foo macro BLANK \s+ DIGIT \d+ rule {BLANK} {DIGIT} { [:NUMBER, text.to_i] } . { [text, text] } end == 頭部(省略可能) 規則部の定義以前に記述された内容は、すべて出力ファイル冒頭に転記される。 == 脚部(省略可能) 規則部の定義以降に記述された内容は、すべて出力ファイル末尾に転記される。 == 規則部 規則部は "class" キーワードから始まる行から "end" キーワードから始まる 行までである。 "class" キーワードに続けて出力するクラス名を指定する。 モジュール名で修飾すると、モジュール内クラスとなる。 Racc::Parser を継承したクラスを生成する。 === 規則部定義例 class Foo class Bar::Foo == オプション(省略可能) この節は "option" キーワードで始まる。 "ignorecase" 大文字小文字を区別しない。 "stub" デバッグ用の主処理を付加 "independent" 非依存モード。Racc を継承しない。 == 内部ユーザコード(省略可能) この節は "inner" キーワードで始まる。 ここで定義した内容は、生成したスキャナのクラスの内部で定義される。 == マクロ定義(省略可能) この節は "macro" キーワードで始まる。 一綴りの正規表現に名前をつける。 \ でエスケープすることで空白を含めることができる。 === マクロ定義例 DIGIT \d+ IDENT [a-zA-Z_][a-zA-Z0-9_]* BLANK [\ \t]+ REMIN \/\* REMOUT \*\/ == 走査規則 この節は "rule" キーワードで始まる。 [state] pattern [actions] === state: スタート状態(省略可能) スタート状態は ":" を前置する識別子で表される。 続く英字が大文字のとき、排他的スタート状態となる。 小文字のとき、包含的スタート状態となる。 スタート状態の初期値および省略時値は nil である。 === pattern: 文字列パターン 文字列を特定するための正規表現。 正規表現の記述には、括弧で括ったマクロ定義を用いることができる。 空白を含む正規表現を用いるには、マクロを使用する。 === actions: アクション(省略可能) パターンに適合するときアクションは実行される。 適切なトークンを作成する処理を定義する。 トークンは、種別と値の二項を持つ配列、または nil である。 トークンを作成するために以下の要素を利用できる。 lineno 入力行番号 ( Read Only ) text 検出した文字列 ( Read Only ) state スタート状態 ( Read/Write ) アクションは { } で括った Ruby のブロックである。 ブロックを越えて制御の流れを変える機能を使用してはいけない。 ( return, exit, next, break, ... ) アクションが省略されると、適合した文字列は破棄されて次の走査に進む。 === 走査規則定義例 {REMIN} { state = :REM ; [:REM_IN, text] } :REM {REMOUT} { state = nil ; [:REM_OUT, text] } :REM (.+)(?={REMOUT}) { [:COMMENT, text] } {BLANK} -?{DIGIT} { [:NUMBER, text.to_i] } {WORD} { [:word, text] } . { [text, text] } == コメント(省略可能) 各行において "#" から 行末までがコメントになる。 == 生成したクラスの使い方 === scan_setup() スキャナの実行開始時に初期化するためのイベント。 再定義して使用する。 === scan_str( str ) 定義された文法によって記述された文字列を解釈する。 token を内部に保持する。 === scan_file( filename ) 定義された文法によって記述されたファイルを読み込む。 token を内部に保持する。 === next_token 内部に保持する token をひとつずつ取り出す。 最後は nil を返す。 == 注意 本仕様は暫定的であり、予告なく変更される場合がある。 # # sample1.rex # lexical definition sample for rex # # usage # rexical sample1.rex --stub # ruby sample1.rex.rb sample1.c # class Sample1 macro BLANK \s+ REM_IN \/\* REM_OUT \*\/ REM \/\/ rule # [:state] pattern [actions] # remark {REM_IN} { state = :REMS; [:rem_in, text] } :REMS {REM_OUT} { state = nil; [:rem_out, text] } :REMS .*(?={REM_OUT}) { [:remark, text] } {REM} { state = :REM; [:rem_in, text] } :REM \n { state = nil; [:rem_out, text] } :REM .*(?=$) { [:remark, text] } # literal \"[^"]*\" { [:string, text] } # " \'[^']\' { [:character, text] } # ' # skip {BLANK} # no action # numeric \d+ { [:digit, text.to_i] } # identifier \w+ { [:word, text] } . { [text, text] } end # # sample2.rex # lexical definition sample for rex # # usage # rexical sample2.rex --stub # ruby sample2.rex.rb sample2.bas # class Sample2 option ignorecase macro BLANK \s+ REMARK \' # ' rule {REMARK} { state = :REM; [:rem_in, text] } # ' :REM \n { state = nil; [:rem_out, text] } :REM .*(?=$) { [:remark, text] } \"[^"]*\" { [:string, text] } # " {BLANK} # no action INPUT { [:input, text] } PRINT { [:print, text] } \d+ { [:digit, text.to_i] } \w+ { [:word, text] } . { [text, text] } end # # xhtmlparser.rex # lexical scanner definition for rex # # usage # rexical xhtmlparser.rex --stub # ruby xhtmlparser.rex.rb sample.xhtml # class XHTMLParser option ignorecase macro BLANK \s+ TAG_IN \< TAG_OUT \> ETAG_IN \<\/ ETAG_OUT \/\> XTAG_IN \<\? XTAG_OUT \?\> EXT \! REM \-\- EQUAL \= Q1 \' Q2 \" rule # [:state] pattern [actions] {XTAG_IN} { state = :TAG; [:xtag_in, text] } {ETAG_IN} { state = :TAG; [:etag_in, text] } {TAG_IN} { state = :TAG; [:tag_in, text] } :TAG {EXT} { state = :EXT; [:ext, text] } :EXT {REM} { state = :REM; [:rem_in, text] } :EXT {XTAG_OUT} { state = nil; [:xtag_out, text] } :EXT {TAG_OUT} { state = nil; [:tag_out, text] } :EXT .+(?={REM}) { [:exttext, text] } :EXT .+(?={TAG_OUT}) { [:exttext, text] } :EXT .+(?=$) { [:exttext, text] } :EXT \n :REM {REM} { state = :EXT; [:rem_out, text] } :REM .+(?={REM}) { [:remtext, text] } :REM .+(?=$) { [:remtext, text] } :REM \n :TAG {BLANK} :TAG {XTAG_OUT} { state = nil; [:xtag_out, text] } :TAG {ETAG_OUT} { state = nil; [:etag_out, text] } :TAG {TAG_OUT} { state = nil; [:tag_out, text] } :TAG {EQUAL} { [:equal, text] } :TAG {Q1} { state = :Q1; [:quote1, text] } # ' :Q1 {Q1} { state = :TAG; [:quote1, text] } # ' :Q1 [^{Q1}]+(?={Q1}) { [:value, text] } # ' :TAG {Q2} { state = :Q2; [:quote2, text] } # " :Q2 {Q2} { state = :TAG; [:quote2, text] } # " :Q2 [^{Q2}]+(?={Q2}) { [:value, text] } # " :TAG [\w\-]+(?={EQUAL}) { [:attr, text] } :TAG [\w\-]+ { [:element, text] } \s+(?=\S) .*\S(?=\s*{ETAG_IN}) { [:text, text] } .*\S(?=\s*{TAG_IN}) { [:text, text] } .*\S(?=\s*$) { [:text, text] } \s+(?=$) inner end + cp /usr/share/ruby-setup/setup.rb setup.rb + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.7940 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd ruby-rexical-1.0.5 + /usr/bin/ruby -rvendor-specific setup.rb config setup.rb:283: warning: key "bin-dir" is duplicated and overwritten on line 284 ---> bin <--- bin ---> lib ---> lib/rexical <--- lib/rexical <--- lib + /usr/bin/ruby -rvendor-specific setup.rb setup setup.rb:283: warning: key "bin-dir" is duplicated and overwritten on line 284 ---> bin updating shebang: rex <--- bin ---> lib ---> lib/rexical <--- lib/rexical <--- lib + pushd test ~/RPM/BUILD/ruby-rexical-1.0.5/test ~/RPM/BUILD/ruby-rexical-1.0.5 + /usr/bin/ruby -rvendor-specific -I../lib + find . -name 'test*.rb' -print0 + xargs -r0 -n 1 true -I../lib -I./ + popd ~/RPM/BUILD/ruby-rexical-1.0.5 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.37057 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/ruby-rexical-buildroot + : + /bin/rm -rf -- /usr/src/tmp/ruby-rexical-buildroot + cd ruby-rexical-1.0.5 + /usr/bin/ruby -rvendor-specific setup.rb install --prefix=/usr/src/tmp/ruby-rexical-buildroot setup.rb:283: warning: key "bin-dir" is duplicated and overwritten on line 284 rm -f InstalledFiles ---> bin mkdir -p /usr/src/tmp/ruby-rexical-buildroot/usr/bin install rex /usr/bin/ <--- bin ---> lib mkdir -p /usr/src/tmp/ruby-rexical-buildroot/usr/lib/ruby/site_ruby install rexical.rb /usr/lib/ruby/site_ruby/ ---> lib/rexical mkdir -p /usr/src/tmp/ruby-rexical-buildroot/usr/lib/ruby/site_ruby/rexical install rexcmd.rb /usr/lib/ruby/site_ruby/rexical install generator.rb /usr/lib/ruby/site_ruby/rexical <--- lib/rexical <--- lib install_gemspec: unable to find *.gemspec. Skipping. + mv /usr/src/tmp/ruby-rexical-buildroot/usr/bin/rex /usr/src/tmp/ruby-rexical-buildroot/usr/bin/rexical + /usr/bin/rdoc -o /usr/src/tmp/ruby-rexical-buildroot/usr/share/ri/site --ri --all lib/ Parsing sources... 33% [ 1/ 3] lib/rexical.rb 66% [ 2/ 3] lib/rexical/generator.rb 100% [ 3/ 3] lib/rexical/rexcmd.rb Generating RI format into /usr/src/tmp/ruby-rexical-buildroot/usr/share/ri/site... Files: 3 Classes: 3 ( 1 undocumented) Modules: 1 ( 1 undocumented) Constants: 7 ( 6 undocumented) Attributes: 11 (10 undocumented) Methods: 17 ( 7 undocumented) Total: 39 (25 undocumented) 35.90% documented Elapsed: 0.1s + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/ruby-rexical-buildroot (auto) Verifying and fixing files in /usr/src/tmp/ruby-rexical-buildroot (binconfig,pkgconfig,libtool,desktop) Checking contents of files in /usr/src/tmp/ruby-rexical-buildroot/ (default) Compressing files in /usr/src/tmp/ruby-rexical-buildroot (auto) Adjusting library links in /usr/src/tmp/ruby-rexical-buildroot ./usr/lib: Verifying ELF objects in /usr/src/tmp/ruby-rexical-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Hardlinking identical .pyc and .pyo files Processing files: ruby-rexical-1.0.5-alt3.1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.1305 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd ruby-rexical-1.0.5 + DOCDIR=/usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-1.0.5 + export DOCDIR + rm -rf /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-1.0.5 + /bin/mkdir -p /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-1.0.5 + cp -prL README.rdoc DOCUMENTATION.en.rdoc /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-1.0.5 + chmod -R go-w /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-1.0.5 + chmod -R a+rX /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-1.0.5 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.yDzFq7 find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,ruby,shell) Gemfile: nil Executables: ["/usr/bin/rexical\n"] Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.EyVFgG find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,ruby,shebang,shell,static,symlinks) Provides: /usr/bin/rexical Requires: /usr/bin/ruby Processing files: ruby-rexical-doc-1.0.5-alt3.1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.65077 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd ruby-rexical-1.0.5 + DOCDIR=/usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-doc-1.0.5 + export DOCDIR + rm -rf /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-doc-1.0.5 + /bin/mkdir -p /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-doc-1.0.5 + cp -prL CHANGELOG.rdoc /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-doc-1.0.5 + chmod -R go-w /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-doc-1.0.5 + chmod -R a+rX /usr/src/tmp/ruby-rexical-buildroot/usr/share/doc/ruby-rexical-doc-1.0.5 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.CizgaA find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,ruby,shell) Gemfile: nil Executables: [] Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.iIMA05 find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,ruby,shebang,shell,static,symlinks) warning: Installed (but unpackaged) file(s) found: /usr/share/ri/site/cache.ri /usr/share/ri/site/created.rid Wrote: /usr/src/RPM/RPMS/noarch/ruby-rexical-1.0.5-alt3.1.noarch.rpm Wrote: /usr/src/RPM/RPMS/noarch/ruby-rexical-doc-1.0.5-alt3.1.noarch.rpm 4.70user 0.35system 0:11.75elapsed 43%CPU (0avgtext+0avgdata 13552maxresident)k 0inputs+0outputs (0major+142403minor)pagefaults 0swaps 15.40user 2.97system 0:31.55elapsed 58%CPU (0avgtext+0avgdata 121664maxresident)k 0inputs+0outputs (0major+617163minor)pagefaults 0swaps --- ruby-rexical-1.0.5-alt3.1.noarch.rpm.repo 2018-09-16 05:30:16.000000000 +0000 +++ ruby-rexical-1.0.5-alt3.1.noarch.rpm.hasher 2019-02-08 06:31:53.625189472 +0000 @@ -10,2 +10,3 @@ Requires: rpmlib(PayloadIsLzma) +Provides: /usr/bin/rexical Provides: ruby-rexical = 1.0.5-alt3.1