How Launchpad Builds Dependencies [packages] outside the building PPA

Asked by Pascal Mons

I would like to know how Launchpad proceed when Dependencies [packages] are coming from outside the distribution repo. (Trusy 14.04 in my case) and outside the PPA currently building the target package(s).

I've seen that on some occasion Launchpad find packages build in other PPAs I own.

Right now, after having upgraded to the latest version of wxwidgets3.0 the 'ov5' stuff, I have among others the 'freefilesync' package broken by the new libraries. Then I need to build this package inside my ppa:anton+/photo-video-apps .

To this end I had a look at the source PPA for the current version which is ppa:freefilesync/ffs . However looking at their debian/control file I see a dependency on gcc-4.9 and g++-4.9 which are not part of the distribution repository. I imagined I would found the GCC 4.9 packages build somewhere in their PPAs. But the PPA owner does not have any PPA sporting GCC 4.9 : See https://launchpad.net/~freefilesync .

When I look at the build log https://launchpadlibrarian.net/228488821/buildlog_ubuntu-trusty-amd64.freefilesync_7.7-0ubuntu1~trusty_BUILDING.txt.gz

I can see from the start that Launchpad is getting these packages :

The following NEW packages will be installed:
  gcc-5-base libisl15
The following packages will be upgraded:
  apt apt-transport-https base-files bash binutils bsdutils ca-certificates
  coreutils cpio cpp-4.8 dpkg dpkg-dev e2fslibs e2fsprogs g++-4.8 gcc-4.8
  gcc-4.8-base gcc-4.9-base [...]

Then further down :

┌──────────────────────────────────────────────────────────────────────────────┐
│ Install core build dependencies (apt-based resolver) │
└──────────────────────────────────────────────────────────────────────────────┘

Merged Build-Depends: base-files, base-passwd, bash, bsdutils, coreutils, dash, debianutils, diffutils, dpkg, e2fsprogs, findutils, grep, gzip, hostname, libc-bin, login, mount, ncurses-base, ncurses-bin, perl-base, sed, tar, util-linux, libc6-dev | libc-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5), debhelper (>= 9), pkg-config, autotools-dev, libwxgtk3.0-dev (>= 3.0.0), libgtk2.0-dev, imagemagick, intltool, libboost-thread-dev (>= 1.54), libboost-system-dev (>= 1.54), libunity-dev, gcc-4.9, g++-4.9,
[...]

┌──────────────────────────────────────────────────────────────────────────────┐
│ Install freefilesync build dependencies (apt-based resolver) │
└──────────────────────────────────────────────────────────────────────────────┘

The following extra packages will be installed:
  autoconf automake autotools-dev bsdmainutils cpp-4.9 dconf-gsettings-backend
  dconf-service debhelper dh-apparmor file fontconfig fontconfig-config
  fonts-dejavu-core g++-4.9 gcc-4.9

My question is how is that possible ? Launchpad seems to get the 2 dependencies g++-4.9 gcc-4.9 from nowhere ... Running their debian folder on my system Trusty 14.04 with dpkg-buildpackage ends of course with an error on dependencies.

How can I do the same for my target build in my PPA ? without coying from other PPA the respective packages ?

Thanks for your insight.

Question information

Language:
English Edit question
Status:
Solved
For:
Launchpad itself Edit question
Assignee:
No assignee Edit question
Solved by:
William Grant
Solved:
Last query:
Last reply:
Revision history for this message
Best William Grant (wgrant) said :
#1

From the build log:

 Get:1 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu/ trusty/main gcc-5-base amd64 5.2.1-27ubuntu1~14.04.1 [16.6 kB]

The PPA in question depends on ppa:ubuntu-toolchain-r/test. You can do the same with yours using the "Edit PPA dependencies" link.

Revision history for this message
Pascal Mons (anton+) said :
#2

Thanks William Grant, that solved my question.