title: Does Hackage remove files from uploaded package tarfiles?
body: <p>I <a href="https://github.com/rampion/ReadArgs/issues/4" rel="nofollow">got an issue report recently that my package's HSpec file was missing from the hackage tarfile</a>, which seemed rather odd to me.</p>
  
  <p>I checked it out though, and the user was right:</p>
  
  <pre><code>% curl -O http://hackage.haskell.org/packages/archive/ReadArgs/1.2/ReadArgs-1.2.tar.gz 
  % tar tzf ReadArgs-1.2.tar.gz
  ReadArgs-1.2/
  ReadArgs-1.2/LICENSE
  ReadArgs-1.2/ReadArgs.cabal
  ReadArgs-1.2/ReadArgs.hs
  ReadArgs-1.2/ReadArgsEx.hs
  ReadArgs-1.2/Setup.hs
  </code></pre>
  
  <p>However, running through all the commits in my git repos, it seems like <code>cabal sdist</code> would always include <code>ReadArgsSpec.hs</code> in the package.</p>
  
  <pre><code>% cabal configure
  Resolving dependencies...
  Configuring ReadArgs-1.2...
  % cabal sdist
  Building source dist for ReadArgs-1.2...
  Preprocessing library ReadArgs-1.2...
  Preprocessing executable 'ReadArgsEx' for ReadArgs-1.2...
  Source tarball created: dist/ReadArgs-1.2.tar.gz
  % tar tzf dist/ReadArgs-1.2.tar.gz
  ReadArgs-1.2/
  ReadArgs-1.2/LICENSE
  ReadArgs-1.2/ReadArgs.cabal
  ReadArgs-1.2/ReadArgs.hs
  ReadArgs-1.2/ReadArgsEx.hs
  ReadArgs-1.2/ReadArgsSpec.hs
  ReadArgs-1.2/Setup.hs
  </code></pre>
  
  <p>So now, I can think of three possibilities:</p>
  
  <ol>
  <li>I generated the tarfile I uploaded to hackage using something other than <code>cabal sdist</code>, and that process left out <code>ReadArgsSpec.hs</code>.</li>
  <li>I altered my <code>ReadArgs.cabal</code> file before I ran <code>cabal sdist</code> in such a way as to exclude <code>ReadArgsSpec.hs</code> but failed to commit my change.</li>
  <li>Hackage removed <code>ReadArgsSpec.hs</code> from the package file.</li>
  </ol>
  
  <p>I view (1) and (2) as possible, but unlikely, especially since the earlier two versions of my package seem to have the same issue, and I can't think that I'd performed the same odd behavior each time.</p>
  
  <p>Which leaves me with (3), which only seems likely in contrast.  Is Hackage removing <code>ReadArgsSpec.hs</code> from my uploaded tarfile? If so, how should I alter <a href="https://github.com/rampion/ReadArgs/blob/master/ReadArgs.cabal" rel="nofollow">my <code>ReadArgs.cabal</code> file</a> to make sure it is included?</p>