Commit graph

215 commits

Author SHA1 Message Date
Thomas Haller
29a47f40f8 build: configure explicit paths for dist tarball during "build_clean.sh"
"build_clean.sh" is used to generate a distribution tarball. The tarball
contains pregenerated man pages with default values for paths, which in
turn depend on the configure options when creating the tarball.

Previously, the man page would have paths like "usr/local/etc/NetworkManager/...",
which doesn't seem the best choice for a default man page.

Explicitly set the installation paths.

Also, --disable-dependency-tracking in this mode. It may speed up the
build.
2017-03-24 11:20:00 +01:00
Lubomir Rintel
faad17f9e8 contrib/rpm: enable libpsl on Fedora only 2017-03-22 13:01:23 +01:00
Thomas Haller
e32839838e udev: drop libgudev in favor of libudev
libgudev is just a wrapper around libudev. We can
use libudev directly and drop the dependency for
libgudev.
2017-03-22 12:41:06 +01:00
Francesco Giudici
7307dea9c4 connectivity: switch connectivity checking to libcurl
[lkundrak@v3.sk: removed libsoup altogether, implemented TODOs and fixed
the poll condition handling]

Co-authored-by: Lubomir Rintel <lkundrak@v3.sk>
2017-03-22 12:09:39 +01:00
Lubomir Rintel
c05befd5aa dns-manager: use libpsl directly
...instead of via libsoup. This makes it possible to do gTLD suffix checking
even if we're building without libsoup support.
2017-03-22 12:09:39 +01:00
Thomas Haller
e72b43e01f contrib/rpm: reorder spec file and move bcond definitions together 2017-03-06 20:23:15 +01:00
Thomas Haller
560801e237 contrib/rpm: remove unused default_with_* variables
They are unused since commit d2fd1b9fb7.
2017-03-06 20:23:14 +01:00
Thomas Haller
2b6f3ba3cf contrib/rpm: add explicit libxslt build dependency
We configurably use --enable-gtk-doc/--disable-gtk-doc, but
we always require --enable-introspection (due to --enable-vala).

Add the missing build requirement to the "xsltproc" binary, which is in
libxslt package.
2017-03-06 19:59:29 +01:00
Lubomir Rintel
d2fd1b9fb7 contrib/rpm: drop EOL versions of Fedora
These are history and noone should be using them; special casing them is
essentially line noise.
2017-03-02 15:51:46 +01:00
Lubomir Rintel
ef8c292881 contrib/rpm: install D-Bus service files to /usr if we can
This is in fact the correct location, but dbus in RHEL 7 is still too
old to be able to use that.
2017-03-02 15:51:46 +01:00
Thomas Haller
5caa9d877b contrit/rpm: create source tarball from git immidiately in SOURCES directory
Instead of first creating it as "$TEMP/NetworkManager-${VERSION}.tar.xz"
and then copy it to "$TEMP/SOURCES".
2017-02-16 11:32:53 +01:00
Thomas Haller
b04868cb52 contrit/rpm: print the used "$SOURCE" tarball in the summary output of build.sh 2017-02-16 11:04:00 +01:00
Thomas Haller
432717cf47 contrib/rpm: add explict configure options for building NetworkManager in "build_clean.sh"
When we create a source tarball, documentation and other generated files
are disted. Those files depend on the configure options when creating
the tarball. For example, the generated man pages contain the compile time
configurable default values.

For that reason, it is generally better to regenerate the documentation when
building NetworkManager. However, let's set explict configure options to
have a more reproducible way to generate the tarball.

When doing a release, you should not just call `make dist`. Instead, the
proper way of creating an official source tarball is:

  $ ./contrib/fedora/rpm/build_clean.sh --srpm
2017-02-15 23:27:39 +01:00
Thomas Haller
97cdb690f2 contrib/rpm: no longer package the Changelog with the libnm-devel/glib-devel packages 2017-02-14 17:39:46 +01:00
Lubomir Rintel
cc1491401f contrib/rpm: don't recreate files that make install installs 2017-01-29 12:28:55 +01:00
Lubomir Rintel
a1464f0cfa contrib/rpm: don't own the legacy VPN directory
The plugins should own it instead.
2017-01-29 12:28:55 +01:00
Thomas Haller
0fd3ec81fd contrib/rpm: let NetworkManager-libnm and NetworkManager-glib of differing version conflict
Since commit "c920909 contrib/rpm: put translations in
NetworkManager-libnm and NetworkManager-glib packages", both
subpackages install the same translation files without a direct
dependency between the two packages. Thus, if a user tries
to update only one of the two subpackages, it will fail
during the installation due to conflicting files.

