143 Commits

Author SHA1 Message Date
Andrew G. Morgan
a47d86dfb9 Up the release version to 2.65
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2022-07-17 15:33:06 -07:00
Andrew G. Morgan
38cfa2e958 Up the release version to 2.64
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2022-04-10 15:39:39 -07:00
Andrew G. Morgan
1d88048c31 Up the release version to 2.63
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2022-01-23 16:36:22 -08:00
Andrew G. Morgan
e1bd9ac089 Trim includes.
I've upgraded one of my systems to Fedora 35 and I found trimming
the headers in this way made the three compilations of libcap, used
by `make distcheck`, work with standard Fedora 35 compiler packages.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2022-01-23 16:36:06 -08:00
Andrew G. Morgan
cc91f55960 Up the release version to 2.62
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-12-11 18:06:34 -08:00
Andrew G. Morgan
1fe7dbe984 Drop perl from the build requirements.
David Seifert at Gentoo made a request to not require perl for
the libcap build since their distribution wants to build it prior
to building perl and so requiring it requires they maintain some
extra patches.

We previously introduced the need for perl in response to some
apparent incompatibilities between various versions of sed:

https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=9494a1fab59ac0b6e4f0bfc536fa482c6d6490b6

However, it has been 13 years since that time so we're optimistic
those problems are no longer present for anyone and we've also
added a make variable abstraction in case some builder wants to
override their system default 'sed' as make BUILD_SED=... etc.

We've also done something similar with make uses of grep, egrep
and fgrep.

Finally, for make variable naming consistency, we've replaced use
of BUILD_GPERF with USE_GPERF. Since folk may be using BUILD_GPERF
in their package building scripts, we error out if it is set.
The expectation is that people will update their package defs.
(Eventually, we plan to reuse BUILD_GPERF as an alias for 'gperf'.)

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-12-04 10:18:50 -08:00
Andrew G. Morgan
d63835d491 Up the release version to 2.61
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-11-20 22:20:04 -08:00
Andrew G. Morgan
5306fa23ff Up the release version to 2.60
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-10-22 21:29:14 -07:00
Andrew G. Morgan
d07df10aaa Fix miscellaneous build and lint warnings.
Addresses the issues listed here:

   https://bugzilla.kernel.org/show_bug.cgi?id=214579

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-29 21:42:33 -07:00
Andrew G. Morgan
9eb56596ee Up the release version to 2.59
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-26 18:20:33 -07:00
Andrew G. Morgan
01627eae86 Up the release version to 2.58
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-17 19:35:42 -07:00
Andrew G. Morgan
1dd3fb4312 Add in something the builder can override to augment the GO builds
I've been looking at reasons packagers are not building the Go binaries
and found this with respect to RPMs:

  https://github.com/rpm-software-management/rpm/issues/367

There has been no easy way to inject the otherwise unneeded workaround:
-ldflags=-linkmode=external for building (which, strangely, generates
some sort of warning and gratuitously links glibc to an otherwise
static build), but seems to work.

