0

I tried to install Sile using the official Debian CreatePackageFromPPA guide but have yet to succeed.

  1. Confirm that it is not provided on Debian Search

  2. Install Debian SDK

$ sudo apt install devscripts build-essential
  1. Find link to changes file, then download
$ 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
  1. Build
$ 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
  1. Install
$ 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.)

As seen from above the install fails. Unlike pogo in the example, Sile has a bunch of other packages in its repository that match the names of the dependencies so they are probably a prerequisite. However the guide didn't cover this scenario so I am stuck. Do I need to manually install every single missing dependency using this method? If there are better solutions that require less manual work I am fully open to those.

1 Answer 1

1

You are missing build dependencies that are not part of Debian. The procedure you followed works only if all dependencies are already in Debian (they are pulled by a dummy package when mk-build-deps is run).

In this case, the dependencies are in only the ppa so you have two options:

  • build them one by one (there might be a right order to do it to fulfill internal dependencies)

  • add the ppa to your sources.list and either install the binary directly or run the same procedure, that will then pull the missing building dependencies (in binary form) from the ppa.

For the second option you would do something like:

$ sudo add-apt-repository ppa:sile-typesetter/sile

That will add a file in /etc/apt/sources.list.d named sile-typesetter...

If you just want the binaries, then go ahead and install sile:

$ sudo apt-get install sile

If you want to build from source, uncomment the deb-src line in that file, run apt-get update and you can now do what you did before, since mk-build-deps should be able to find the build dependencies packages (from the ppa).

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.