Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I work for a major university and we have a policy that requires annual scanning of all computers for social security numbers (SSNs). I started using a utility called SSNiper that was created at UIUC. Unfortunately, the person who supported the utility is no longer with that university and it seems to have been abandoned.

Anyway, my actual problem is this: I am attempting to compile and build a new RPM for SSNiper for our CentOS 6.2 servers, and while the compile phase seems to work just fine, the "make rpm" portion is dying with an error.

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

If anyone either has experience with SSNiper, or can suggest solutions to my problem above, I would be extremely grateful.

share|improve this question
It seems the make rpm is not intended to be run from the tarball but the source repository. Either adjust the Makefile, create a darcs repository, or build it on your own - fedoraproject.org/wiki/How_to_create_an_RPM_package – Ulrich Dangel Jun 14 '12 at 1:45

Darcs is a revision control system, less well-known than CVS, Subversion, Git, Mercurial or Bazaar. The tarball target in the makefile builds a source archive by pulling files from the repository and generates a changelog from the Darcs history.

If you're using the existing sources, create a tarball with the required name (ssniper-0.9.7-2.tar.gz) and create an empty file called tarball (use the command touch tarball) to prevent the commands for the tarball target from running.

If you've modified the sources, edit the tarball target in Makefile.in: replace the invocation of darcs by what it takes for you to get a clean source archive (git archive, hg archive, or whatever your revision control system provides). Run ./configure again to regenerate Makefile when you've modified Makefile.in.

share|improve this answer

Thanks to the comment from Ulrich Dangel, I was able to figure out that I could remove all the calls from rpm to tarball completely, then get it to compile. I also figured out that there were other errors in the makefile and in the .spec file (such as what appear to be duplicate lines, and assuming a 32-bit platform).

Thanks to Gilles too for providing me a little education into darcs and parsing a makefile.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.