여러 라이브러리 종속성 정의

여러 라이브러리 종속성 정의

로컬 저장소에서 Debian 9에 FreeRadius 3.0.16을 설치하려고 합니다.

그런데 설치하려고 하면 다음과 같은 오류가 발생합니다.

The following packages have unmet dependencies:
 freeradius : Depends: libssl1.0.0 (>= 1.0.1e-2+deb7u5) but it is not installable

범인은 원본 소스 코드에 있습니다 freeradius-server/debian/rules.

# Add dependency on distribution specific version of openssl that fixes Heartbleed (CVE-2014-0160).
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
       SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1f-1ubuntu2)"
else
       SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1e-2+deb7u5)"
endif

데비안 9를 확인하는 것은 여러 데비안 버전에 맞게 컴파일될 수 있으므로 이상적인 상황이 아닙니다...

그렇다면 데비안 버전을 확인하는 것 외에, Defines for Debian을 Defines 대신 정의할 수 있는 다른 방법이 있습니까 libssl1.1 (>= 1.1)?

답변1

이러한 코드 줄을 제거하면 단일 패키지로 다른 패키지를 안전하게 업그레이드할 수 없습니다.

당신이 보면데비안 패키지rules, 그런 것이 없다는 것을 알게 될 것입니다. 어쨌든 지적했듯이 Debian 9에서는 OpenSSL에 대해 다른 패키지 이름을 사용하기 때문에 종속성이 작동하지 않습니다.

(적절한 패키지 업그레이드를 강제하기 위해 분리를 알아내는 것이 가능해야 하지만 노력할 가치가 없다고 생각합니다.)

관련 정보