설치하려고 합니다슬러사용공식 데비안 CreatePackageFromPPA멘토링을 했으나 아직 성공하지 못했습니다.
데비안에서 사용할 수 없는지 확인하세요 찾다
데비안 SDK 설치
$ sudo apt install devscripts build-essential
- 변경 파일의 링크를 찾아 다운로드하세요.
$ dget --extract --allow-unauthenticated https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10-1ppa1~ubuntu22.10_source.changes
dget: retrieving https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10-1ppa1~ubuntu22.10_source.changes
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 1594 100 1594 0 0 625 0 0:00:02 0:00:02 --:--:-- 2033
dget: retrieving https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10-1ppa1~ubuntu22.10.dsc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 2169 100 2169 0 0 759 0 0:00:02 0:00:02 --:--:-- 4252
dget: retrieving https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10.orig.tar.xz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 2776k 100 2776k 0 0 706k 0 0:00:03 0:00:03 --:--:-- 1096k
dget: retrieving https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10-1ppa1~ubuntu22.10.debian.tar.xz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
100 5892 100 5892 0 0 2312 0 0:00:02 0:00:02 --:--:-- 4849
dget: retrieving https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10-1ppa1~ubuntu22.10_source.buildinfo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
curl: (22) The requested URL returned error: 404 Not Found
dget: curl sile_0.14.10-1ppa1~ubuntu22.10_source.buildinfo https://launchpad.net/~sile-typesetter/+archive/ubuntu/sile/+files/sile_0.14.10-1ppa1~ubuntu22.10_source.buildinfo failed
dpkg-source: info: extracting sile in sile-0.14.10
dpkg-source: info: unpacking sile_0.14.10.orig.tar.xz
dpkg-source: info: unpacking sile_0.14.10-1ppa1~ubuntu22.10.debian.tar.xz
- 세워
$ cd sile-0.14.10/
sudo mk-build-deps --install --remove
dpkg-buildpackage: info: source package sile-build-deps
dpkg-buildpackage: info: source version 0.14.10-1ppa1~ubuntu22.10
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Equivs Dummy Package Generator <root@pc>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
debian/rules clean
dh clean
dh_clean
debian/rules binary
dh binary
dh_update_autotools_config
dh_autoreconf
create-stamp debian/debhelper-build-stamp
dh_prep
dh_install
dh_installdocs
dh_installchangelogs
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_missing
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package 'sile-build-deps' in '../sile-build-deps_0.14.10-1ppa1~ubuntu22.10_all.deb'.
dpkg-genbuildinfo --build=binary
dpkg-genchanges --build=binary >../sile-build-deps_0.14.10-1ppa1~ubuntu22.10_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
Selecting previously unselected package sile-build-deps.
Preparing to unpack sile-build-deps_0.14.10-1ppa1~ubuntu22.10_all.deb ...
Unpacking sile-build-deps (0.14.10-1ppa1~ubuntu22.10) ...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies...Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) sile-build-deps:amd64 < 0.14.10-1ppa1~ubuntu22.10 @iU mK Nb Ib >
Broken sile-build-deps:amd64 Depends on lua-cassowary:amd64 < none @un H >
Removing sile-build-deps:amd64 because I can't find lua-cassowary:amd64
Done
Done
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following packages will be REMOVED:
sile-build-deps
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 9,216 B disk space will be freed.
Do you want to continue? [Y/n] y
mk-build-deps: Unable to install sile-build-deps at /usr/bin/mk-build-deps line 457.
mk-build-deps: Unable to install all build-dep packages
- 설치하다
$ dpkg-buildpackage --build=binary --no-sign
dpkg-buildpackage: info: source package sile
dpkg-buildpackage: info: source version 0.14.10-1ppa1~ubuntu22.10
dpkg-buildpackage: info: source distribution kinetic
dpkg-buildpackage: info: source changed by Caleb Maclennan <[email protected]>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build .
dpkg-checkbuilddeps: error: Unmet build dependencies: lua-cassowary lua-cldr lua-cliargs lua-compat53 lua-cosmo lua-epnf lua-fluent lua-linenoise lua-loadkit lua-penlight (>= 1.6.0) lua-repl lua-utf8 lua-vstruct lua-zlib-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
위에서 볼 수 있듯이 설치에 실패했습니다. 예제의 pogo와 달리 Sile의 저장소에는 종속성 이름과 일치하는 다른 패키지가 많이 있으므로 필수 구성 요소일 수 있습니다. 그런데 가이드에서는 이런 상황을 다루지 않아서 막히네요. 이 방법을 사용하여 누락된 각 종속성을 수동으로 설치해야 합니까? 수동 작업을 덜 필요로 하는 더 나은 솔루션이 있다면 저는 전적으로 이에 동의합니다.
답변1
당신은 사라졌습니다세워데비안 종속성이 아닙니다. 따르는 절차는 모든 종속성이 이미 Debian에 있는 경우에만 작동합니다( mk-build-deps
런타임에 가상 패키지에 의해 끌어옵니다).
이 경우 종속성만 존재하므로 ppa
두 가지 옵션이 있습니다.
하나씩 빌드합니다(내부 종속성을 충족하기 위해 올바른 순서로).
이것을
ppa
source.list에 추가하고 바이너리를 직접 설치하거나 동일한 프로세스를 실행하면 누락된 빌드 종속성이 .txt 파일에서 바이너리 형식으로 추출됩니다ppa
.
두 번째 옵션의 경우 다음을 수행할 수 있습니다.
$ sudo add-apt-repository ppa:sile-typesetter/sile
그러면 /etc/apt/sources.list.d
이름 지정에 파일이 추가 됩니다.sile-typesetter...
바이너리만 원하는 경우 설치를 계속하세요 sile
.
$ sudo apt-get install sile
소스에서 빌드하려면 deb-src
해당 파일에서 줄의 주석 처리를 제거하고 run 을 실행 apt-get update
하면 mk-build-deps가 ppa에서 빌드 종속성 패키지를 찾을 수 있어야 하기 때문에 이전에 수행한 작업을 수행할 수 있습니다.