OpenWRT 패키지 추가 작업을 하면서 신경 쓰였던 문제가 있었는데
바로 다운로드 되는 tar 파일의 이름이 "[버전].tar.gz" 형식으로 다운로드 되는 경우였다.
이러한 경우는 특정 버전을 github에서 다운로드하는 경우에 발생하게 되는데
이 경우에 어떻게 파일의 이름을 변경할 수 있는지 방법을 찾다가
다른 패키지에서 방법을 찾았다. 해당 패키지는 bcg729 패키지의 Makefile 이었다.
해당 내용을 보면 "PKG_SOURCE_URL_FILE" 변수와 "PKG_SOURCE" 변수를 설정하는데
일반적으로 "PKG_SOURCE" 변수에 tar 파일 이름을 설정하면
해당 이름으로 dl 폴더에 다운로드 된다.
하지만 "PKG_SOURCE_URL_FILE" 변수에 다운로드 되는 파일의 이름을 설정해주고
"PKG_SOURCE" 변수에 변경하기를 원하는 파일 이름을 설정하면
"PKG_SOURCE_URL_FILE" 변수로 설정된 파일이
"PKG_SOURCE" 변수로 설정된 이름으로 변경된다.
$ make package/bcg729/download V=sc
mkdir -p /home/...../...../dl
SHELL= flock /home/...../...../tmp/.bcg729-1.1.1.tar.gz.flock -c ' /home/...../...../scripts/download.pl "/home/...../...../dl" "bcg729-1.1.1.tar.gz" "68599a850535d1b182932b3f86558ac8a76d4b899a548183b062956c5fdc916d" "1.1.1.tar.gz" "https://github.com/BelledonneCommunications/bcg729/archive" '
+ curl -f --connect-timeout 20 --retry 5 --location https://github.com/BelledonneCommunications/bcg729/archive/1.1.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 119k 0 119k 0 0 161k 0 --:--:-- --:--:-- --:--:-- 161k
make[2]: Leaving directory '/home/...../...../feeds/telephony/libs/bcg729'
time: package/feeds/telephony/bcg729/download#0.28#0.12#1.06
make[1]: Leaving directory '/home/...../.....'
위의 내용이 OpenWRT에서 특정 Package download 동작으로 확인한 메시지이다.
curl 명령으로 다운로드 되는 tar 파일 이름은 '1.1.1.tar.gz' 인 것을 확인할 수 있다.
이 파일을 'bcg729-1.1.1.tar.gz' 이름으로 변경하여 dl 폴더에 저장한다.
해당 동작을 제대로 적용하기 위해서는 "PKG_SOURCE_URL_FILE" 변수와
"PKG_SOURCE" 변수의 순서도 중요하다.
순차적으로 적용되기 때문에 "PKG_SOURCE" 변수를 먼저 설정하게 되면
최종 파일 이름에 "PKG_SOURCE_URL_FILE" 변수가 적용되지 않으니 주의가 필요하다.
댓글 없음:
댓글 쓰기