-
Fedora의 패키지 재현 가능성 목표
- Fedora는 패키지 빌드를 99% 재현 가능하게 만드는 목표를 세우고 있음.
- Debian은 이미 재현 가능한 빌드를 오랜 기간 동안 추진해 왔으며, Fedora는 이를 따라가고 있음.
- 재현 가능한 빌드는 동일한 소스 코드, 빌드 환경, 빌드 지침을 사용하여 모든 지정된 아티팩트를 비트 단위로 동일하게 복제할 수 있는 빌드를 의미함.
-
재현 가능한 빌드의 정의
- Fedora는 서명과 일부 메타데이터를 제외하고 패키지 파일의 페이로드에만 집중하는 재현 가능한 빌드를 정의함.
- RPM 패키지는 빌드 시 패키지 서명을 포함하지만, Debian은 분리된 서명을 사용함.
- Fedora는 패키지 서명과 빌드 시간, 빌드 호스트 정보를 포함하여 재현 가능성을 방해하는 요소를 제거하려고 함.
-
재현 가능성을 위한 경로
- Fedora는 SOURCE_DATE_EPOCH 환경 변수를 사용하여 패키지 파일의 수정 시간을 표준화함.
- RPM 빌드 프로세스에서 비재현성의 일반적인 원인을 제거하기 위해 Rust 프로그램인 add-determinism을 사용함.
- Fedora의 빌드 인프라 수정으로 현재 90%의 패키지 빌드가 재현 가능하게 되었으며, 목표는 99%임.
-
제안된 변경 사항
- Fedora는 패키지의 재현 가능성 문제를 버그로 간주하도록 요청할 계획임.
- 개발자가 Koji에서 빌드된 패키지를 로컬에서 재구축하여 재현 가능성을 테스트할 수 있도록 fedora-repro-build 유틸리티를 패키징할 예정임.
- 독립적인 검증을 제공하는 rebuilderd 시스템의 공개 인스턴스를 구축할 계획임.
-
피드백 및 논의
- Fedora의 인프라 리더는 rebuilderd 인스턴스의 위치와 유지 관리에 대한 질문을 제기함.
- rebuilderd를 Koji와 통합하여 유지 관리자가 또 다른 빌드 도구를 배우지 않도록 하는 방안이 논의됨.
- Fedora의 기존 인프라와 잘 통합되도록 rebuilderd 도구와 보고서를 통합하는 것이 중요함.
-
다음 단계
- 제안은 Fedora Engineering Steering Committee(FESCo)에 제출될 예정이며, 승인되면 Fedora 43 출시까지 작업이 완료될 계획임.
- 대부분의 사용자는 재현 가능성 작업의 차이를 느끼지 못할 수 있지만, 이는 오픈 소스 프로젝트의 공급망 공격을 방지하는 데 중요한 노력임.