[관련 게시물]
2021.09.12 - [리눅스/Arch or Manjaro] - 아치 리눅스(Arch Linux) 아치 빌드 시스템(ABS - Arch Build System) 사용법
아치 위키 내 관련 문서
https://wiki.archlinux.org/title/Official_repositories
https://wiki.archlinux.org/title/Arch_Build_System
https://wiki.archlinux.org/title/PKGBUILD
https://wiki.archlinux.org/title/Makepkg
https://wiki.archlinux.org/title/Arch_User_Repository
https://wiki.archlinux.org/title/AUR_helpers
안녕하세요. 씨실과 날실입니다.
이번에는 아치 리눅스에서 지원하는 아치빌드 시스템(ABS - Arch Build System)을 통해 패키지를 설치하는 방법에 대해 알아보도록 하겠습니다.
사실 우리는 ABS을 이용한 패키지 설치 방법의 중요한 부분을 익힌 적이 있습니다. 그것은 바로 아치 사용자 저장소(AUR - Arch User Repository)를 이용한 패키지 설치입니다.
아래 링크 글을 통해 AUR Helper 없이 AUR 패키지를 설치하는 방법에 대해 알아보았었습니다.
위 링크 글에서 익힌 것처럼 AUR 패키지를 yay나 paru 등과 같은 AUR Helper 프로그램 없이 사용자가 직접 설치하고 업그레이드한다는 것은 결국 다운받은 원본 소스 파일들을 사용자가 직접 컴파일, 빌드 과정을 거쳐 패키지를 생성해 설치한다는 의미입니다.
ABS과 AUR의 차이는 결국 해당 패키지를 아치 리눅스팀이 유지보수를 책임지느냐, 제3자인 서드 개발자 또는 팀이 책임지느냐로 갈릴 뿐입니다.
전자(ABS)가 아치 리눅스가 공식적으로 지원하는 저장소(core, community, extra 등)들에 있는 패키지만을 관리한다면, 후자(AUR)는 아치리눅스가 별도로 제공하는 개별 저장소에 각 개발자나 개발팀이 자신들이 관리하는 패키지를 배포합니다.
위 두 방식 모두 사용자가 다운받은 소스를 토대로 사용자가 직접 PKGBUILD 파일을 수정, 소스 컴파일, 빌드 과정을 거쳐 설치할 패키지를 만들고 이렇게 만든 패키지를 시스템에 설치하는 방식을 사용합니다.
단지 이 과정에서 패키지 소스를 다운받는 과정 등에서 다소 차이가 있을 뿐입니다.
아치 리눅스 사용자들은 AUR은 사용하더라도 ABS를 사용하는 경우는 거의 없습니다. 일반적인 경우 ABS를 사용해 얻을 수 있는 이득이 전혀 없기 때문입니다. ABS를 이용해 패키지를 설치할 바에는 pacman을 이용해 저장소에서 이미 빌드 완료된 패키지를 내려받아 설치하는 편이 훨씬 간편하고 시간 또한 굉장히 단축되기 때문입니다.
만약 아치 리눅스 사용자가 이 ABS를 사용한다면 그것은 일반적인 시스템 구성이 아닌, 독자적인 시스템 구성을 기준으로 패키지를 설치하는 경우뿐일 것입니다.
그럼에도 불구하고 이 ABS를 사용하는 방법을 굳이 다루는 이유는 단순히 저장소를 통해 이 완성된 패키지를 설치하는 방법이 아니라, 사용자가 직접 소스를 수정하고 수정된 소스를 컴파일, 빌드하여 자신의 시스템에 꼭 맞춘 맞춤 패키지 생성 방법을 간략하게나마 익힐 수 있기 때문입니다.
여기서는 대표적인 멀티미디어 재생 프로그램 vlc를 ABS를 이용해 설치하는 방법에 대해 설명하도록 하겠습니다.
시스템 내 전체 패키지 업그레이드
[study@study-virtualbox ~]$ sudo pacman -Syu
[sudo] study 암호:
:: 꾸러미 데이터베이스 동기화 중...
core is up to date
extra is up to date
community is up to date
:: 전체 시스템 업그레이드 시작 중...
할 일이 없습니다
[study@study-virtualbox ~]$
가장 먼저 시스템의 전체 패키지들을 업그레이드해줍니다.
vlc 패키지 정보 확인
이번에 설치할 vlc에 대한 정보를 알아보도록 합시다.
[study@study-virtualbox ~]$ pacman -Sii vlc
저장소 : extra
이름 : vlc
버전 : 3.0.16-3
설명 : Multi-platform MPEG, VCD/DVD, and DivX player
아키텍처 : x86_64
URL : https://www.videolan.org/vlc/
라이선스 : LGPL2.1 GPL2
모음들 : 없음
다음을 제공 : 없음
다음에 의존 : a52dec libdvbpsi libxpm libdca libproxy lua52 libidn
libmatroska taglib libmpcdec ffmpeg faad2 libmad
libmpeg2 xcb-util-keysyms libtar libxinerama libsecret
libupnp libixml.so=11-64 libupnp.so=17-64 libarchive
qt5-base qt5-x11extras qt5-svg freetype2 fribidi
harfbuzz fontconfig libxml2 gnutls libplacebo
wayland-protocols
선택 의존성 : avahi: service discovery using bonjour protocol
aom: AOM AV1 codec
gst-plugins-base-libs: for libgst plugins
dav1d: dav1d AV1 decoder
libdvdcss: decoding encrypted DVDs
libavc1394: devices using the 1394ta AV/C
libdc1394: IEEE 1394 access plugin
kwallet: kwallet keystore
libva-vdpau-driver: vdpau backend nvidia
libva-intel-driver: video backend intel
libbluray: Blu-Ray video input
flac: Free Lossless Audio Codec plugin
twolame: TwoLAME mpeg2 encoder plugin
libgme: Game Music Emu plugin
vcdimager: navigate VCD with libvcdinfo
libmtp: MTP devices discovery
systemd-libs: udev services discovery
smbclient: SMB access plugin
libcdio: audio CD playback
gnu-free-fonts: subtitle font
ttf-dejavu: subtitle font
libssh2: sftp access
libnfs: NFS access
mpg123: mpg123 codec
protobuf: chromecast streaming
libmicrodns: mDNS services discovery (chromecast etc)
lua52-socket: http interface
libdvdread: DVD input module
libdvdnav: DVD with navigation input module
libogg: Ogg and OggSpots codec
libshout: shoutcast/icecast output plugin
libmodplug: MOD output plugin
libvpx: VP8 and VP9 codec
libvorbis: Vorbis decoder/encoder
speex: Speex codec
opus: opus codec
libtheora: theora codec
libpng: PNG support
libjpeg-turbo: JPEG support
librsvg: SVG plugin
x264: H264 encoding
x265: HEVC/H.265 encoder
zvbi: VBI/Teletext/webcam/v4l2 capture/decoding
libass: Subtitle support
libkate: Kate codec
libtiger: Tiger rendering for Kate streams
sdl_image: SDL image support
srt: SRT input/output plugin
aalib: ASCII art video output
libcaca: colored ASCII art video output
libpulse: PulseAudio audio output
alsa-lib: ALSA audio output
jack: jack audio server
libsamplerate: audio Resampler
libsoxr: SoX audio Resampler
chromaprint: Chromaprint audio fingerprinter
lirc: lirc control
libgoom2: Goom visualization
projectm: ProjectM visualisation
ncurses: ncurses interface
libnotify: notification plugin
gtk3: notification plugin
aribb24: aribsub support
aribb25: aribcam support
pcsclite: aribcam support
다음이 요구 : deepin-music deepin-voice-note elisa kaffeine
phonon-qt5-vlc
다음의 선택 의존성 : gaupol mediathekview pd-gem smtube
다음과 충돌 : vlc-plugin
다음을 대체 : vlc-plugin
다운로드 크기 : 11.76 MiB
설치된 크기 : 59.77 MiB
꾸러미 만든이 : Antonio Rojas <arojas@archlinux.org>
빌드 날짜 : 없음
MD5 합 : da19f26ccd6a67c516379568403f083f
SHA-256 합 : e6dc5b464b59f5cb782549456f41479e15efb377460e1de5cc9851a5f6ff7d45
서명들 : 7A4E76095D8A52E4
[study@study-virtualbox ~]$
위 정보들 중에서 사용자가 특히 눈여겨 보아야 할 정보는 패키지 간 의존성과 충돌 정보입니다.
주의사항
맨 하단에 패키지 서명 정보가 존재하는데 ABS를 통한 패키지 설치 시 패키지 서명키 정보로 이 값을 추가하더라도 전혀 도움이 되지 않습니다. ABS를 통해 패키지를 설치할 때는 위 정보가 아닌 PKGBUILD 파일 안에 저장된 서명키 정보를 사용해주어야 합니다.
자세한 내용은 후술하는 내용을 참고하시기 바랍니다.
ABS 패키지 설치 작업 전 사전 필수 패키지 설치
[study@study-virtualbox ~]$ sudo pacman --needed -S base-devel git
[sudo] study 암호:
경고: autoconf-2.71-1는 최신 버전입니다 -- 건너뜀
경고: automake-1.16.4-1는 최신 버전입니다 -- 건너뜀
경고: binutils-2.36.1-3는 최신 버전입니다 -- 건너뜀
경고: bison-3.7.6-1는 최신 버전입니다 -- 건너뜀
경고: fakeroot-1.25.3-2는 최신 버전입니다 -- 건너뜀
경고: file-5.40-5는 최신 버전입니다 -- 건너뜀
경고: findutils-4.8.0-1는 최신 버전입니다 -- 건너뜀
경고: flex-2.6.4-3는 최신 버전입니다 -- 건너뜀
경고: gawk-5.1.0-1는 최신 버전입니다 -- 건너뜀
경고: gcc-11.1.0-1는 최신 버전입니다 -- 건너뜀
경고: gettext-0.21-1는 최신 버전입니다 -- 건너뜀
경고: grep-3.6-1는 최신 버전입니다 -- 건너뜀
경고: groff-1.22.4-6는 최신 버전입니다 -- 건너뜀
경고: gzip-1.10-3는 최신 버전입니다 -- 건너뜀
경고: libtool-2.4.6+42+gb88cebd5-16는 최신 버전입니다 -- 건너뜀
경고: m4-1.4.19-1는 최신 버전입니다 -- 건너뜀
경고: make-4.3-3는 최신 버전입니다 -- 건너뜀
경고: pacman-6.0.0-5는 최신 버전입니다 -- 건너뜀
경고: patch-2.7.6-8는 최신 버전입니다 -- 건너뜀
경고: pkgconf-1.7.3-1는 최신 버전입니다 -- 건너뜀
경고: sed-4.8-1는 최신 버전입니다 -- 건너뜀
경고: sudo-1.9.7.p2-1는 최신 버전입니다 -- 건너뜀
경고: texinfo-6.8-2는 최신 버전입니다 -- 건너뜀
경고: which-2.21-5는 최신 버전입니다 -- 건너뜀
경고: git-2.33.0-1는 최신 버전입니다 -- 건너뜀
할 일이 없습니다
[study@study-virtualbox ~]$
AUR 패키지 설치 때와 마찬가지로 ABS 패키지 설치 작업을 하기 전 base-devel 그룹 패키지와 git 패키지는 시스템에 필수적으로 설치되어 있어야 합니다.
ABS 패키지 관리 도구 asp 설치
[study@study-virtualbox ~]$ sudo pacman --needed -S asp
[sudo] study 암호:
의존성 해결 중...
꾸러미 충돌을 찾는 중...
꾸러미 (3) jq-1.6-4 oniguruma-6.9.7.1-1 asp-7-1
총 다운로드 크기: 0.45 MiB
총 설치 크기: 1.54 MiB
:: 설치를 진행하시겠습니까? [Y/n]
:: 꾸러미 가져오는 중...
oniguruma-6.9.7.... 220.3 KiB 1034 KiB/s 00:00 [######################] 100%
jq-1.6-4-x86_64 226.4 KiB 2.87 MiB/s 00:00 [######################] 100%
asp-7-1-any 10.5 KiB 210 KiB/s 00:00 [######################] 100%
Total (3/3) 457.3 KiB 926 KiB/s 00:00 [######################] 100%
(3/3) 키링의 키를 검사 중 [######################] 100%
(3/3) 꾸러미 무결성 검사 중 [######################] 100%
(3/3) 꾸러미 파일 불러오는 중 [######################] 100%
(3/3) 파일 충돌 검사 중 [######################] 100%
(3/3) 사용 가능한 디스크 공간 검사 중 [######################] 100%
:: 꾸러미 변경사항을 처리 중...
(1/3) 설치 중 oniguruma [######################] 100%
(2/3) 설치 중 jq [######################] 100%
(3/3) 설치 중 asp [######################] 100%
:: 후처리 훅들을 실행 중...
(1/1) Arming ConditionNeedsUpdate...
[study@study-virtualbox ~]$
ABS 패키지 설치를 위해서는 ABS 패키지 관리도구인 asp를 설치해주어야 합니다.
과거에는 ABS(Arch Build System)와 이름이 동일한 abs 패키지를 사용하였지만 지금은 asp로 바뀌었습니다.
abs 패키지 관리 디렉터리 생성 및 진입
[study@study-virtualbox ~]$ mkdir -v abs
mkdir: created directory 'abs'
[study@study-virtualbox ~]$ cd abs
[study@study-virtualbox abs]$
ABS 패키지의 소스 파일을 관리할 디렉터리를 생성하고 해당 디렉터리로 진입합니다.
asp 패키지 주요 사용법
이제 asp 패키지를 사용해야 합니다. 간략한 사용법은 아래 정보를 참고하시기 바랍니다.
[study@study-virtualbox abs]$ asp -h
asp v7 [OPTIONS...] {COMMAND} ...
Manage build sources for Arch packages.
Options:
-a ARCH Specify an architecture other than the host's
-h Show this help
-V Show package version
Package Commands:
checkout NAME... Create a mutable git repository for packages
difflog NAME Show revision history with diffs
export NAME... Export packages
list-all List all known packages
list-arches NAME... List architectures for packages
list-local List tracked packages
list-repos NAME... List repos for packages
log NAME Show revision history
ls-files NAME List files for package
shortlog NAME Show revision history in short form
show NAME [FILE] Show the PKGBUILD or other FILE
untrack NAME... Remove a package from the local repository
update [NAME...] Update packages (update all tracked if none specified)
Meta Commands:
disk-usage Show amount of disk used by locally tracked packages
gc Cleanup and optimize the local repository
help Show this help
set-git-protocol PROTO Change git protocol (one of: git, http, https)
[study@study-virtualbox abs]$
보다 자세한 정보는 위 링크 또는 터미널에서 $ man asp를 실행하여 asp의 manpages를 확인하시기 바랍니다.
asp로 아치 공식 관리 패키지 복제
[study@study-virtualbox abs]$ asp checkout vlc
remote: Enumerating objects: 3647, done.
remote: Counting objects: 100% (657/657), done.
remote: Compressing objects: 100% (335/335), done.
remote: Total 3647 (delta 483), reused 322 (delta 322), pack-reused 2990
오브젝트를 받는 중: 100% (3647/3647), 511.75 KiB | 1.45 MiB/s, 완료.
델타를 알아내는 중: 100% (964/964), 완료.
https://github.com/archlinux/svntogit-packages URL에서
* branch packages/vlc -> FETCH_HEAD
* [새로운 브랜치] packages/vlc -> packages/packages/vlc
'vlc'에 복제합니다...
완료.
[study@study-virtualbox abs]$
위와 같이 vlc 깃 저장소를 복제해줍니다.
복제된 vlc 패키지 디렉터리 확인
[study@study-virtualbox abs]$ ls -F
vlc/
[study@study-virtualbox abs]$
vlc 디렉터리가 생성된 것을 알 수 있습니다.
[study@study-virtualbox abs]$ tree -aF vlc
vlc
├── .git/
│ ├── HEAD
│ ├── branches/
│ ├── config
│ ├── description
│ ├── hooks/
│ │ ├── applypatch-msg.sample*
│ │ ├── commit-msg.sample*
│ │ ├── fsmonitor-watchman.sample*
│ │ ├── post-update.sample*
│ │ ├── pre-applypatch.sample*
│ │ ├── pre-commit.sample*
│ │ ├── pre-merge-commit.sample*
│ │ ├── pre-push.sample*
│ │ ├── pre-rebase.sample*
│ │ ├── pre-receive.sample*
│ │ ├── prepare-commit-msg.sample*
│ │ ├── push-to-checkout.sample*
│ │ └── update.sample*
│ ├── index
│ ├── info/
│ │ └── exclude
│ ├── logs/
│ │ ├── HEAD
│ │ └── refs/
│ │ └── heads/
│ │ └── packages/
│ │ └── packages/
│ │ └── vlc
│ ├── objects/
│ │ ├── info/
│ │ │ └── alternates
│ │ └── pack/
│ ├── packed-refs
│ └── refs/
│ ├── heads/
│ │ └── packages/
│ │ └── packages/
│ │ └── vlc
│ └── tags/
├── repos/
│ └── extra-x86_64/
│ ├── PKGBUILD
│ ├── update-vlc-plugin-cache.hook
│ ├── vlc-3.0.11.1-srt_1.4.2.patch
│ └── vlc-live-media-2021.patch
└── trunk/
├── PKGBUILD
├── update-vlc-plugin-cache.hook
├── vlc-3.0.11.1-srt_1.4.2.patch
└── vlc-live-media-2021.patch
20 directories, 31 files
[study@study-virtualbox abs]$
위는 복제된 vlc 디렉터리의 내용 구조도입니다.
위와 같이 디렉터리 내의 내용물을 tree 구조로 파악하기 위해서는 tree 패키지가 설치되어 있어야 합니다.
이 tree 패키지는 모든 리눅스 배포판에서 각 패키지 관리자를 통해 손쉽게 설치할 수 있습니다.
컴파일 설치에 사용되는 파일 확인
[study@study-virtualbox abs]$ cd ./vlc/repos/extra-x86_64
[study@study-virtualbox extra-x86_64]$ ls -1
PKGBUILD
update-vlc-plugin-cache.hook
vlc-3.0.11.1-srt_1.4.2.patch
vlc-live-media-2021.patch
[study@study-virtualbox extra-x86_64]$
복제 디렉터리(보통 패키지명)/repos/아키텍처명
복제 디렉터리 안에는 여러 하위 디렉터리가 존재하지만 우리가 작업할 공간은 위 형식과 같습니다.
vlc의 경우 ./vlc/repos/extra-x86_64가 작업 디렉터리입니다.
해당 작업 디렉터리에 가면 패키지 빌드에 필요한 필수 파일들이 존재합니다.
PKGBUILD 파일은 어떤 패키지를 설치하든 필수적으로 존재하며, 패키지별로 추가 파일이 존재하는 경우도 있습니다.
우리에게 중요한 것은 PKGBUILD 파일입니다.
이 파일을 적절히 수정함으로써 사용자가 원하는 환경을 지원하는 패키지를 만들 수 있습니다.
PKGBUILD 파일 내용 확인
[study@study-virtualbox extra-x86_64]$ cat -n PKGBUILD
1 # Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
2 # Contributor: Giovanni Scafora <giovanni@archlinux.org>
3 # Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
4 # Contributor: Martin Sandsmark <martin.sandsmark@kde.org>
5
6 pkgname=vlc
7 _vlcver=3.0.16
8 # optional fixup version including hyphen
9 _vlcfixupver=
10 pkgver=${_vlcver}${_vlcfixupver//-/.r}
11 pkgrel=3
12 pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
13 url='https://www.videolan.org/vlc/'
14 arch=('x86_64')
15 license=('LGPL2.1' 'GPL2')
16 depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua52' 'libidn'
17 'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libmad'
18 'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
19 'libupnp' 'libixml.so' 'libupnp.so' 'libarchive' 'qt5-base'
20 'qt5-x11extras' 'qt5-svg' 'freetype2' 'fribidi' 'harfbuzz'
21 'fontconfig' 'libxml2' 'gnutls' 'libplacebo' 'wayland-protocols')
22 makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray'
23 'flac' 'libdc1394' 'libavc1394' 'libcaca' 'gtk3'
24 'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'systemd-libs'
25 'libmtp' 'libupnp' 'libmicrodns' 'libdvdcss' 'smbclient'
26 'vcdimager' 'libssh2' 'mesa' 'protobuf' 'libnfs' 'mpg123'
27 'libdvdread' 'libdvdnav' 'libogg' 'libshout' 'libmodplug' 'libvpx'
28 'libvorbis' 'speex' 'opus' 'libtheora' 'libpng' 'libjpeg-turbo'
29 'libx265.so' 'libx264.so' 'zvbi' 'libass' 'libkate' 'libtiger'
30 'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr'
31 'lirc' 'libgoom2' 'projectm' 'chromaprint' 'aom' 'srt' 'dav1d'
32 'aribb24' 'aribb25' 'pcsclite')
33 optdepends=('avahi: service discovery using bonjour protocol'
34 'aom: AOM AV1 codec'
35 'gst-plugins-base-libs: for libgst plugins'
36 'dav1d: dav1d AV1 decoder'
37 'libdvdcss: decoding encrypted DVDs'
38 'libavc1394: devices using the 1394ta AV/C'
39 'libdc1394: IEEE 1394 access plugin'
40 'kwallet: kwallet keystore'
41 'libva-vdpau-driver: vdpau backend nvidia'
42 'libva-intel-driver: video backend intel'
43 'libbluray: Blu-Ray video input'
44 'flac: Free Lossless Audio Codec plugin'
45 'twolame: TwoLAME mpeg2 encoder plugin'
46 'libgme: Game Music Emu plugin'
47 'vcdimager: navigate VCD with libvcdinfo'
48 'libmtp: MTP devices discovery'
49 'systemd-libs: udev services discovery'
50 'smbclient: SMB access plugin'
51 'libcdio: audio CD playback'
52 'gnu-free-fonts: subtitle font '
53 'ttf-dejavu: subtitle font'
54 'libssh2: sftp access'
55 'libnfs: NFS access'
56 'mpg123: mpg123 codec'
57 'protobuf: chromecast streaming'
58 'libmicrodns: mDNS services discovery (chromecast etc)'
59 'lua52-socket: http interface'
60 'libdvdread: DVD input module'
61 'libdvdnav: DVD with navigation input module'
62 'libogg: Ogg and OggSpots codec'
63 'libshout: shoutcast/icecast output plugin'
64 'libmodplug: MOD output plugin'
65 'libvpx: VP8 and VP9 codec'
66 'libvorbis: Vorbis decoder/encoder'
67 'speex: Speex codec'
68 'opus: opus codec'
69 'libtheora: theora codec'
70 'libpng: PNG support'
71 'libjpeg-turbo: JPEG support'
72 'librsvg: SVG plugin'
73 'x264: H264 encoding'
74 'x265: HEVC/H.265 encoder'
75 'zvbi: VBI/Teletext/webcam/v4l2 capture/decoding'
76 'libass: Subtitle support'
77 'libkate: Kate codec'
78 'libtiger: Tiger rendering for Kate streams'
79 'sdl_image: SDL image support'
80 'srt: SRT input/output plugin'
81 'aalib: ASCII art video output'
82 'libcaca: colored ASCII art video output'
83 'libpulse: PulseAudio audio output'
84 'alsa-lib: ALSA audio output'
85 'jack: jack audio server'
86 'libsamplerate: audio Resampler'
87 'libsoxr: SoX audio Resampler'
88 'chromaprint: Chromaprint audio fingerprinter'
89 'lirc: lirc control'
90 'libgoom2: Goom visualization'
91 'projectm: ProjectM visualisation'
92 'ncurses: ncurses interface'
93 'libnotify: notification plugin'
94 'gtk3: notification plugin'
95 'aribb24: aribsub support'
96 'aribb25: aribcam support'
97 'pcsclite: aribcam support')
98 conflicts=('vlc-plugin')
99 replaces=('vlc-plugin')
100 options=('!emptydirs')
101 source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
102 update-vlc-plugin-cache.hook
103 vlc-3.0.11.1-srt_1.4.2.patch
104 vlc-live-media-2021.patch)
105 sha512sums=('35cdf191071224d0cf1b5a83c00773ff87b9e5bfcf0f5523f7edd53f75b23eda6b27bb49ffa97d69a1d176b8fe4786d959aeeb00d4380beab71c9f7e6b7c7298'
106 'SKIP'
107 'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
108 'ac1d33d434aca2a0ad6e70800073deeaefc02b8fd72656b682ca833ee0cffe10dfa19a9355388700cab46ffbf9421c007d00ed04c7fa562698ff81e70db5f283'
109 'ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc')
110 validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key
111
112 prepare() {
113 cd ${pkgname}-${_vlcver}
114 sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp
115 sed -e 's|-Werror-implicit-function-declaration||g' -i configure
116 sed 's|whoami|echo builduser|g' -i configure
117 sed 's|hostname -f|echo arch|g' -i configure
118 local src
119 for src in "${source[@]}"; do
120 src="${src%%::*}"
121 src="${src##*/}"
122 [[ $src = *.patch ]] || continue
123 echo "Applying patch $src..."
124 patch -Np1 < "../$src"
125 done
126 autoreconf -vf
127 }
128
129 build() {
130 cd ${pkgname}-${_vlcver}
131
132 export CFLAGS+=" -I/usr/include/samba-4.0"
133 export CPPFLAGS+=" -I/usr/include/samba-4.0"
134 export CXXFLAGS+=" -std=c++11"
135 # upstream doesn't support lua 5.4 yet: https://trac.videolan.org/vlc/ticket/25036
136 export LUAC=/usr/bin/luac5.2
137 export LUA_LIBS="$(pkg-config --libs lua5.2)"
138 export RCC=/usr/bin/rcc-qt5
139
140 ./configure \
141 --prefix=/usr \
142 --sysconfdir=/etc \
143 --with-kde-solid=/usr/share/solid/actions/ \
144 --disable-rpath \
145 --enable-nls \
146 --enable-archive \
147 --enable-live555 \
148 --enable-dc1394 \
149 --enable-dv1394 \
150 --enable-dvdread \
151 --enable-dvdnav \
152 --enable-bluray \
153 --disable-opencv \
154 --enable-smbclient \
155 --enable-sftp \
156 --enable-nfs \
157 --enable-realrtsp \
158 --enable-dvbpsi \
159 --enable-gme \
160 --enable-ogg \
161 --enable-shout \
162 --enable-matroska \
163 --enable-mod \
164 --enable-mpc \
165 --enable-mad \
166 --enable-mpg123 \
167 --enable-gst-decode \
168 --enable-avcodec \
169 --enable-libva \
170 --enable-avformat \
171 --enable-postproc \
172 --enable-faad \
173 --enable-vpx \
174 --enable-twolame \
175 --disable-fdkaac \
176 --enable-a52 \
177 --enable-dca \
178 --enable-flac \
179 --enable-libmpeg2 \
180 --enable-vorbis \
181 --enable-speex \
182 --enable-opus \
183 --enable-oggspots \
184 --disable-schroedinger \
185 --enable-png \
186 --enable-jpeg \
187 --enable-x264 \
188 --enable-x265 \
189 --enable-zvbi \
190 --enable-libass \
191 --enable-kate \
192 --enable-tiger \
193 --enable-vdpau \
194 --enable-wayland \
195 --enable-sdl-image \
196 --enable-freetype \
197 --enable-fribidi \
198 --enable-harfbuzz \
199 --enable-fontconfig \
200 --enable-svg \
201 --enable-svgdec \
202 --enable-aa \
203 --enable-caca \
204 --enable-pulse \
205 --enable-alsa \
206 --enable-jack \
207 --enable-samplerate \
208 --enable-soxr \
209 --enable-chromaprint \
210 --enable-chromecast \
211 --enable-qt \
212 --enable-skins2 \
213 --enable-libtar \
214 --enable-ncurses \
215 --enable-lirc \
216 --enable-goom \
217 --enable-projectm \
218 --enable-avahi \
219 --enable-mtp \
220 --enable-upnp \
221 --enable-microdns \
222 --enable-libxml2 \
223 --disable-libgcrypt \
224 --enable-gnutls \
225 --enable-taglib \
226 --enable-secret \
227 --enable-kwallet \
228 --disable-update-check \
229 --enable-notify \
230 --enable-libplacebo \
231 --enable-vlc \
232 --enable-aribsub \
233 --enable-aribcam \
234 --enable-aom \
235 --enable-srt \
236 --enable-dav1d
237 make
238 }
239
240 package() {
241 cd ${pkgname}-${_vlcver}
242
243 make DESTDIR="${pkgdir}" install
244
245 for res in 16 32 48 128 256; do
246 install -Dm 644 "${srcdir}/vlc-${_vlcver}/share/icons/${res}x${res}/vlc.png" \
247 "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png"
248 done
249 install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t "${pkgdir}/usr/share/libalpm/hooks"
250 }
251
252 # vim: ts=2 sw=2 et:
[study@study-virtualbox extra-x86_64]$
위는 vlc 3.0.16 버전의 PKGBUILD 파일 원문 예입니다.
사용자가 이 내용을 적절히 수정하면 사용자가 원하는 환경을 지원하는 패키지가 만들어질 수 있게끔 소스 컴파일 및 빌드 작업이 진행 가능합니다.
shellscript 및 make 등 각종 컴파일 및 빌드 명령어 구문에 익숙지 않다면 함부로 수정하지 마시기 바랍니다.
일반적으로 ./configure 섹션을 수정하는 수준에서 그치는 경우가 댑분입니다.
수정하지는 않더라도 validpgpkeys= 항목의 설정값은 사용자가 기억해야 합니다.
왜냐하면 해당 패키지 소스 파일을 정상적으로 컴파일하기 위해서는 이 서명키를 시스템의 gpg 키박스에 등록해주어야 하기 때문입니다.
vlc 서명키 추가
[study@study-virtualbox extra-x86_64]$ gpg --recv-keys 7180713BE58D1ADC
gpg: directory '/home/study/.gnupg' created
gpg: keybox '/home/study/.gnupg/pubring.kbx' created
gpg: /home/study/.gnupg/trustdb.gpg: trustdb created
gpg: key 7180713BE58D1ADC: public key "VideoLAN Release Signing Key (2015)" imported
gpg: Total number processed: 1
gpg: imported: 1
[study@study-virtualbox extra-x86_64]$
PKGBUID 파일에서 사용된 validpgpkeys의 40자리 영숫자가 GPG 키 지문(GPG key fingerprint)이고 이 키 지문의 후반 16자리가 Key ID입니다.
$ gpg --recv-keys 16자리 Key ID
위 명령을 실행하면 키 서버로부터 해당 키 ID의 키 정보를 받아 키박스에 등록합니다.
gpg 패키지의 정확한 명칭은 GNU Privacy Guard로, 현재 사용되는 버전은 gpg 2(최신 버전 GNU Privacy Guard 2.2)입니다.
과거 gpg 1 버전 대에는 Key import 명령 옵션으로 --recv-keys 만을 사용하였지만 현재는 동일한 기능의 옵션으로 --receive-keys가 추가되어 --receive-keys와 --recv-keys 모두 사용 가능합니다.
==> gpg로 원본 파일 서명 검증 중...
vlc-3.0.16.tar.xz ... 실패 (알 수 없는 공용키입니다 7180713BE58D1ADC)
==> 오류: 하나 이상의 PGP 서명을 검증할 수 없습니다!
[study@study-virtualbox extra-x86_64]$
만약 올바른 서명이 등록되지 않으면 makepkg -s 명령의 컴파일 도중 위와 같은 오류메시지를 출력하며 작업이 중단됩니다.
vlc 서명키 확인
[study@study-virtualbox extra-x86_64]$ gpg --list-keys
/home/study/.gnupg/pubring.kbx
------------------------------
pub dsa1024 2013-01-21 [SC] [expired: 2018-06-07]
65F7C6B4206BD057A7EB73787180713BE58D1ADC
uid [ expired] VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2013)
uid [ expired] VideoLAN Release Signing Key (2014)
uid [ expired] VideoLAN Release Signing Key (2016)
uid [ expired] VideoLAN Release Signing Key (2017)
[study@study-virtualbox extra-x86_64]$
--list-keys 옵션은 등록되어 있는 키를 나열합니다.
[study@study-virtualbox extra-x86_64]$ gpg --list-signatures
/home/study/.gnupg/pubring.kbx
------------------------------
pub dsa1024 2013-01-21 [SC] [expired: 2018-06-07]
65F7C6B4206BD057A7EB73787180713BE58D1ADC
uid [ expired] VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2017-05-03 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-04-26 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2015-02-11 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2013)
sig 3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2017-05-03 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-04-26 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2015-02-11 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2014-02-02 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2013-01-21 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2014)
sig 3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2017-05-03 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-04-26 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2015-02-11 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2014-02-02 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2016)
sig 3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig 3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2017)
sig 3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
[study@study-virtualbox extra-x86_64]$
--list-signatures는 등록되어 있는 키와 서명을 나열합니다.
[study@study-virtualbox extra-x86_64]$ gpg --check-signatures
/home/study/.gnupg/pubring.kbx
------------------------------
pub dsa1024 2013-01-21 [SC] [expired: 2018-06-07]
65F7C6B4206BD057A7EB73787180713BE58D1ADC
uid [ expired] VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2017-05-03 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-04-26 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2015-02-11 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2013)
sig!3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2017-05-03 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-04-26 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2015-02-11 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2014-02-02 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2013-01-21 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2014)
sig!3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2017-05-03 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-04-26 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2015-02-11 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2014-02-02 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2016)
sig!3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
sig!3 7180713BE58D1ADC 2016-02-18 VideoLAN Release Signing Key (2015)
uid [ expired] VideoLAN Release Signing Key (2017)
sig!3 7180713BE58D1ADC 2017-06-07 VideoLAN Release Signing Key (2015)
gpg: 21 good signatures
[study@study-virtualbox extra-x86_64]$
--check-signatures는 키 서명을 검사하고 해당 정보를 나열합니다.
PKGBUILD 파일 내용 수정
PKGBUID 파일을 수정하면 해당 정보를 바탕으로 한 소스 컴파일, 빌드 작업으로 사용자의 시스템 환경이나 정책에 맞춘 최적화된 패키징 작업이 가능합니다.
그러나 앞서 말한 바와 같이 셸스크립트나 컴파일 관련 명령 구문에 대한 이해가 없다면 함부로 수정하지 마시기 바랍니다.
리눅스를 자신의 입맛대로 다루고자 하시는 분들은 가상머신 환경에서 PKGBUILD 파일을 수정하고 컴파일, 빌드하는 과정을 연습하여 익히시는 것을 권장합니다.
컴파일 설치
[study@study-virtualbox extra-x86_64]$ makepkg -si
==> 꾸러미 만드는 중: vlc 3.0.16-3 (2021년 09월 10일 (금) 오전 09시 58분 28초)
==> 실행 시간 의존성 검사중...
==> 빠진 의존성 설치 중...
[sudo] study 암호:
소스 파일을 컴파일, 빌드하여 패키징하고 이렇게 만들어진 패키지를 시스템에 설치하는 가장 기본적인 makepkg 명령입니다.
-s 옵션은 pacman으로 빠진 의존 요소를 설치합니다.
-i 옵션은 성공적으로 빌드한 후 바로 이어서 패키지를 설치합니다.
[study@study-virtualbox ~]$ makepkg -h
makepkg (pacman) 6.0.0
Pacman 사용과 호환되는 꾸러미를 만듭니다.
사용법: /usr/bin/makepkg <옵션>
옵션:
-A, --ignorearch 불완전한 arch 필드를 PKGBUILD에서 무시합니다
-c, --clean 빌드 후 작업 파일을 지웁니다
-C, --cleanbuild 꾸러미를 만들기 전에 $srcdir/ 디렉터리를 삭제합니다
-d, --nodeps 모든 의존성 검사를 건너뜁니다
-e, --noextract 원본 파일을 추출하지 않습니다(기존 $srcdir/ 디렉터리 사용)
-f, --force 기존 꾸러미를 덮어씁니다
-g, --geninteg 원본 파일의 무결성 검사를 생성합니다
-h, --help 이 도움말 메시지를 표시하고 나갑니다
-i, --install 성공적으로 빌드한 후 꾸러미를 설치합니다
-L, --log 꾸러미 빌드 과정을 기록합니다
-m, --nocolor 출력 메시지의 색 구분 기능을 끕니다
-o, --nobuild 파일을 다운로드하고 추출하기까지만 진행합니다
-p <파일> ('PKGBUILD' 대신) 대체 빌드 스크립트를 사용합니다
-r, --rmdeps 빌드가 성공적으로 끝나면 설치한 의존 요소를 제거합니다
-R, --repackage 꾸러미의 내용을 다시 빌드하지 않고 꾸러미를 다시 만듭니다
-s, --syncdeps pacman으로 빠진 의존 요소를 설치합니다
-S, --source 내려받은 원본 없이 소스 타르볼을 만듭니다
-V, --version 버전 정보를 표시하고 나갑니다
--allsource 내려받은 원본을 넣어 소스 타르볼을 만듭니다
--check check() 함수(PKGBUILD 안에 있는 것)를 실행합니다
--config <파일> ('/etc/makepkg.conf' 대신) 대체 설정 파일을 사용합니다
--holdver VCS 원본을 업데이트하지 않습니다
--key <키> 서명을 위해 gpg에 대한 키를 기본값 대신 지정합니다
--noarchive 꾸러미 파일을 생성하지 않습니다
--nocheck check() 함수(PKGBUILD 안에 있는 것)를 실행하지 않습니다
--noprepare prepare() 함수(PKGBUILD 안에 있는 것)를 실행하지 않습니다
--nosign 꾸러미 서명을 만들지 않습니다
--packagelist 생성될 꾸러미 파일 경로만 나열합니다
--printsrcinfo 생성된 SRCINFO를 출력하고 나갑니다
--sign 결과 꾸러미에 gpg로 서명합니다
--skipchecksums 원본 파일의 검사합을 검증하지 않습니다
--skipinteg 원본 파일에 대한 검사 확인을 수행하지 않습니다
--skippgpcheck PGP 서명으로 원본 파일을 검증하지 않습니다
--verifysource (필요하면) 원본 파일을 다운로드하고 무결성 검사를 수행합니다
다음 옵션을 pacman에 전달할 수 없습니다:
--asdeps 불확실하게 설치한 요소처럼 꾸러미를 설치합니다
--needed 이미 최신인 대상은 재설치 하지 않습니다
--noconfirm 의존성을 해결할 때 확인하지 않습니다
--noprogressbar 파일을 다운로드할 때 진행 표시줄을 표시하지 않습니다
-p를 지정하지 않으면, makepkg는 PKGBUILD를 찾습니다
[study@study-virtualbox ~]$
makepkg 주요 옵션입니다.
==> 빠진 의존성 설치 중...
[sudo] study 암호:
의존성 해결 중...
꾸러미 충돌을 찾는 중...
꾸러미 (23) double-conversion-3.1.5-2 glslang-11.6.0-1 libebml-1.4.2-1
md4c-0.4.8-1 shaderc-2021.1-2 spirv-tools-2021.1-1 tslib-1.22-1
xcb-util-image-0.4.0-3 xcb-util-renderutil-0.3.9-3
xcb-util-wm-0.4.1-3 a52dec-0.7.4-11 libdvbpsi-1:1.3.3-2
libmad-0.15.1b-9 libmatroska-1.6.3-1 libmpeg2-0.5.1-7
libplacebo-3.120.3-3 libtar-1.2.20-5 libupnp-1.14.8-1
lua52-5.2.4-5 qt5-base-5.15.2+kde+r222-1 qt5-svg-5.15.2+kde+r7-1
qt5-x11extras-5.15.2-1 xcb-util-keysyms-0.4.0-3
총 다운로드 크기: 19.81 MiB
총 설치 크기: 103.33 MiB
:: 설치를 진행하시겠습니까? [Y/n]
makepkg의 -s 옵션이 실행되는 과정입니다.
빠진 의존성 패키지를 자동으로 설치합니다.
:: 설치를 진행하시겠습니까? [Y/n]
:: 꾸러미 가져오는 중...
a52dec-0.7.4-11-... 38.3 KiB 82.5 KiB/s 00:00 [######################] 100%
libdvbpsi-1:1.3.... 90.3 KiB 381 KiB/s 00:00 [######################] 100%
lua52-5.2.4-5-x86_64 222.5 KiB 866 KiB/s 00:00 [######################] 100%
libebml-1.4.2-1-... 69.2 KiB 529 KiB/s 00:00 [######################] 100%
libmatroska-1.6.... 135.8 KiB 1235 KiB/s 00:00 [######################] 100%
libmad-0.15.1b-9... 67.7 KiB 599 KiB/s 00:00 [######################] 100%
libmpeg2-0.5.1-7... 79.0 KiB 594 KiB/s 00:00 [######################] 100%
xcb-util-keysyms... 8.3 KiB 67.1 KiB/s 00:00 [######################] 100%
libtar-1.2.20-5-... 36.9 KiB 345 KiB/s 00:00 [######################] 100%
libupnp-1.14.8-1... 240.4 KiB 1635 KiB/s 00:00 [######################] 100%
xcb-util-renderu... 9.7 KiB 100 KiB/s 00:00 [######################] 100%
xcb-util-wm-0.4.... 34.2 KiB 353 KiB/s 00:00 [######################] 100%
xcb-util-image-0... 17.9 KiB 128 KiB/s 00:00 [######################] 100%
tslib-1.22-1-x86_64 100.0 KiB 770 KiB/s 00:00 [######################] 100%
double-conversio... 54.9 KiB 315 KiB/s 00:00 [######################] 100%
md4c-0.4.8-1-x86_64 81.4 KiB 388 KiB/s 00:00 [######################] 100%
qt5-base-5.15.2+... 13.0 MiB 3.54 MiB/s 00:04 [######################] 100%
qt5-x11extras-5.... 14.5 KiB 137 KiB/s 00:00 [######################] 100%
qt5-svg-5.15.2+k... 146.7 KiB 1193 KiB/s 00:00 [######################] 100%
glslang-11.6.0-1... 3.6 MiB 3.07 MiB/s 00:01 [######################] 100%
spirv-tools-2021... 1469.9 KiB 2.87 MiB/s 00:01 [######################] 100%
shaderc-2021.1-2... 122.6 KiB 989 KiB/s 00:00 [######################] 100%
libplacebo-3.120... 295.5 KiB 2.22 MiB/s 00:00 [######################] 100%
Total (23/23) 19.8 MiB 1868 KiB/s 00:11 [######################] 100%
(23/23) 키링의 키를 검사 중 [######################] 100%
(23/23) 꾸러미 무결성 검사 중 [######################] 100%
(23/23) 꾸러미 파일 불러오는 중 [######################] 100%
(23/23) 파일 충돌 검사 중 [######################] 100%
(23/23) 사용 가능한 디스크 공간 검사 중 [######################] 100%
:: 꾸러미 변경사항을 처리 중...
( 1/23) 설치 중 a52dec [######################] 100%
( 2/23) 설치 중 libdvbpsi [######################] 100%
( 3/23) 설치 중 lua52 [######################] 100%
( 4/23) 설치 중 libebml [######################] 100%
( 5/23) 설치 중 libmatroska [######################] 100%
( 6/23) 설치 중 libmad [######################] 100%
( 7/23) 설치 중 libmpeg2 [######################] 100%
libmpeg2에 대한 선택 의존성
sdl: required for mpeg2dec
libxv: required for mpeg2dec [설치함]
( 8/23) 설치 중 xcb-util-keysyms [######################] 100%
( 9/23) 설치 중 libtar [######################] 100%
(10/23) 설치 중 libupnp [######################] 100%
(11/23) 설치 중 xcb-util-renderutil [######################] 100%
(12/23) 설치 중 xcb-util-wm [######################] 100%
(13/23) 설치 중 xcb-util-image [######################] 100%
(14/23) 설치 중 tslib [######################] 100%
(15/23) 설치 중 double-conversion [######################] 100%
(16/23) 설치 중 md4c [######################] 100%
(17/23) 설치 중 qt5-base [######################] 100%
qt5-base에 대한 선택 의존성
qt5-svg: to use SVG icon themes [대기 중]
qt5-wayland: to run Qt applications in a Wayland session
qt5-translations: for some native UI translations
postgresql-libs: PostgreSQL driver
mariadb-libs: MariaDB driver
unixodbc: ODBC driver
libfbclient: Firebird/iBase driver
freetds: MS SQL driver
gtk3: GTK platform plugin [설치함]
perl: for fixqt4headers and syncqt [설치함]
(18/23) 설치 중 qt5-x11extras [######################] 100%
(19/23) 설치 중 qt5-svg [######################] 100%
(20/23) 설치 중 glslang [######################] 100%
(21/23) 설치 중 spirv-tools [######################] 100%
(22/23) 설치 중 shaderc [######################] 100%
(23/23) 설치 중 libplacebo [######################] 100%
:: 후처리 훅들을 실행 중...
(1/1) Arming ConditionNeedsUpdate...
==> 빌드 시간 의존성 검사중...
==> 빠진 의존성 설치 중...
==> 빌드 시간 의존성 검사중...
==> 빠진 의존성 설치 중...
의존성 해결 중...
꾸러미 충돌을 찾는 중...
꾸러미 (21) confuse-3.3-3 ftgl-2.4.0-2 glew-2.2.0-2 glm-0.9.9.8-1
glu-9.0.2-1 libftdi-1.5-2 libusb-compat-0.1.7-1 sdl-1.2.15-14
xorg-fonts-alias-misc-1.0.4-1 xorg-fonts-misc-1.0.3-10
aribb24-1.0.3-3 aribb25-0.2.7-2 libdvdcss-1.4.3-1 libgoom2-2k4-5
libtiger-0.3.4-6 lirc-1:0.10.1-8 live-media-2021.08.24-1
projectm-3.1.12-2 sdl_image-1.2.12-7 vcdimager-2.0.1-4
xosd-2.2.14-10
총 다운로드 크기: 16.88 MiB
총 설치 크기: 84.55 MiB
:: 설치를 진행하시겠습니까? [Y/n]
역시 빠진 의존성 패키지 설치하는 과정입니다.
:: 설치를 진행하시겠습니까? [Y/n]
:: 꾸러미 가져오는 중...
live-media-2021.... 1725.3 KiB 683 KiB/s 00:03 [######################] 100%
xorg-fonts-alias... 3.3 KiB 26.0 KiB/s 00:00 [######################] 100%
xorg-fonts-misc-... 6.6 MiB 3.32 MiB/s 00:02 [######################] 100%
xosd-2.2.14-10-x... 42.7 KiB 169 KiB/s 00:00 [######################] 100%
libdvdcss-1.4.3-... 20.2 KiB 289 KiB/s 00:00 [######################] 100%
vcdimager-2.0.1-... 281.4 KiB 1279 KiB/s 00:00 [######################] 100%
libtiger-0.3.4-6... 23.6 KiB 306 KiB/s 00:00 [######################] 100%
sdl-1.2.15-14-x86_64 362.9 KiB 621 KiB/s 00:01 [######################] 100%
sdl_image-1.2.12... 28.5 KiB 475 KiB/s 00:00 [######################] 100%
confuse-3.3-3-x86_64 45.3 KiB 907 KiB/s 00:00 [######################] 100%
libftdi-1.5-2-x86_64 125.7 KiB 990 KiB/s 00:00 [######################] 100%
libusb-compat-0.... 13.1 KiB 141 KiB/s 00:00 [######################] 100%
lirc-1:0.10.1-8-... 1210.9 KiB 2.13 MiB/s 00:01 [######################] 100%
libgoom2-2k4-5-x... 90.2 KiB 424 KiB/s 00:00 [######################] 100%
glm-0.9.9.8-1-any 3.2 MiB 1774 KiB/s 00:02 [######################] 100%
glu-9.0.2-1-x86_64 142.5 KiB 491 KiB/s 00:00 [######################] 100%
ftgl-2.4.0-2-x86_64 317.8 KiB 1513 KiB/s 00:00 [######################] 100%
glew-2.2.0-2-x86_64 399.0 KiB 1535 KiB/s 00:00 [######################] 100%
projectm-3.1.12-... 2.2 MiB 1473 KiB/s 00:02 [######################] 100%
aribb24-1.0.3-3-... 46.1 KiB 122 KiB/s 00:00 [######################] 100%
aribb25-0.2.7-2-... 33.4 KiB 726 KiB/s 00:00 [######################] 100%
Total (21/21) 16.9 MiB 1264 KiB/s 00:14 [######################] 100%
(21/21) 키링의 키를 검사 중 [######################] 100%
(21/21) 꾸러미 무결성 검사 중 [######################] 100%
(21/21) 꾸러미 파일 불러오는 중 [######################] 100%
(21/21) 파일 충돌 검사 중 [######################] 100%
(21/21) 사용 가능한 디스크 공간 검사 중 [######################] 100%
:: 꾸러미 변경사항을 처리 중...
( 1/21) 설치 중 live-media [######################] 100%
( 2/21) 설치 중 xorg-fonts-alias-misc [######################] 100%
( 3/21) 설치 중 xorg-fonts-misc [######################] 100%
( 4/21) 설치 중 xosd [######################] 100%
( 5/21) 설치 중 libdvdcss [######################] 100%
( 6/21) 설치 중 vcdimager [######################] 100%
( 7/21) 설치 중 libtiger [######################] 100%
( 8/21) 설치 중 sdl [######################] 100%
sdl에 대한 선택 의존성
alsa-lib: ALSA audio driver [설치함]
libpulse: PulseAudio audio driver [설치함]
( 9/21) 설치 중 sdl_image [######################] 100%
(10/21) 설치 중 confuse [######################] 100%
(11/21) 설치 중 libftdi [######################] 100%
libftdi에 대한 선택 의존성
python: library bindings [설치함]
(12/21) 설치 중 libusb-compat [######################] 100%
(13/21) 설치 중 lirc [######################] 100%
lirc에 대한 선택 의존성
python: for lirc-setup, irdb-get and pronto2lirc [설치함]
(14/21) 설치 중 libgoom2 [######################] 100%
(15/21) 설치 중 glm [######################] 100%
(16/21) 설치 중 glu [######################] 100%
(17/21) 설치 중 ftgl [######################] 100%
(18/21) 설치 중 glew [######################] 100%
(19/21) 설치 중 projectm [######################] 100%
(20/21) 설치 중 aribb24 [######################] 100%
(21/21) 설치 중 aribb25 [######################] 100%
:: 후처리 훅들을 실행 중...
(1/6) Reloading system manager configuration...
(2/6) Creating temporary files...
(3/6) Reloading device manager configuration...
(4/6) Arming ConditionNeedsUpdate...
(5/6) Updating fontconfig cache...
(6/6) Updating the info directory file...
==> 원본 가져오는 중...
-> vlc-3.0.16.tar.xz 다운로드 중...
==> 원본 가져오는 중...
-> vlc-3.0.16.tar.xz 다운로드 중...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 25.2M 100 25.2M 0 0 421k 0 0:01:01 0:01:01 --:--:-- 740k
-> vlc-3.0.16.tar.xz.asc 다운로드 중...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 195 100 195 0 0 147 0 0:00:01 0:00:01 --:--:-- 147
-> update-vlc-plugin-cache.hook를 찾음
-> vlc-3.0.11.1-srt_1.4.2.patch를 찾음
-> vlc-live-media-2021.patch를 찾음
==> source 파일을 sha512sums로 유효검사 중...
vlc-3.0.16.tar.xz ... 넘어감
vlc-3.0.16.tar.xz.asc ... 건너뜀
update-vlc-plugin-cache.hook ... 넘어감
vlc-3.0.11.1-srt_1.4.2.patch ... 넘어감
vlc-live-media-2021.patch ... 넘어감
==> gpg로 원본 파일 서명 검증 중...
vlc-3.0.16.tar.xz ... 넘어감 (경고: 키 유효 기간이 끝났습니다.)
==> 경고: 서명을 검증하는데 경고 사항이 있습니다.
진실로 신뢰 가능한 요소인지 확인하십시오.
==> 원본 추출 중...
-> vlc-3.0.16.tar.xz를 bsdtar로 추출 중
소스 원본 아카이브와 서명 파일을 내려받습니다.
빌드 작업에 필요한 추가 파일 존재 여부를 검증합니다.
내려받은 소스 파일을 sha512sum 해시값 검사를 통한 유효성 검사를 합니다.
gpg로 원본 파일 서명을 검증합니다.
이상의 작업을 거친 후 아카이브 파일에서 소스 원본 파일들을 추출합니다.
vlc를 포함하여 다수의 패키지들은 gpg 키가 더이상 갱신되지 않아 유효기간이 만료된 경우가 꽤 있습니다.
아무래도 과거에 비해 키 관리가 부실해지고 있습니다.
배포자 입장에서는 키 관리가 번거로운 것은 사실이고 배포 장소가 보안과 안정성 측면에서 신뢰성이 높은 소수의 플랫폼으로 정해져 있기에 키 검증의 필요성이 낮아져 키 관리를 과거만큼 열심히 하지 않는 편입니다.
그리고 개발 등과 접점이 별로 없는 일반 사용자(End User)입장에서는 서명 또는 키 검증 과정이 거의 대부분 자동으로 이루어져 인식성이 떨어지고 서명과 키라는 보안 확인 절차에 대한 개념 자체가 희박한 경우가 대부분입니다.
==> 원본 추출 중...
-> vlc-3.0.16.tar.xz를 bsdtar로 추출 중
==> prepare() 시작...
Applying patch vlc-3.0.11.1-srt_1.4.2.patch...
patching file configure.ac
patching file modules/access/srt.c
patching file modules/access_output/srt.c
Applying patch vlc-live-media-2021.patch...
patching file configure.ac
patching file modules/access/live555.cpp
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not running autopoint: --install not given
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not running libtoolize: --install not given
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/bin/autoconf --force
configure.ac:68: warning: AC_PROG_LEX without either yywrap or noyywrap is obsolete
./lib/autoconf/programs.m4:716: _AC_PROG_LEX is expanded from...
./lib/autoconf/programs.m4:709: AC_PROG_LEX is expanded from...
configure.ac:68: the top level
configure.ac:713: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:713: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:713: the top level
configure.ac:861: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:861: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:861: the top level
configure.ac:1200: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:1200: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1200: the top level
configure.ac:1213: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:1213: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1213: the top level
configure.ac:1223: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:1223: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1223: the top level
configure.ac:1582: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:1582: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:1582: the top level
configure.ac:1582: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:1582: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2823: _AC_COMPILE_IFELSE is expanded from...
./lib/autoconf/general.m4:2839: AC_COMPILE_IFELSE is expanded from...
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:1582: the top level
configure.ac:1582: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:1582: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:1582: the top level
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --force-missing
extras/package/npapi.am:34: warning: ':='-style assignments are not portable
Makefile.am:219: 'extras/package/win32/package.mak' included from here
extras/package/win32/package.mak:14: 'extras/package/npapi.am' included from here
autoreconf: Leaving directory '.'
원본 추출 작업이 끝나고 서는 빌드 작업을 위한 사전 준비 작업이 진행됩니다.
==> build() 시작...
configure: WARNING: unrecognized options: --enable-aribcam
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '984' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
- 생략 -
사전 준비 작업이 완료되면 본격적인 빌드 작업이 진행됩니다.
libvlc configuration
--------------------
version : 3.0.16
system : linux
architecture : x86_64 mmx sse sse2
optimizations : yes
vlc aliases : cvlc rvlc qvlc svlc nvlc
To build vlc and its plugins, type `make', or `./compile' if you like nice colors.
make all-recursive
make[1]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 들어감
Making all in compat
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/compat' 들어감
make all-am
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/compat' 들어감
CC dummy.lo
CC strlcpy.lo
CC strnstr.lo
CCLD libcompat.la
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/compat' 나감
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/compat' 나감
Making all in doc
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/doc' 들어감
make[2]: 'all'을(를) 위해 할 일이 없습니다.
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/doc' 나감
Making all in po
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/po' 들어감
make[2]: 'all'을(를) 위해 할 일이 없습니다.
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/po' 나감
- 생략 -
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/bin' 나감
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/bin' 나감
Making install in test
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/test' 들어감
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/test' 들어감
make[3]: 'install-exec-am'을(를) 위해 할 일이 없습니다.
make[3]: 'install-data-am'을(를) 위해 할 일이 없습니다.
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/test' 나감
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16/test' 나감
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 들어감
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 들어감
/usr/bin/mkdir -p '/home/study/abs/vlc/repos/extra-x86_64/pkg/vlc/usr/bin'
/usr/bin/install -c cvlc rvlc qvlc svlc nvlc '/home/study/abs/vlc/repos/extra-x86_64/pkg/vlc/usr/bin'
make install-exec-hook
make[4]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 들어감
if test "x86_64-pc-linux-gnu" = "x86_64-pc-linux-gnu"; then \
PATH="/home/study/abs/vlc/repos/extra-x86_64/pkg/vlc/usr/bin:$PATH" \
LD_LIBRARY_PATH="/home/study/abs/vlc/repos/extra-x86_64/pkg/vlc/usr/lib:$LD_LIBRARY_PATH" \
"/home/study/abs/vlc/repos/extra-x86_64/pkg/vlc/usr/lib/vlc/vlc-cache-gen" \
"/home/study/abs/vlc/repos/extra-x86_64/pkg/vlc/usr/lib/vlc/plugins" ; \
else \
echo "Cross-compilation: cache generation skipped!" ; \
fi
make[4]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 나감
make[3]: 'install-data-am'을(를) 위해 할 일이 없습니다.
make[3]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 나감
make[2]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 나감
make[1]: 디렉터리 '/home/study/abs/vlc/repos/extra-x86_64/src/vlc-3.0.16' 나감
==> 설치 정돈 중...
소스파일들을 가지고 패키지를 만드는 컴파일 작업이 진행됩니다.
일반적으로 make 또는 cmake를 통해 컴파일 작업이 진행되며 PKGBUID 파일 등 빌드 메뉴얼에 작성된 ./configure --option 항목 등 각종 설정값에 맞춰 컴파일됩니다.
==> 설치 정돈 중...
-> 빈 디렉터리 삭제 중...
-> libtool 파일 삭제 중...
-> 원하지 않는 파일 제거 중...
-> 정적 라이브러리 파일 삭제 중...
-> 바이너리와 라이브러리에서 불필요한 심볼 제거 중...
-> man과 info 페이지 압축하는 중...
==> 꾸러미 문제를 검사 중...
==> "vlc" 꾸러미 만드는 중...
-> .PKGINFO 파일 만드는 중...
-> .BUILDINFO 파일 만드는 중...
-> .MTREE 파일 만드는 중...
-> 꾸러미 압축 중...
==> fakeroot 환경을 빠져나갑니다.
==> 만들기 완료: vlc 3.0.16-3 (2021년 09월 10일 (금) 오전 10시 27분 11초)
==> vlc 꾸러미를 pacman -U로 설치 중...
[sudo] study 암호:
소스 컴파일 작업이 완료되면 불필요한 부산물들은 정리가 되고 패키지 파일과 해당 패키지 관련 정보가 담긴 파일들이 생성됩니다.
==> vlc 꾸러미를 pacman -U로 설치 중...
[sudo] study 암호:
꾸러미 불러오는 중...
의존성 해결 중...
꾸러미 충돌을 찾는 중...
꾸러미 (1) vlc-3.0.16-3
총 설치 크기: 59.97 MiB
:: 설치를 진행하시겠습니까? [Y/n]
(1/1) 키링의 키를 검사 중 [######################] 100%
(1/1) 꾸러미 무결성 검사 중 [######################] 100%
(1/1) 꾸러미 파일 불러오는 중 [######################] 100%
(1/1) 파일 충돌 검사 중 [######################] 100%
(1/1) 사용 가능한 디스크 공간 검사 중 [######################] 100%
:: 꾸러미 변경사항을 처리 중...
(1/1) 설치 중 vlc [######################] 100%
vlc에 대한 선택 의존성
avahi: service discovery using bonjour protocol [설치함]
aom: AOM AV1 codec [설치함]
gst-plugins-base-libs: for libgst plugins [설치함]
dav1d: dav1d AV1 decoder [설치함]
libdvdcss: decoding encrypted DVDs [설치함]
libavc1394: devices using the 1394ta AV/C [설치함]
libdc1394: IEEE 1394 access plugin [설치함]
kwallet: kwallet keystore
libva-vdpau-driver: vdpau backend nvidia
libva-intel-driver: video backend intel
libbluray: Blu-Ray video input [설치함]
flac: Free Lossless Audio Codec plugin [설치함]
twolame: TwoLAME mpeg2 encoder plugin [설치함]
libgme: Game Music Emu plugin [설치함]
vcdimager: navigate VCD with libvcdinfo [설치함]
libmtp: MTP devices discovery [설치함]
systemd-libs: udev services discovery [설치함]
smbclient: SMB access plugin [설치함]
libcdio: audio CD playback [설치함]
gnu-free-fonts: subtitle font [설치함]
ttf-dejavu: subtitle font
libssh2: sftp access [설치함]
libnfs: NFS access [설치함]
mpg123: mpg123 codec [설치함]
protobuf: chromecast streaming [설치함]
libmicrodns: mDNS services discovery (chromecast etc) [설치함]
lua52-socket: http interface
libdvdread: DVD input module [설치함]
libdvdnav: DVD with navigation input module [설치함]
libogg: Ogg and OggSpots codec [설치함]
libshout: shoutcast/icecast output plugin [설치함]
libmodplug: MOD output plugin [설치함]
libvpx: VP8 and VP9 codec [설치함]
libvorbis: Vorbis decoder/encoder [설치함]
speex: Speex codec [설치함]
opus: opus codec [설치함]
libtheora: theora codec [설치함]
libpng: PNG support [설치함]
libjpeg-turbo: JPEG support [설치함]
librsvg: SVG plugin [설치함]
x264: H264 encoding [설치함]
x265: HEVC/H.265 encoder [설치함]
zvbi: VBI/Teletext/webcam/v4l2 capture/decoding [설치함]
libass: Subtitle support [설치함]
libkate: Kate codec [설치함]
libtiger: Tiger rendering for Kate streams [설치함]
sdl_image: SDL image support [설치함]
srt: SRT input/output plugin [설치함]
aalib: ASCII art video output [설치함]
libcaca: colored ASCII art video output [설치함]
libpulse: PulseAudio audio output [설치함]
alsa-lib: ALSA audio output [설치함]
jack: jack audio server [설치함]
libsamplerate: audio Resampler [설치함]
libsoxr: SoX audio Resampler [설치함]
chromaprint: Chromaprint audio fingerprinter [설치함]
lirc: lirc control [설치함]
libgoom2: Goom visualization [설치함]
projectm: ProjectM visualisation [설치함]
ncurses: ncurses interface [설치함]
libnotify: notification plugin [설치함]
gtk3: notification plugin [설치함]
aribb24: aribsub support [설치함]
aribb25: aribcam support [설치함]
pcsclite: aribcam support [설치함]
:: 후처리 훅들을 실행 중...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Updating icon theme caches...
(3/4) Updating the desktop file MIME type cache...
(4/4) Updating the vlc plugin cache...
[study@study-virtualbox extra-x86_64]$
makepkg 명령에 -i 옵션을 붙여 실행하면 패키지가 성공적으로 빌드되면 해당 패키지가 바로 이어서 시스템 설치 작업이 진행됩니다.
패키지 실행
패키지가 성공적으로 설치되고 나서 해당 프로그램을 실행해보면 정상적으로 실행되는 것을 확인할 수 있습니다.