MonoOni / specfile

RPM packaging for Mono on i
Other
0 stars 4 forks source link

Audit dependency chain #8

Open NattyNarwhal opened 5 years ago

NattyNarwhal commented 5 years ago

Testing on a fresh i 7.2 LPAR. Yum bootstrap will install these RPMs by default, so it's a matter of what needs to be installed afterwards. Install rpm-build, rpmdevtools, and curl (to fetch the tarballs). Some things I noticed, using giflib as an example:

Using giflib as an example:

Transaction Summary

Install 7 Packages



* Rerun, the step for `autoreconf` (we need to occasionally regenerate the configure scripts, otherwise they won't pick up dynamic linking with PASE svr4 sonames) can't find `m4-gnu` and `libtoolize` warns about the missing `grep-gnu`.

* No `cc`. Time to add `gcc-aix`, which only covers C for now.

* `diff` barfs at the end of packaging. Time for `diffutils`.

* Successful build.

I think a lot of these are the implied steps of building RPMs. Some are of the RPM's (like GCC, even if autowhatever is depended on explicitly) and undeclared dependencies of say, autotools, but some are implied steps when building the RPM you shouldn't have to worry about. Some of those I can think of:

* For `rpm-build`

  * Compression tools as needed and maybe `tar-gnu` (as it is explicitly used) for extracting.

  * `make-gnu` as it runs the GNU make tool explicitly when building.

  * `diffutils` for finalizing the package

* For autotools

  * `grep-gnu` for `libtool`

  * `m4-gnu` for what provides `autoconf`
NattyNarwhal commented 5 years ago

Building libart_lgpl, triggers something that makes it need coreutils-gnu for mktemp when assembling the RPM. Hmmm.

NattyNarwhal commented 5 years ago

Building lzo exposing no gzip or patch-gnu.

NattyNarwhal commented 5 years ago
+ cd lzo-2.10
+ autoreconf -fiv
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy --force
/QOpenSys/pkgs/bin/libtoolize[9]: /QOpenSys/pkgs/bin/grep:  not found
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
autoreconf: running: /QOpenSys/pkgs/bin/autoconf --force
autoreconf: running: /QOpenSys/pkgs/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
Makefile.am:17: error: 'pkgconfig_DATA' is used but 'pkgconfigdir' is undefined
autoreconf: automake failed with exit status: 1
error: Bad exit status from /QOpenSys/var/tmp/rpm-tmp.ocl3Qb (%build)

Missing pkg-config.

NattyNarwhal commented 5 years ago

Also keep in mind this is BuildDepends, not regular Depends. I haven't tested runtime dependencies, and I can do that after my binge with a new LPAR without many assumptions made.