shlibs에 의해 설정된 종속 패키지 버전 재정의: deb에 따라 다름

shlibs에 의해 설정된 종속 패키지 버전 재정의: deb에 따라 다름

의존성을 구축 중입니다 libmysqlcppconn7v5. Ubuntu 1.1.9에서 구축 중이지만 Debian 1.1.7 libmysqlcppconn7v5에 설치하도록 되어 있습니다 .libmysqlcppconn7v5

debian/control다음 줄을 포함합니다:

Depends: ${shlibs:Depends}, ${misc:Depends}, libmysqlcppconn7v5 (>= 1.1.7)

패키지를 빌드한 후에도 여전히 종속성이 있습니다.libmysqlcppconn7v5 (>= 1.1.9)

패키지를 빌드할 때 설치한 버전보다 낮은 패키지 버전에 종속되게 하려면 어떻게 해야 합니까?

답변1

shlibs:Depends1.1.9 이상을 지정하게 되면 ( libmysqlcppconn7v5이론적으로) 빌드하는 바이너리가 1.1.9 이상에서만 사용할 수 있는 기호를 사용한다는 의미입니다. 따라서 libmysqlcppconn7v5종속성을 재정의하더라도 패키지가 반드시 Debian 1.1.7 버전에서 실행되지 않을 수도 있습니다. (패키지가 기호나 shlibs 파일을 제공하지 않아 휴리스틱이 유효하지 않기 때문에 이를 어느 정도 제한했습니다.)

일반적으로 Debian에 패키지를 설치하려면 Debian에 패키지를 빌드해야 합니다. 우분투 에서는 어렵지 않습니다 debootstrap. 특히, 쉽게 설정할 수 있습니다.sbuildpbuilderpbuilder여러 배포판을 기반으로 함.

만약 너라면진짜를 재정의하려면 다음을 실행한 후 빌드 중에 생성된 파일을 편집 shlibs:Depends할 수 있습니다 ..substvarsdpkg-shlibdeps

override_dh_shlibdeps:
    dh_shlibdeps
    sed -i s/1.1.9/1.1.7/g debian/yourpackage.substvars

관련 정보