Print this page
NEX-9559 remove nza-closed cruft
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Steve Peng <steve.peng@nexenta.com>
NEX-5206 pkg should use the adjunct for dependency resolution
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
NEX-3128 remove dependency on sysidtool
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
NEX-3127 nza-kernel can't be built with fresh perl versions
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
NEX-3124 Disable IPP printing like SMB printing can be disabled
Reviewed by: Gordon Ross <gwr@nexenta.com>
Reviewed by: Jean McCormack <jean.mccormack@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
NEX-1666 More maintainable ips2deb
4463 NLM fails wrongly on clnt_control().
Reviewed by: Marcel Telka <marcel@telka.sk>
Reviewed by: Jason King <jason.brian.king@gmail.com>
Approved by: Garrett D'Amore <garrett@damore.org>
4413 repository-metadata target should use "pkgrepo refresh" instead of "pkg.depotd"
Reviewed by: Gordon Ross <gordon.w.ross@gmail.com>
Reviewed by: Alexander Pyhalov <alp@rsu.ru>
Reviewed by: Richard PALO <richard.palo@free.fr>
Approved by: Richard Lowe <richlowe@richlowe.net>
re #13842 make clobber leaves trash
re #13468 rb4431 ACPI CA could be less verbose in release builds
re #12731 rb4460 Integrate ISA-L kernel module into nza-closed
Adding AoE support to nza-kernel

