Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
     5         kx CPPFLAGS	+= -I.
     5         kx CFLAGS		+= -g -Wall -Werror
     5         kx CXXFLAGS	+= -g -Wall -Werror
     5         kx INSTALL		:= install
     5         kx DESTDIR		:=
     5         kx SPECFILE	:= keyutils.spec
     5         kx NO_GLIBC_KEYERR	:= 0
     5         kx NO_ARLIB	:= 0
     5         kx NO_SOLIB	:= 0
     5         kx ETCDIR		:= /etc
     5         kx BINDIR		:= /bin
     5         kx SBINDIR		:= /sbin
     5         kx SHAREDIR	:= /usr/share/keyutils
     5         kx MANDIR		:= /usr/share/man
     5         kx MAN1		:= $(MANDIR)/man1
     5         kx MAN3		:= $(MANDIR)/man3
     5         kx MAN5		:= $(MANDIR)/man5
     5         kx MAN7		:= $(MANDIR)/man7
     5         kx MAN8		:= $(MANDIR)/man8
     5         kx INCLUDEDIR	:= /usr/include
     5         kx LN		:= ln
     5         kx LNS		:= $(LN) -sf
     5         kx PREFIX 		:= /usr
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Determine the current package version from the specfile
     5         kx #
     5         kx ###############################################################################
     5         kx vermajor	:= $(shell grep "%define vermajor" $(SPECFILE))
     5         kx verminor	:= $(shell grep "%define verminor" $(SPECFILE))
     5         kx MAJOR		:= $(word 3,$(vermajor))
     5         kx MINOR		:= $(word 3,$(verminor))
     5         kx VERSION		:= $(MAJOR).$(MINOR)
     5         kx 
     5         kx TARBALL		:= keyutils-$(VERSION).tar
     5         kx ZTARBALL	:= $(TARBALL).bz2
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Determine the current library version from the version script
     5         kx #
     5         kx ###############################################################################
     5         kx libversion	:= $(filter KEYUTILS_%,$(shell grep ^KEYUTILS_ version.lds))
     5         kx libversion	:= $(lastword $(libversion))
     5         kx libversion	:= $(lastword $(libversion))
     5         kx APIVERSION	:= $(subst KEYUTILS_,,$(libversion))
     5         kx vernumbers	:= $(subst ., ,$(APIVERSION))
     5         kx APIMAJOR	:= $(firstword $(vernumbers))
     5         kx 
     5         kx ARLIB		:= libkeyutils.a
     5         kx DEVELLIB	:= libkeyutils.so
     5         kx SONAME		:= libkeyutils.so.$(APIMAJOR)
     5         kx LIBNAME		:= libkeyutils.so.$(APIVERSION)
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Guess at the appropriate lib directory and word size
     5         kx #
     5         kx ###############################################################################
     5         kx ifeq ($(origin LIBDIR),undefined)
     5         kx LIBDIR		:= $(shell ldd /usr/bin/make | grep '\(/libc[.]\)' | sed -e 's!.*\(/.*\)/libc[.].*!\1!')
     5         kx endif
     5         kx ifeq ($(origin USRLIBDIR),undefined)
     5         kx USRLIBDIR	:= $(patsubst /lib/%,/usr/lib/%,$(LIBDIR))
     5         kx endif
     5         kx BUILDFOR	:= $(shell file /usr/bin/make | sed -e 's!.*ELF \(32\|64\)-bit.*!\1!')-bit
     5         kx 
     5         kx ifeq ($(origin CFLAGS),undefined)
     5         kx ifeq ($(BUILDFOR),32-bit)
     5         kx CFLAGS		+= -m32
     5         kx LIBDIR		:= /lib
     5         kx USRLIBDIR	:= /usr/lib
     5         kx else
     5         kx ifeq ($(BUILDFOR),64-bit)
     5         kx CFLAGS		+= -m64
     5         kx LIBDIR		:= /lib64
     5         kx USRLIBDIR	:= /usr/lib64
     5         kx endif
     5         kx endif
     5         kx endif
     5         kx 
     5         kx PKGCONFIG 	:= libkeyutils.pc
     5         kx PKGCONFIG_DIR 	:= pkgconfig
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # This is necessary if glibc doesn't know about the key management error codes
     5         kx #
     5         kx ###############################################################################
     5         kx ifeq ($(NO_GLIBC_KEYERR),1)
     5         kx CFLAGS	+= -DNO_GLIBC_KEYERR
     5         kx LIBLIBS	:= -ldl -lc
     5         kx else
     5         kx LIBLIBS	:=
     5         kx endif
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Normal build rule
     5         kx #
     5         kx ###############################################################################
     5         kx all: keyctl request-key key.dns_resolver cxx
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Build the libraries
     5         kx #
     5         kx ###############################################################################
     5         kx #RPATH = -Wl,-rpath,$(LIBDIR)
     5         kx 
     5         kx VCPPFLAGS	:= -DPKGBUILD="\"$(shell date -u +%F)\""
     5         kx VCPPFLAGS	+= -DPKGVERSION="\"keyutils-$(VERSION)\""
     5         kx VCPPFLAGS	+= -DAPIVERSION="\"libkeyutils-$(APIVERSION)\""
     5         kx 
     5         kx ifeq ($(NO_ARLIB),0)
     5         kx all: $(ARLIB)
     5         kx $(ARLIB): keyutils.o
     5         kx 	$(AR) rcs $@ $<
     5         kx 
     5         kx keyutils.o: keyutils.c keyutils.h Makefile
     5         kx 	$(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $<
     5         kx LIB_DEPENDENCY	:= libkeyutils.a
     5         kx endif
     5         kx 
     5         kx 
     5         kx ifeq ($(NO_SOLIB),0)
     5         kx all: $(DEVELLIB)
     5         kx $(DEVELLIB): $(SONAME)
     5         kx 	$(LNS) $< $@
     5         kx 
     5         kx $(SONAME): $(LIBNAME)
     5         kx 	$(LNS) $< $@
     5         kx 
     5         kx LIBVERS := -shared -Wl,-soname,$(SONAME) -Wl,--version-script,version.lds
     5         kx 
     5         kx $(LIBNAME): keyutils.os version.lds Makefile
     5         kx 	$(CC) $(CFLAGS) -fPIC $(LDFLAGS) $(LIBVERS) -o $@ keyutils.os $(LIBLIBS)
     5         kx 
     5         kx keyutils.os: keyutils.c keyutils.h Makefile
     5         kx 	$(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $<
     5         kx LIB_DEPENDENCY	:= $(DEVELLIB)
     5         kx endif
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Build the programs
     5         kx #
     5         kx ###############################################################################
     5         kx %.o: %.c keyutils.h Makefile
     5         kx 	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
     5         kx 
     5         kx keyctl: keyctl.o keyctl_testing.o keyctl_watch.o $(LIB_DEPENDENCY)
     5         kx 	$(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ \
     5         kx 		keyctl.o keyctl_testing.o keyctl_watch.o -lkeyutils
     5         kx keyctl.o keyctl_testing.o keyctl_watch.o: keyctl.h
     5         kx keyctl_watch.o: watch_queue.h
     5         kx 
     5         kx request-key: request-key.o $(LIB_DEPENDENCY)
     5         kx 	$(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils
     5         kx 
     5         kx key.dns_resolver: key.dns_resolver.o dns.afsdb.o $(LIB_DEPENDENCY)
     5         kx 	$(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ \
     5         kx 		key.dns_resolver.o dns.afsdb.o -lkeyutils -lresolv
     5         kx 
     5         kx key.dns_resolver.o: key.dns_resolver.c key.dns.h
     5         kx dns.afsdb.o: dns.afsdb.c key.dns.h
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Check that the header file has valid C++ syntax
     5         kx #
     5         kx ###############################################################################
     5         kx cxx.stamp: keyutils.h Makefile
     5         kx 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -x c++-header -fsyntax-only $<
     5         kx 	touch $@
     5         kx 
     5         kx cxx: cxx.stamp
     5         kx .PHONY: cxx
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Install everything
     5         kx #
     5         kx ###############################################################################
     5         kx pkgconfig:
     5         kx 	sed \
     5         kx 	-e 's,@VERSION\@,$(VERSION),g' \
     5         kx 	-e 's,@prefix\@,$(PREFIX),g' \
     5         kx 	-e 's,@exec_prefix\@,$(PREFIX),g' \
     5         kx 	-e 's,@libdir\@,$(USRLIBDIR),g' \
     5         kx 	-e 's,@includedir\@,$(INCLUDEDIR),g' \
     5         kx 	< $(PKGCONFIG).in > $(PKGCONFIG) || rm $(PKGCONFIG)
     5         kx 
     5         kx install: all
     5         kx ifeq ($(NO_ARLIB),0)
     5         kx 	$(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB)
     5         kx endif
     5         kx ifeq ($(NO_SOLIB),0)
     5         kx 	$(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
     5         kx 	$(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
     5         kx 	mkdir -p $(DESTDIR)$(USRLIBDIR)
     5         kx 	$(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
     5         kx 	sed \
     5         kx 	-e 's,@VERSION\@,$(VERSION),g' \
     5         kx 	-e 's,@prefix\@,$(PREFIX),g' \
     5         kx 	-e 's,@exec_prefix\@,$(PREFIX),g' \
     5         kx 	-e 's,@libdir\@,$(USRLIBDIR),g' \
     5         kx 	-e 's,@includedir\@,$(INCLUDEDIR),g' \
     5         kx 	< $(PKGCONFIG).in > $(PKGCONFIG) || rm $(PKGCONFIG)
     5         kx 	$(INSTALL) -D $(PKGCONFIG) $(DESTDIR)$(LIBDIR)/$(PKGCONFIG_DIR)/$(PKGCONFIG)
     5         kx 	rm $(PKGCONFIG)
     5         kx endif
     5         kx 	$(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl
     5         kx 	$(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key
     5         kx 	$(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh
     5         kx 	$(INSTALL) -D key.dns_resolver $(DESTDIR)$(SBINDIR)/key.dns_resolver
     5         kx 	$(INSTALL) -D -m 0644 request-key.conf $(DESTDIR)$(ETCDIR)/request-key.conf
     5         kx 	mkdir -p $(DESTDIR)$(ETCDIR)/request-key.d
     5         kx 	mkdir -p $(DESTDIR)$(ETCDIR)/keyutils
     5         kx 	mkdir -p $(DESTDIR)$(MAN1)
     5         kx 	$(INSTALL) -m 0644 $(wildcard man/*.1) $(DESTDIR)$(MAN1)
     5         kx 	mkdir -p $(DESTDIR)$(MAN3)
     5         kx 	$(INSTALL) -m 0644 $(wildcard man/*.3) $(DESTDIR)$(MAN3)
     5         kx 	mkdir -p $(DESTDIR)$(MAN5)
     5         kx 	$(INSTALL) -m 0644 $(wildcard man/*.5) $(DESTDIR)$(MAN5)
     5         kx 	mkdir -p $(DESTDIR)$(MAN7)
     5         kx 	$(INSTALL) -m 0644 $(wildcard man/*.7) $(DESTDIR)$(MAN7)
     5         kx 	mkdir -p $(DESTDIR)$(MAN8)
     5         kx 	$(INSTALL) -m 0644 $(wildcard man/*.8) $(DESTDIR)$(MAN8)
     5         kx 	$(LNS) keyctl_describe.3 $(DESTDIR)$(MAN3)/keyctl_describe_alloc.3
     5         kx 	$(LNS) keyctl_get_security.3 $(DESTDIR)$(MAN3)/keyctl_get_security_alloc.3
     5         kx 	$(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_instantiate_iov.3
     5         kx 	$(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_reject.3
     5         kx 	$(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_negate.3
     5         kx 	$(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_assume_authority.3
     5         kx 	$(LNS) keyctl_link.3 $(DESTDIR)$(MAN3)/keyctl_unlink.3
     5         kx 	$(LNS) keyctl_read.3 $(DESTDIR)$(MAN3)/keyctl_read_alloc.3
     5         kx 	$(LNS) recursive_key_scan.3 $(DESTDIR)$(MAN3)/recursive_session_key_scan.3
     5         kx 	$(LNS) keyctl_dh_compute.3 $(DESTDIR)$(MAN3)/keyctl_dh_compute_alloc.3
     5         kx 	$(LNS) keyctl_dh_compute.3 $(DESTDIR)$(MAN3)/keyctl_dh_compute_kdf.3
     5         kx 	$(INSTALL) -D -m 0644 keyutils.h $(DESTDIR)$(INCLUDEDIR)/keyutils.h
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Run tests
     5         kx #
     5         kx ###############################################################################
     5         kx test:
     5         kx 	$(MAKE) -C tests run
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Clean up
     5         kx #
     5         kx ###############################################################################
     5         kx clean:
     5         kx 	$(MAKE) -C tests clean
     5         kx 	$(RM) libkeyutils.so* libkeyutils.a libkeyutils.pc
     5         kx 	$(RM) keyctl request-key key.dns_resolver
     5         kx 	$(RM) *.o *.os *~
     5         kx 	$(RM) debugfiles.list debugsources.list
     5         kx 	$(RM) cxx.stamp
     5         kx 
     5         kx distclean: clean
     5         kx 	$(RM) -r rpmbuild $(TARBALL)
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Generate a tarball
     5         kx #
     5         kx ###############################################################################
     5         kx $(ZTARBALL):
     5         kx 	git archive --prefix=keyutils-$(VERSION)/ --format tar -o $(TARBALL) HEAD
     5         kx 	bzip2 -9 <$(TARBALL) >$(ZTARBALL)
     5         kx 
     5         kx tarball: $(ZTARBALL)
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Generate an RPM
     5         kx #
     5         kx ###############################################################################
     5         kx SRCBALL	:= rpmbuild/SOURCES/$(TARBALL)
     5         kx ZSRCBALL := rpmbuild/SOURCES/$(ZTARBALL)
     5         kx 
     5         kx BUILDID	:= .local
     5         kx rpmver0	:= $(shell rpmspec -q ./keyutils.spec --define "buildid $(BUILDID)")
     5         kx rpmver1	:= $(word 1,$(rpmver0))
     5         kx rpmver2	:= $(subst ., ,$(rpmver1))
     5         kx rpmver3	:= $(lastword $(rpmver2))
     5         kx rpmver4	:= $(patsubst %.$(rpmver3),%,$(rpmver1))
     5         kx rpmver	:= $(patsubst keyutils-%,%,$(rpmver4))
     5         kx SRPM	:= rpmbuild/SRPMS/keyutils-$(rpmver).src.rpm
     5         kx 
     5         kx RPMBUILDDIRS := \
     5         kx 	--define "_srcrpmdir $(CURDIR)/rpmbuild/SRPMS" \
     5         kx 	--define "_rpmdir $(CURDIR)/rpmbuild/RPMS" \
     5         kx 	--define "_sourcedir $(CURDIR)/rpmbuild/SOURCES" \
     5         kx 	--define "_specdir $(CURDIR)/rpmbuild/SPECS" \
     5         kx 	--define "_builddir $(CURDIR)/rpmbuild/BUILD" \
     5         kx 	--define "_buildrootdir $(CURDIR)/rpmbuild/BUILDROOT"
     5         kx 
     5         kx RPMFLAGS := \
     5         kx 	--define "buildid $(BUILDID)"
     5         kx 
     5         kx srpm:
     5         kx 	mkdir -p rpmbuild
     5         kx 	chmod ug-s rpmbuild
     5         kx 	mkdir -p rpmbuild/{SPECS,SOURCES,BUILD,BUILDROOT,RPMS,SRPMS}
     5         kx 	git archive --prefix=keyutils-$(VERSION)/ --format tar -o $(SRCBALL) HEAD
     5         kx 	bzip2 -9 <$(SRCBALL) >$(ZSRCBALL)
     5         kx 	rpmbuild -ts $(ZSRCBALL) --define "_srcrpmdir rpmbuild/SRPMS" $(RPMFLAGS)
     5         kx 
     5         kx rpm: srpm
     5         kx 	rpmbuild --rebuild $(SRPM) $(RPMBUILDDIRS) $(RPMFLAGS)
     5         kx 
     5         kx rpmlint: rpm
     5         kx 	rpmlint $(SRPM) $(CURDIR)/rpmbuild/RPMS/*/keyutils-{,libs-,libs-devel-,debuginfo-}$(rpmver).*.rpm
     5         kx 
     5         kx ###############################################################################
     5         kx #
     5         kx # Build debugging
     5         kx #
     5         kx ###############################################################################
     5         kx show_vars:
     5         kx 	@echo VERSION=$(VERSION)
     5         kx 	@echo APIVERSION=$(APIVERSION)
     5         kx 	@echo LIBDIR=$(LIBDIR)
     5         kx 	@echo USRLIBDIR=$(USRLIBDIR)
     5         kx 	@echo BUILDFOR=$(BUILDFOR)
     5         kx 	@echo SONAME=$(SONAME)
     5         kx 	@echo LIBNAME=$(LIBNAME)
     5         kx 	@echo SRPM=$(SRPM)
     5         kx 	@echo rpmver=$(rpmver)