Fix that by having the subpackages conflict (per version).
This way, the conflict is detected before starting the
installation.

https://bugzilla.redhat.com/show_bug.cgi?id=1406454
(cherry picked from commit b85b8ed6fa)
2017-01-20 17:11:55 +01:00
Thomas Haller
daf935fb1b contrib/rpm: fix code comment in default "NetworkManager.conf" 2017-01-17 14:26:30 +01:00
Thomas Haller
f5100d0681 contrib/rpm: fix obsoletes_ppp_plugin version
The ppp package split was introduced during 1.5.3 development. Thus,
we obsolete packages < 1:1.5.3.

Also, add conditionals around ppp-devel build-requirement.
2016-12-16 09:51:48 +01:00
Lubomir Rintel
8768978751 contrib/rpm: obsolete the pre-ppp-split version from the main package
To ensure smooth upgrade path. While at it, move the BR to a more usual
place.
2016-12-15 20:29:46 +01:00
Thomas Haller
0fce208a8b contrib/rpm: add note to NetworkManager.conf about rate-limiting in logging 2016-12-14 12:51:06 +01:00
Beniamino Galvani
bdc61c4e95 contrib/rpm: split PPP support into a separate package
This allows to remove from the main package the PPP dependency.
2016-12-06 11:08:11 +01:00
Lubomir Rintel
a0aea99bd7 contrib/rpm: mark the config packages noarch 2016-12-05 13:24:51 +01:00
Thomas Haller
a80ba4ea09 build: fix gtk-doc/introspection handling for build
- `make dist` requires --enable-gtk-doc --enable-introspection --with-libnm-glib
- --enable-gtk-doc requires --enable-introspection
- --with-nmcli requires either --enable-introspection or pregenerated
   settings-docs.c files from the dist tarball. It does not require
   --enable-gtk-doc.

There is a bit of a problem in that --enable-introspection requires
now xsltproc. However, gobject-introspection does itself not depend
on xsltproc. So, more correct might be a special --enable-doc argument,
that combines --enable-introspection --with-xsltproc. Anyway, that
seems to make it more complicated then it already is so just implicitly
(and surprisingly?) require xsltproc with --enable-introspection.

https://bugzilla.gnome.org/show_bug.cgi?id=775003
2016-11-28 12:43:51 +01:00
Thomas Haller
7729d85c8c contrib/rpm: let RPM package own %{systemd_dir}/network-online.target.wants
# rpm -qf /usr/lib/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
  NetworkManager-1.5.2-16352.e0c50a9703.fc24.x86_64
  # rpm -qf /usr/lib/systemd/system/network-online.target.wants
  file /usr/lib/systemd/system/network-online.target.wants is not owned by any package
2016-11-24 12:57:27 +01:00
Lubomir Rintel
88f3f29882 build: install the D-Bus introspection data
This would make it easier to develop against NetworkManager D-Bus API.
2016-11-23 15:43:42 +01:00
Lubomir Rintel
612351471c contrib/rpm: drop XML::Parser BR
We don't depend on it already.
2016-11-21 18:34:47 +01:00
Lubomir Rintel
d3f7f7abca all: drop YAML dependency 2016-11-21 18:15:42 +01:00
Thomas Haller
8804a5df1d contrib/rpm: no longer manually pre-build parts for make dist
`make dist` should have now the proper dependencies to build everything
that is needed automatically. No need for manually calling make first.
2016-11-20 18:14:37 +01:00
Thomas Haller
5f00a20f38 contrib/rpm: fix wrong configure options in spec file 2016-11-10 18:30:38 +01:00
Thomas Haller
c9209093b4 contrib/rpm: put translations in NetworkManager-libnm and NetworkManager-glib packages
One can install the libraries without NetworkManager. Thus, the
translations should be there.

Doing this increases the package size of the libraries significantly.

For a user who only has libnm without NetworkManager installed, this
is acceptable, because the whole point of the change is to ensure such
a user also gets translations.

For a user who requires libnm and libnm-glib packages, this
unfortunately increases the additional package size as the translations
are now present twice.

What would be better is if NetworkManager-libnm would only contain
translations for libnm/NetworkManager, and NetworkManager-glib only
translations for libnm-util/libnm-glib.
2016-11-08 10:21:44 +01:00
Lubomir Rintel
9d31cc916f Revert "contrib/rpm: regenerate the linker version script NetworkManager.ver while building the package"
Back this out. It breaks i686 build unnecessarily now and also is
something that proabably that should run on distcheck and not package
build.