*** 19,28 **** --- 19,29 ---- # CDDL HEADER END # # # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + # Copyright 2014 Nexenta Systems, Inc. All rights reserved. # Copyright 2015, OmniTI Computer Consulting, Inc. All rights reserved. # Copyright 2015 Igor Kozhukhov <ikozhukhov@gmail.com> # include $(SRC)/Makefile.master
*** 240,254 **** SYNTH_PKGS= osnet-incorporation osnet-redist DEP_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.dep) PROC_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.mog) # ! # Root of pkg image to use for dependency resolution ! # Normally / on the machine used to build the binaries # ! PKGDEP_RESOLVE_IMAGE = / # # For each package, we determine the target repository based on # manifest-embedded metadata. Because we make that determination on # the fly, the publication target cannot be expressed as a # subdirectory inside the unknown-by-the-makefile target repository. --- 241,261 ---- SYNTH_PKGS= osnet-incorporation osnet-redist DEP_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.dep) PROC_SYNTH_PKGS= $(SYNTH_PKGS:%=$(PDIR)/%.mog) # ! # Root of pkg image to use for dependency resolution Normally / on the machine ! # used to build the binaries, or the ADJUNCT_PROTO # ! PKG_ADJUNCT.cmd= AP=$${ADJUNCT_PROTO:-/}; if [[ -d $${AP}/var/pkg ]]; then \ ! echo $$AP; \ ! else \ ! echo /; \ ! fi + PKGDEP_RESOLVE_IMAGE = $(PKG_ADJUNCT.cmd:sh) + # # For each package, we determine the target repository based on # manifest-embedded metadata. Because we make that determination on # the fly, the publication target cannot be expressed as a # subdirectory inside the unknown-by-the-makefile target repository.
*** 358,367 **** --- 365,378 ---- # processed manifests # ALL_TARGETS= $(PROC_SYNTH_PKGS) proto_list_$(PKGMACH) + # This may be empty, or set to "ips", or "deb" + PKGTYPE=ips + include Makefile.$(PKGTYPE) + all: $(ALL_TARGETS) # # This will build the directory to contain the processed manifests # and the metadata symlinks.
*** 383,394 **** for p in $(DEP_PKGS:%.dep=%); do \ $(CP) $$p.dep $$p.res; \ done; \ else \ print "Resolving dependencies"; \ ! pkgdepend -R $(PKGDEP_RESOLVE_IMAGE) resolve \ ! -m $(DEP_SYNTH_PKGS) $(DEP_PKGS); \ for p in $(DEP_SYNTH_PKGS:%.dep=%) $(DEP_PKGS:%.dep=%); do \ if [ "$$(print $$p.metadata.*)" = \ "$$(print $$p.metadata.noincorp.*)" ]; \ then \ print "Removing dependency versions from $$p"; \ --- 394,405 ---- for p in $(DEP_PKGS:%.dep=%); do \ $(CP) $$p.dep $$p.res; \ done; \ else \ print "Resolving dependencies"; \ ! pkgdepend $(PKGDEP_FLAGS) resolve \ ! $(PKGRES_FLAGS) $(DEP_SYNTH_PKGS) $(DEP_PKGS); \ for p in $(DEP_SYNTH_PKGS:%.dep=%) $(DEP_PKGS:%.dep=%); do \ if [ "$$(print $$p.metadata.*)" = \ "$$(print $$p.metadata.noincorp.*)" ]; \ then \ print "Removing dependency versions from $$p"; \
*** 401,445 **** fi; \ done; \ fi $(PKGDEBUG)$(TOUCH) $(@) - install: $(ALL_TARGETS) repository-metadata - - repository-metadata: publish_pkgs - $(PKGDEBUG)for r in $(REPOS); do \ - pkgrepo refresh -s $(PKGDEST)/repo.$$r; \ - done - # - # Since we create zero-length processed manifests for a graceful abort - # from pkgmogrify, we need to detect that here and make no effort to - # publish the package. - # - # For all other packages, we publish them regardless of status. We - # derive the target repository as a component of the metadata-derived - # symlink for each package. - # - publish_pkgs: $(REPOS:%=$(PKGDEST)/repo.%) $(PDIR)/gendeps .WAIT $(PUB_PKGS) - - # - # Before publishing, we want to pull the license files from $CODEMGR_WS - # into the proto area. This allows us to NOT pass $SRC (or - # $CODEMGR_WS) as a basedir for publication. - # - $(PUB_PKGS): stage-licenses - - # - # Initialize the empty on-disk repositories - # - $(REPOS:%=$(PKGDEST)/repo.%): - @print "Initializing $(@F)" - $(PKGDEBUG)$(INS.dir) - $(PKGDEBUG)pkgsend -s file://$(@) create-repository \ - --set-property publisher.prefix=$(PKGPUBLISHER) - - # # rule to process real manifests # # To allow redistributability and package status to change, we must # remove not only the actual build target (the processed manifest), but # also the incidental ones (the metadata-derived symlinks). --- 412,422 ----
*** 496,506 **** .SUFFIXES: .mf .mog .dep .res .pub $(PDIR)/%.mog: manifests/%.mf @print "Processing manifest $(<F)" @env PKGFMT_OUTPUT=v1 pkgfmt -c $< ! $(PKGDEBUG)$(RM) $(@) $(@:%.mog=%) $(@:%.mog=%.nodepend) \ $(@:%.mog=%.lics) $(PDIR)/$(@F:%.mog=%).metadata.* $(@).vars $(PKGDEBUG)$(PKGMOGRIFY) $(PKGMOG_VERBOSE) $(PM_INC:%= -I %) \ $(PKGMOG_DEFINES:%=-D %) -P $(@).vars -O $(@) \ $(<) $(PM_TRANSFORMS) $(PKGDEBUG)eval REPO=redist PKGSTAT=current NODEPEND=$(SUPPRESSPKGDEP) \ --- 473,483 ---- .SUFFIXES: .mf .mog .dep .res .pub $(PDIR)/%.mog: manifests/%.mf @print "Processing manifest $(<F)" @env PKGFMT_OUTPUT=v1 pkgfmt -c $< ! $(PKGDEBUG)$(RM) -r $(@) $(@:%.mog=%) $(@:%.mog=%.nodepend) \ $(@:%.mog=%.lics) $(PDIR)/$(@F:%.mog=%).metadata.* $(@).vars $(PKGDEBUG)$(PKGMOGRIFY) $(PKGMOG_VERBOSE) $(PM_INC:%= -I %) \ $(PKGMOG_DEFINES:%=-D %) -P $(@).vars -O $(@) \ $(<) $(PM_TRANSFORMS) $(PKGDEBUG)eval REPO=redist PKGSTAT=current NODEPEND=$(SUPPRESSPKGDEP) \
*** 530,558 **** else \ $(CP) $(<) $(@); \ fi # - # The full chain implies that there should be a .dep.res suffix rule, - # but dependency generation is done on a set of manifests, rather than - # on a per-manifest basis. Instead, see the gendeps rule above. - # - - $(PDIR)/%.pub: $(PDIR)/%.res - $(PKGDEBUG)m=$$(basename $(@:%.pub=%).metadata.*); \ - r=$${m#$(@F:%.pub=%.metadata.)+(?).}; \ - if [ -s $(<) ]; then \ - print "Publishing $(@F:%.pub=%) to $$r repository"; \ - pkgsend -s file://$(PKGDEST)/repo.$$r publish \ - -d $(PKGROOT) -d $(TOOLSROOT) \ - -d license_files -d $(PKGROOT)/licenses \ - --fmri-in-manifest --no-index --no-catalog $(<) \ - > /dev/null; \ - fi; \ - $(TOUCH) $(@); - - # # rule to build the synthetic manifests # # This rule necessarily has PKGDEP_TYPE that changes according to # the specific synthetic manifest. Rather than escape command # dependency checking for the real manifest processing, or failing to --- 507,516 ----
*** 706,716 **** # avoid these targets and override PKGS on the make command line and # use the provided all and install targets. # $(PKGS) $(SYNTH_PKGS): $(PDIR)/$$(@:%=%.mog) - $(PKGS:%=%.pub) $(SYNTH_PKGS:%=%.pub): $(PDIR)/$$(@) # # This is a convenience target to resolve dependencies without publishing # packages. # --- 664,673 ----