mirror of
https://github.com/SELinuxProject/refpolicy
synced 2025-04-17 20:55:30 +00:00
Implement WERROR build option to treat warnings as errors.
Add this to all Travis-CI builds.
This commit is contained in:
parent
cb35cd587f
commit
dd03d589e2
36
.travis.yml
36
.travis.yml
@ -6,24 +6,24 @@ matrix:
|
|||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- TYPE=standard DISTRO=redhat MONOLITHIC=y SYSTEMD=y
|
- TYPE=standard DISTRO=redhat MONOLITHIC=y SYSTEMD=y WERROR=y
|
||||||
- TYPE=standard DISTRO=redhat MONOLITHIC=n SYSTEMD=y
|
- TYPE=standard DISTRO=redhat MONOLITHIC=n SYSTEMD=y WERROR=y
|
||||||
- TYPE=standard DISTRO=debian MONOLITHIC=y SYSTEMD=y
|
- TYPE=standard DISTRO=debian MONOLITHIC=y SYSTEMD=y WERROR=y
|
||||||
- TYPE=standard DISTRO=debian MONOLITHIC=n SYSTEMD=y
|
- TYPE=standard DISTRO=debian MONOLITHIC=n SYSTEMD=y WERROR=y
|
||||||
- TYPE=standard DISTRO=gentoo MONOLITHIC=y SYSTEMD=n
|
- TYPE=standard DISTRO=gentoo MONOLITHIC=y SYSTEMD=n WERROR=y
|
||||||
- TYPE=standard DISTRO=gentoo MONOLITHIC=n SYSTEMD=n
|
- TYPE=standard DISTRO=gentoo MONOLITHIC=n SYSTEMD=n WERROR=y
|
||||||
- TYPE=mcs DISTRO=redhat MONOLITHIC=y SYSTEMD=y
|
- TYPE=mcs DISTRO=redhat MONOLITHIC=y SYSTEMD=y WERROR=y
|
||||||
- TYPE=mcs DISTRO=redhat MONOLITHIC=n SYSTEMD=y
|
- TYPE=mcs DISTRO=redhat MONOLITHIC=n SYSTEMD=y WERROR=y
|
||||||
- TYPE=mcs DISTRO=debian MONOLITHIC=y SYSTEMD=y
|
- TYPE=mcs DISTRO=debian MONOLITHIC=y SYSTEMD=y WERROR=y
|
||||||
- TYPE=mcs DISTRO=debian MONOLITHIC=n SYSTEMD=y
|
- TYPE=mcs DISTRO=debian MONOLITHIC=n SYSTEMD=y WERROR=y
|
||||||
- TYPE=mcs DISTRO=gentoo MONOLITHIC=y SYSTEMD=n
|
- TYPE=mcs DISTRO=gentoo MONOLITHIC=y SYSTEMD=n WERROR=y
|
||||||
- TYPE=mcs DISTRO=gentoo MONOLITHIC=n SYSTEMD=n
|
- TYPE=mcs DISTRO=gentoo MONOLITHIC=n SYSTEMD=n WERROR=y
|
||||||
- TYPE=mls DISTRO=redhat MONOLITHIC=y SYSTEMD=y
|
- TYPE=mls DISTRO=redhat MONOLITHIC=y SYSTEMD=y WERROR=y
|
||||||
- TYPE=mls DISTRO=redhat MONOLITHIC=n SYSTEMD=y
|
- TYPE=mls DISTRO=redhat MONOLITHIC=n SYSTEMD=y WERROR=y
|
||||||
- TYPE=mls DISTRO=debian MONOLITHIC=y SYSTEMD=y
|
- TYPE=mls DISTRO=debian MONOLITHIC=y SYSTEMD=y WERROR=y
|
||||||
- TYPE=mls DISTRO=debian MONOLITHIC=n SYSTEMD=y
|
- TYPE=mls DISTRO=debian MONOLITHIC=n SYSTEMD=y WERROR=y
|
||||||
- TYPE=mls DISTRO=gentoo MONOLITHIC=y SYSTEMD=n
|
- TYPE=mls DISTRO=gentoo MONOLITHIC=y SYSTEMD=n WERROR=y
|
||||||
- TYPE=mls DISTRO=gentoo MONOLITHIC=n SYSTEMD=n
|
- TYPE=mls DISTRO=gentoo MONOLITHIC=n SYSTEMD=n WERROR=y
|
||||||
|
|
||||||
# Uncomment to use Travis-CI container infrastructure (https://docs.travis-ci.com/user/ci-environment/)
|
# Uncomment to use Travis-CI container infrastructure (https://docs.travis-ci.com/user/ci-environment/)
|
||||||
sudo: false
|
sudo: false
|
||||||
|
5
Makefile
5
Makefile
@ -106,6 +106,7 @@ gennetfilter := $(PYTHON) -E $(support)/gennetfilter.py
|
|||||||
m4iferror := $(support)/iferror.m4
|
m4iferror := $(support)/iferror.m4
|
||||||
m4divert := $(support)/divert.m4
|
m4divert := $(support)/divert.m4
|
||||||
m4undivert := $(support)/undivert.m4
|
m4undivert := $(support)/undivert.m4
|
||||||
|
m4terminate := $(support)/fatal_error.m4
|
||||||
# use our own genhomedircon to make sure we have a known usable one,
|
# use our own genhomedircon to make sure we have a known usable one,
|
||||||
# so policycoreutils updates are not required (RHEL4)
|
# so policycoreutils updates are not required (RHEL4)
|
||||||
genhomedircon := $(PYTHON) -E $(support)/genhomedircon
|
genhomedircon := $(PYTHON) -E $(support)/genhomedircon
|
||||||
@ -212,6 +213,10 @@ ifeq ($(DIRECT_INITRC),y)
|
|||||||
M4PARAM += -D direct_sysadm_daemon
|
M4PARAM += -D direct_sysadm_daemon
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq "$(WERROR)" "y"
|
||||||
|
M4PARAM += -D m4_werror
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq "$(UBAC)" "y"
|
ifeq "$(UBAC)" "y"
|
||||||
M4PARAM += -D enable_ubac
|
M4PARAM += -D enable_ubac
|
||||||
endif
|
endif
|
||||||
|
4
README
4
README
@ -138,6 +138,10 @@ QUIET Boolean. If set, the build system will only display
|
|||||||
status messages and error messages. This option has no
|
status messages and error messages. This option has no
|
||||||
effect on policy.
|
effect on policy.
|
||||||
|
|
||||||
|
WERROR Boolean. If set, the build system will treat warnings
|
||||||
|
as errors. If any warnings are encountered, the build
|
||||||
|
will fail.
|
||||||
|
|
||||||
|
|
||||||
3) Reference Policy Files and Directories
|
3) Reference Policy Files and Directories
|
||||||
All directories relative to the root of the Reference Policy sources directory.
|
All directories relative to the root of the Reference Policy sources directory.
|
||||||
|
@ -70,7 +70,7 @@ $(modpkgdir)/%.pp: $(builddir)%.pp
|
|||||||
#
|
#
|
||||||
# Build module packages
|
# Build module packages
|
||||||
#
|
#
|
||||||
$(tmpdir)/%.mod: $(m4support) $(tmpdir)/generated_definitions.conf $(tmpdir)/all_interfaces.conf %.te
|
$(tmpdir)/%.mod: $(m4support) $(tmpdir)/generated_definitions.conf $(tmpdir)/all_interfaces.conf %.te $(m4terminate)
|
||||||
@echo "Compiling $(NAME) $(@F) module"
|
@echo "Compiling $(NAME) $(@F) module"
|
||||||
@test -d $(tmpdir) || mkdir -p $(tmpdir)
|
@test -d $(tmpdir) || mkdir -p $(tmpdir)
|
||||||
$(verbose) $(M4) $(M4PARAM) -s $^ > $(@:.mod=.tmp)
|
$(verbose) $(M4) $(M4PARAM) -s $^ > $(@:.mod=.tmp)
|
||||||
@ -140,7 +140,7 @@ $(tmpdir)/all_interfaces.conf: $(m4support) $(all_interfaces) $(m4iferror)
|
|||||||
@echo "divert" >> $@
|
@echo "divert" >> $@
|
||||||
|
|
||||||
$(tmpdir)/all_te_files.conf: M4PARAM += -D self_contained_policy
|
$(tmpdir)/all_te_files.conf: M4PARAM += -D self_contained_policy
|
||||||
$(tmpdir)/all_te_files.conf: $(m4support) $(tmpdir)/generated_definitions.conf $(tmpdir)/all_interfaces.conf $(base_te_files)
|
$(tmpdir)/all_te_files.conf: $(m4support) $(tmpdir)/generated_definitions.conf $(tmpdir)/all_interfaces.conf $(base_te_files) $(m4terminate)
|
||||||
ifeq "$(strip $(base_te_files))" ""
|
ifeq "$(strip $(base_te_files))" ""
|
||||||
$(error No enabled modules! $(notdir $(mod_conf)) may need to be generated by using "make conf")
|
$(error No enabled modules! $(notdir $(mod_conf)) may need to be generated by using "make conf")
|
||||||
endif
|
endif
|
||||||
|
@ -125,7 +125,7 @@ $(tmpdir)/all_interfaces.conf: $(m4support) $(all_interfaces) $(m4iferror)
|
|||||||
$(verbose) $(SED) -e s/dollarsstar/\$$\*/g $(tmpdir)/$(@F).tmp >> $@
|
$(verbose) $(SED) -e s/dollarsstar/\$$\*/g $(tmpdir)/$(@F).tmp >> $@
|
||||||
@echo "divert" >> $@
|
@echo "divert" >> $@
|
||||||
|
|
||||||
$(tmpdir)/all_te_files.conf: $(m4support) $(tmpdir)/generated_definitions.conf $(tmpdir)/all_interfaces.conf $(all_te_files)
|
$(tmpdir)/all_te_files.conf: $(m4support) $(tmpdir)/generated_definitions.conf $(tmpdir)/all_interfaces.conf $(all_te_files) $(m4terminate)
|
||||||
ifeq "$(strip $(all_te_files))" ""
|
ifeq "$(strip $(all_te_files))" ""
|
||||||
$(error No enabled modules! $(notdir $(mod_conf)) may need to be generated by using "make conf")
|
$(error No enabled modules! $(notdir $(mod_conf)) may need to be generated by using "make conf")
|
||||||
endif
|
endif
|
||||||
|
@ -79,3 +79,6 @@ MCS_CATS = 1024
|
|||||||
# Set this to y to only display status messages
|
# Set this to y to only display status messages
|
||||||
# during build.
|
# during build.
|
||||||
QUIET = n
|
QUIET = n
|
||||||
|
|
||||||
|
# Set this to treat warnings as errors.
|
||||||
|
WERROR = n
|
||||||
|
@ -34,16 +34,15 @@ define(`__endline__',`
|
|||||||
#
|
#
|
||||||
# print a warning message
|
# print a warning message
|
||||||
#
|
#
|
||||||
define(`refpolicywarn',`errprint(__file__:__line__: Warning: `$1'__endline__)')
|
define(`refpolicywarn',`errprint(__file__:__line__: Warning: `$1'__endline__) ifdef(`m4_werror',`define(`m4_fatal_error')')')
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
#
|
#
|
||||||
# refpolerr(message)
|
# refpolerr(message)
|
||||||
#
|
#
|
||||||
# print an error message. does not
|
# print an error message.
|
||||||
# make anything fail.
|
|
||||||
#
|
#
|
||||||
define(`refpolicyerr',`errprint(__file__:__line__: Error: `$1'__endline__)')
|
define(`refpolicyerr',`errprint(__file__:__line__: Error: `$1'__endline__) define(`m4_fatal_error')')
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
#
|
#
|
||||||
|
2
support/fatal_error.m4
Normal file
2
support/fatal_error.m4
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
ifdef(`m4_werror',`errprint(__file__: Notice: Treating warnings as errors.__endline__)')
|
||||||
|
ifdef(`m4_fatal_error',`m4exit(`1')')
|
Loading…
Reference in New Issue
Block a user