소스 검색

clean up and simplify packaging

1.1.2 was released with a sdist that included quite some files that
did not belong into the package (I tried nuitka at some time).

This was because the old MANIFEST.in / setup.py included all the stuff
in the package dir.

Now, setuptools_scm is to automatically deal with the INCLUDES and
MANIFEST.in only handles the EXCLUDES, so only committed files get
into the sdist (minus some we do not want).

Also, no .c .h .pyx files will be installed - they are not needed as
they have been compiled into binary files.
Thomas Waldmann 7 년 전
부모
커밋
feb428b4e0
2개의 변경된 파일9개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 6
      MANIFEST.in
  2. 5 3
      setup.py

+ 4 - 6
MANIFEST.in

@@ -1,8 +1,6 @@
-include README.rst AUTHORS LICENSE CHANGES.rst MANIFEST.in
-exclude .coafile .coveragerc .gitattributes .gitignore .travis.yml Vagrantfile
+# stuff we need to include into the sdist is handled automatically by
+# setuptools_scm - it includes all git-committed files.
+# but we want to exclude some committed files/dirs not needed in the sdist:
+exclude .coafile .coveragerc .editorconfig .gitattributes .gitignore .mailmap .travis.yml Vagrantfile
 prune .travis
 prune .github
-graft src
-graft docs
-prune docs/_build
-global-exclude *.pyc *.orig *.so *.dll

+ 5 - 3
setup.py

@@ -810,10 +810,12 @@ setup(
             'borgfs = borg.archiver:main',
         ]
     },
+    # See also the MANIFEST.in file.
+    # We want to install all the files in the package directories...
     include_package_data=True,
-    package_data={
-        'borg': ['paperkey.html'],
-        'borg.testsuite': ['attic.tar.gz'],
+    # ...except the source files which have been compiled (C extensions):
+    exclude_package_data={
+        '': ['*.c', '*.h', '*.pyx', ],
     },
     cmdclass=cmdclass,
     ext_modules=ext_modules,