Linux 배포판용 패키징

요구사항

  • Python

  • MuPDF 체크아웃(서브모듈 포함).

  • PyMuPDF 체크아웃.

  • scripts/sysinstall.py:g_sys_packages 에 나열된 시스템 패키지.

  • pyproject.toml 에 나열된 Python 패키지.

테스트 실행을 위한 추가 요구사항:

  • scripts/gh_release.py:test_packages 에 나열된 Python 패키지.

일반적인 단계

  • MuPDF 빌드 및 설치:

    • 필요한 시스템 패키지를 설치합니다.

    • MuPDFMakefile 에서 최소한 다음 make 변수를 사용하여 make install-shared-python 을 실행합니다:

      • DESTDIR 를 설치 디렉토리로 설정합니다. 예: /.

      • prefix 를 DESTDIR에 상대적인 위치로 설정합니다. 예: /usr/local 또는 /usr. / 로 시작해야 합니다.

      • USE_SYSTEM_LIBS=yes.

      • HAVE_LEPTONICA=yes.

      • HAVE_TESSERACT=yes.

  • PyMuPDF 빌드 및 설치:

    • 최소한 다음 환경 변수를 사용하여 pip install ./PyMuPDF 또는 pip wheel ./PyMuPDF 를 실행합니다:

      • PYMUPDF_SETUP_MUPDF_BUILD= (빈 문자열)을 설정하여 하드코딩된 MuPDF 릴리스의 다운로드 및 빌드를 방지합니다.

      • CFLAGS, CXXFLAGSLDFLAGS 를 설정하여 설치된 MuPDF 헤더 및 공유 라이브러리의 가시성을 허용합니다.

  • PyMuPDF 테스트 실행:

    • 필요한 Python 패키지를 사용할 수 있는지 확인합니다.

    • pytest -k "not test_color_count and not test_3050" PyMuPDF 를 실행합니다

      • test_color_count 테스트는 MuPDFPyMuPDF 의 사용자 정의 config.h로 빌드되지 않은 경우 실패하는 것으로 알려져 있습니다.

      • test_3050 테스트는 MuPDF 가 자체 서드파티 라이브러리 없이 빌드된 경우 실패하는 것으로 알려져 있습니다.

scripts/sysinstall.py 사용

scripts/sysinstall.py 는 GitHub 액션 .github/workflows/test_sysinstall.yml 에 의해 정기적으로 실행되기 때문에 작동하는 것으로 알려진 빌드, 설치 및 테스트 명령의 유용한 예제를 제공합니다.

  • -h 옵션으로 실행하거나 doc-string을 확인하여 자세한 사용 정보를 확인하세요.

  • 시스템 패키지를 설치하는 데 Debian 스타일의 apt 명령을 사용합니다.

  • 기본적으로 로컬 git 체크아웃 mupdf/PyMuPDF/ 를 가정합니다.

로컬 가짜 루트와 시스템 루트 모두에 대해 전체 빌드, 설치 및 테스트를 실행하려면:

./PyMuPDF/scripts/sysinstall.py
./PyMuPDF/scripts/sysinstall.py --root /

실제로 실행하지 않고 실행될 명령을 보려면:

./PyMuPDF/scripts/sysinstall.py -m 0 -p 0 -t 0

참고

  • setup.py 의 초기 doc-comment에는 PyMuPDF 를 빌드할 때 사용되는 환경 변수에 대한 자세한 정보가 포함되어 있습니다.