
私は大手大学で働いていますが、毎年すべてのコンピューターをスキャンして社会保障番号(SSN)を調べるというポリシーがあります。私は、SSナイパーUIUC で作成されたものです。残念ながら、このユーティリティをサポートしていた人物はもうその大学に所属しておらず、放棄されたようです。
とにかく、私の実際の問題はこれです: CentOS 6.2 サーバー用に SSNiper の新しい RPM をコンパイルしてビルドしようとしていますが、コンパイル フェーズは正常に動作しているように見えますが、「make rpm」の部分がエラーで停止しています。
rm -f magic_test.o dbase.o ssniper.o list.o validate.o scan_file.o config_file.o ssn_fsm.o extension_test.o logging.o get_line.o list_test.o ssniper
darcs get . ssniper-`cat VERSION`-`cat RELEASE`
darcs failed: Not a repository: /home/racooper/download/ssniper-0.9.7-2 (/home/racooper/download/ssniper-0.9.7-2/_darcs/inventory: openBinaryFile: does not exist (No such file or directory))
make: *** [tarball] Error 2
SSNiper の使用経験がある方、または上記の問題に対する解決策を提案できる方がいらっしゃいましたら、大変ありがたく思います。
答え1
ダルクスは、CVS、Subversion、Git、Mercurial、Bazaar ほど知られていないリビジョン コントロール システムです。makefiletarball
内のターゲットは、リポジトリからファイルをプルしてソース アーカイブを構築し、Darcs 履歴から変更ログを生成します。
既存のソースを使用している場合は、必要な名前 ( ) で tarball を作成し、 (コマンド を使用)ssniper-0.9.7-2.tar.gz
という空のファイルを作成して、ターゲットのコマンドが実行されないようにします。tarball
touch tarball
tarball
ソースを変更した場合は、tarball
のターゲットを編集しますMakefile.in
。darcs の呼び出しを、クリーンなソース アーカイブ ( git archive
、hg archive
、またはリビジョン コントロール システムが提供するもの) を取得するために必要なものに置き換えます。を変更したら、./configure
を再度実行して再生成します。Makefile
Makefile.in
答え2
Ulrich Dangel のコメントのおかげで、rpm から tarball への呼び出しをすべて完全に削除してコンパイルできることがわかりました。また、makefile と .spec ファイルに他のエラーがあることもわかりました (重複行と思われるものや、32 ビット プラットフォームを想定しているなど)。
darcs と makefile の解析について少し教えてくれた Gilles にも感謝します。