2024년 1월 2일 화요일

OpenWRT download tar file change name

 OpenWRT 패키지 추가 작업을 하면서 신경 쓰였던 문제가 있었는데

바로 다운로드 되는 tar 파일의 이름이 "[버전].tar.gz" 형식으로 다운로드 되는 경우였다.

이러한 경우는 특정 버전을 github에서 다운로드하는 경우에 발생하게 되는데 

이 경우에 어떻게 파일의 이름을 변경할 수 있는지 방법을 찾다가 

다른 패키지에서 방법을 찾았다. 해당 패키지는 bcg729 패키지의 Makefile 이었다.

PKG_SOURCE_URL_FILE:=$(PKG_VERSION).tar.gz
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_URL_FILE)

해당 내용을 보면 "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" 변수가 적용되지 않으니 주의가 필요하다.

댓글 없음:

댓글 쓰기