Until RPM supports Go's native '.note.go.buildid', and RPM requires
'.note.gnu.build-id' on binaries, I guess this can work around it:

   GO_BUILD_FLAGS='-ldflags=-linkmode=external'

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-11 16:13:56 -07:00
Andrew G. Morgan
3906730197 Up the release version to 2.57
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-09 13:57:36 -07:00
David Seifert
3249c26964 Build system fixes
Summary:
- Always keep $(WARNINGS) when overriding CFLAGS

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-04 11:50:33 -07:00
Andrew G. Morgan
0f286b584e Up the release version to 2.56
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-09-02 20:03:32 -07:00
Andrew G. Morgan
264b784089 Resurrect the $(WARNINGS) for the target build
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-31 06:57:54 -07:00
Andrew G. Morgan
f5ae31ebd3 Be more consistent with make variables.
Noticed that we weren't applying the same amount of flag discipline
to local BUILD_* tool rules. Fixing that, I see we've been carrying
a source code issue in libcap/_makenames.c for a while. (FIXED).

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-30 20:02:22 -07:00
Andrew G. Morgan
2bfe36c999 Up the release version to 2.55
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-29 18:54:03 -07:00
Andrew G. Morgan
de1130dbfe Speculative fix for build failure.
Not sure exactly what is causing the build server to fail (can't
reproduce yet), but add some extra padding to a calloc and also
some test debugging printf()s.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-27 13:55:11 -07:00
Andrew G. Morgan
07cdff9ac9 Up the release version to 2.54
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-25 21:09:19 -07:00
Andrew G. Morgan
a0aaea6e27 Add a comment about overriding DYNAMIC.
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-25 19:50:46 -07:00
Andrew G. Morgan
935ab8f7cd Support overriding choice of 'sudo'.
Use something like:

  make SUDO=my_sudo sudotest

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-25 19:48:12 -07:00
Andrew G. Morgan
7a75dbc2bb Absorb some of archlinux's Make.Rule customizations.
These allow overriding of the sbin target directory with

  make sbindir=xxx

or

  make sbin=xxx

We've recently made some CPPFLAGS changes, so I'm not going to
disturb those further this iteration.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-25 19:11:22 -07:00
Andrew G. Morgan
2e28d3f3e8 Allow the builder to force -lpam linkage.
I've yet to understand why this is needed. But, apparently, folk
feel strongly that there is a reason one might want to force it
one way or another. If you don't care one way or the other, let
the Makefiles figure out something that works.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-23 19:17:42 -07:00
Andrew G. Morgan
d21a561ddb Drop non-standard IPATH in favor of CPPFLAGS.
This also required locally augmenting CFLAGS with -fPIC in the
Makefile's that required it.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-19 20:49:39 -07:00
Andrew G. Morgan
797050ca7f Up the release version to 2.53
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-15 19:06:35 -07:00
Samanta Navarro
e721aff543 Fix typos.
Typos found with codespell

Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-14 11:03:27 -07:00
Andrew G. Morgan
6dea1813f2 Support CC=clang again.
I didn't realize CC=clang used to work. Now it does again.
I've also added a test build for clang in distcheck.

This fixes:

  https://bugzilla.kernel.org/show_bug.cgi?id=214047

Also, add a note about pam_cap.so building after debugging:

  https://bugzilla.kernel.org/show_bug.cgi?id=214023

Finally, removed a redundant LDFLAGS link directory override.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-11 19:59:24 -07:00
Andrew G. Morgan
8070dfec39 Up the release version to 2.52
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-08-01 17:49:56 -07:00
Andrew G. Morgan
ee3b25c0a8 Support simply executing the built shared libraries.
Some system libraries support being run as regular executables.
Now that I have figured out how to do it, add support for libcap.so
and libpsx.so to print some information and exit.

Note, I've explained how most of this stuff works in this answer:

  https://stackoverflow.com/a/68339111/14760867

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-07-12 21:23:32 -07:00
Andrew G. Morgan
3857d17677 Up the release version to 2.51
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-06-20 16:57:57 -07:00
Andrew G. Morgan
1b59ff9848 Do away with GOPATH based GO building.
From here on out, we use go ... -mod=vendor to build/test/run in
tree. This blog post suggets that GOPATH building is on the way
out:

   https://blog.golang.org/go116-module-changes

This addresses this feature request:

   https://bugzilla.kernel.org/show_bug.cgi?id=212453

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-06-20 15:40:15 -07:00
Andrew G. Morgan
4408d8ae5b Up the release version to 2.50
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-05-24 12:05:16 -07:00
Andrew G. Morgan
c8a101dc9d Up the release version to 2.49
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-03-13 16:26:47 -08:00
Andrew G. Morgan
75a5a9e4dd Upgrade cap and psx Go modules to version 1.2.48
Go has its own notion of major version, and this commit raises
it from 0 to 1. That is, these modules should now be considered
stable.

