aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/pkg_distribute.bbclass
blob: 52643a2f904b7daea002350a75c049bc4a4abd82 (plain) @media only all and (prefers-color-scheme: dark) { .highlight .hll { background-color: #49483e } .highlight .c { color: #75715e } /* Comment */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */ .highlight .k { color: #66d9ef } /* Keyword */ .highlight .l { color: #ae81ff } /* Literal */ .highlight .n { color: #f8f8f2 } /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */
PKG_DISTRIBUTECOMMAND[func] = "1"
python do_distribute_packages () {
	cmd = d.getVar('PKG_DISTRIBUTECOMMAND', 1)
	if not cmd:
		raise bb.build.FuncFailed("Unable to distribute packages, PKG_DISTRIBUTECOMMAND not defined")
	bb.build.exec_func('PKG_DISTRIBUTECOMMAND', d)
}

addtask distribute_packages before do_build after do_fetch

PKG_DIST_LOCAL ?= "symlink"
PKG_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/packages"

PKG_DISTRIBUTECOMMAND () {
	p=`dirname ${FILE}`
	d=`basename $p`
	mkdir -p ${PKG_DISTRIBUTEDIR}
	case "${PKG_DIST_LOCAL}" in
		copy)
			# use this weird tar command to copy because we want to 
			# exclude the BitKeeper directories
			test -e ${PKG_DISTRIBUTEDIR}/${d} || mkdir ${PKG_DISTRIBUTEDIR}/${d};
			(cd ${p}; tar -c --exclude SCCS -f - . ) | tar -C ${PKG_DISTRIBUTEDIR}/${d} -xpf -
			;;
		symlink)
			ln -sf $p ${PKG_DISTRIBUTEDIR}/
			;;
	esac
}