This reverts commit cf678811b5.
2016-11-06 15:19:16 +01:00
Lubomir Rintel
9bd0ea7954 contrib/rpm: drop dhclient requirement
We fall back to the internal client for the very minimal installations.
Based on: 209b5a57fd
2016-11-03 17:56:38 +01:00
Lubomir Rintel
b8785c8c3c Revert "contrib/rpm: add NetworkManager-config-dhcp-dhclient package"
This probably needs more discussion, maybe there's a better solution
than a separate RPM package for a single line of configuration.

Related: https://pagure.io/fedora-comps/pull-request/62

This reverts commit 209b5a57fd.
2016-11-03 17:56:13 +01:00
Lubomir Rintel
dcc13cfcd8 contrib/rpm: drop udev dependency
We happily run in containers without udev.
2016-11-03 16:01:23 +01:00
Lubomir Rintel
ef0a68b942 contrib/rpm: drop iptables and dnsmasq dependencies
We just fail ipv4.method=shared without it, no need to drag it in for
configurations that don't share IPv4.
2016-11-03 16:01:23 +01:00
Lubomir Rintel
64770ee518 contrib/rpm: drop explicit readline dependency
RPM auto-generates a SONAME dependency.
2016-11-03 16:01:23 +01:00
Lubomir Rintel
5f4be85742 contrib/rpm: drop iproute dependency
We don't actually ever need it.
2016-11-03 16:01:23 +01:00
Thomas Haller
0fa2cf19e5 vapi: add vapi NM-1.0 for libnm
Initial vala API for libnm. Consider it unstable, it probably needs
improvements.

https://bugzilla.gnome.org/show_bug.cgi?id=773588
2016-11-03 10:15:42 +01:00
Thomas Haller
1c1da147c9 contrib/rpm: update comments in NetworkManager.conf explaining /var/lib/NetworkManager/conf.d 2016-10-27 11:50:24 +02:00
Thomas Haller
209b5a57fd contrib/rpm: add NetworkManager-config-dhcp-dhclient package
This allows to get rid of the dhclient requirement of NetworkManager
package and moves the package dependency to the new sub package
NetworkManager-config-dhcp-dhclient.

For the moment, I think dhclient should still be the default choice for
regular users due to dhclient providing better better previledge separation
of network facing code. A user who knows that he's doing, can now however
remove dhclient while keeping NetworkManager.

https://bugzilla.redhat.com/show_bug.cgi?id=1204226
2016-10-27 11:46:15 +02:00
Thomas Haller
491aad08a9 contrib/rpm: run make check in parallel (again)
Revert commit f551c91d33 and restore
parallel `make check`. It should work.
2016-10-19 15:26:30 +02:00
Thomas Haller
f551c91d33 Revert "contrib/rpm: run make check in parallel"
`make check -C libnm/tests` is not yet ready to run in
parallel. Revert.

This reverts commit 0a1508358d.
2016-10-14 15:48:27 +02:00
Thomas Haller
5ea3196376 contrib/rpm: rename obsoletes_nmver to obsoletes_version_device_plugins
We will have multiple obsoletes
2016-10-14 11:26:13 +02:00
Thomas Haller
c4325f6494 contrib/rpm: force compilation with "--enable-ld-gc"
It should already be autodetected. Just be explicit about it.
2016-10-14 10:33:30 +02:00
Thomas Haller
0a1508358d contrib/rpm: run make check in parallel 2016-10-14 10:33:30 +02:00
Thomas Haller
cf678811b5 contrib/rpm: regenerate the linker version script NetworkManager.ver while building the package 2016-10-14 10:33:30 +02:00
Thomas Haller
54f701b95c contrib/rpm: fix build_clean.sh --quick after removing shared/Makefile.am
Fixes: 24f566afa0
2016-10-14 10:02:46 +02:00
Lubomir Rintel
790e23df67 build: fix required packages list 2016-10-10 18:51:23 +02:00
Lubomir Rintel
e59ed6451f contrib/rpm: require at least the version of glib we built against
glib neither versions its symbols nor bumps SONAME on API changes, so rpm can't
figure out the correct dependencies itself.

https://bugzilla.redhat.com/show_bug.cgi?id=1378809
2016-09-23 12:20:23 +02:00