The sources for the 1.2.48 and the 0.2.48 modules are otherwise
identical.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-02-04 22:19:16 -08:00
Andrew G. Morgan
cfd4c3b031 Up the release version to 2.48
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-02-04 21:52:17 -08:00
Andrew G. Morgan
068edb7265 Make more uniform GO build options.
Avoid building any of the GO stuff:

   make GOLANG=no ...

Build with a specific build of GO:

   make GO=~/sdk/go1.16rc1/bin/go ...

Also, now https://github.com/golang/go/issues/43149 is resolved in the
go1.16rc1 build (it does not work in the go1.16beta1 but we don't support
that one any more), remove the forced CGO use for the go/psx-signals build.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-02-04 21:31:39 -08:00
Andrew G. Morgan
28f5bc7141 Up the release version to 2.47
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2021-01-23 18:10:49 -08:00
Andrew G. Morgan
3633ca2286 No longer need the Go build tag allthreadssyscall.
Go 1.16 release branch contains the syscall.AllThreadsSyscall now,
so use the Go release tag to identify a build environment that supports
this feature.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-12-22 20:58:05 -08:00
Andrew G. Morgan
99fcb7c3b8 Up the release version to 2.46
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-12-12 15:58:11 -08:00
Andrew G. Morgan
cf8fb28e42 Up the release version to 2.45
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-11-02 17:49:24 -08:00
Andrew G. Morgan
f025e2fb7a Some distributions can't support shared libraries
Heiko Thiery reports that some embedded distributions that link
against uLibc can't support shared libraries. So, refactor the
Makefiles to support

  make SHARED=no ...

(SHARED defaults to yes).

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-11-01 15:00:02 -08:00
Andrew G. Morgan
24375fb114 Support systems with no available pthreads support.
This change addresses:

  https://bugzilla.kernel.org/show_bug.cgi?id=209875

Howto:

  make PTHREADS=no ...

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-10-27 20:20:47 -07:00
Andrew G. Morgan
6b1d98b7d6 Support shared library build and linkage of -lpsx
For now, the dynamic linkage of libpsx.so* is considered alpha.
The build tree supports it and can successfully run tests but
I'm hopeful I can get some feedback from third parties that it
works as expected.

Feature request:
  https://bugzilla.kernel.org/show_bug.cgi?id=206093

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-10-13 21:35:55 -07:00
Andrew G. Morgan
2fa105aacc Up the release version to 2.44
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-10-04 18:45:24 -07:00
Rolf Eike Beer
de3dbde6dc unbreak CROSS_COMPILE
This was changed from ":=" to "?=" in Make.rules, which means "set new value if
previously unset". Make however already sets default values for the compile
tools, so doing "make CROSS_COMPILE=prefix-" did not override any of them
anymore.

Fixes: 22f2e207f7824d231aab4de973e547f006e3ea3c
Signed-off-by: Rolf Eike Beer <eb@emlix.com>
Acked-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-10-04 12:39:29 -07:00
Rolf Eike Beer
bbe2115ea2 add COPTS and BUILD_COPTS to specify optimization flags without touching CFLAGS
Overriding CFLAGS and BUILD_CFLAGS from outside the build isn't really fun as
one then has to provide what comes in DEFINES and IPATH also. Add another flag
to set only the optimization flags and then combine it as before.

Signed-off-by: Rolf Eike Beer <eb@emlix.com>
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-10-03 15:22:15 -07:00
Andrew G. Morgan
307e7f5744 Support dynamic test compilation and execution.
make DYNAMIC=yes test sudotest

works now. Thomas Petazzoni provided a patch that built
the tests this way, but I've restructured things to
make the above command line work against the uninstalled
library builds.

Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-09-07 12:53:04 -07:00
Andrew G. Morgan
dbeb06ba29 Up the release version to 2.43
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-08-15 11:17:55 -07:00
Andrew G. Morgan
312f77fc50 Up the release version to 2.42
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-08-01 18:41:45 -07:00