aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/guilt/guilt-native_0.33.bb
blob: 37bca284d027dcbc608868d6a96e1adbef0fd370 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
DESCRIPTION = "guilt is quilt like tool for git"
LICENSE = "GPLv2"

LIC_FILES_CHKSUM = "file://COPYING;md5=b6f3400dc1a01cebafe8a52b3f344135"

PR = r0
PV = "0.33"

inherit native

SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/people/jsipek/guilt/guilt-${PV}.tar.gz\
           file://guilt-push.patch \
	   file://guilt-pop.patch \
	   file://guilt.patch \
	   file://guilt-init.patch \
	   file://guilt-import-commit.patch \
	   file://uninstall_force.patch \
	   file://guilt-push-no-series.patch \
	   file://make_git_commands_conditional.patch \
	   file://improve_auto_header_gen.patch \
	   file://guilt-set-git_exec_path.patch \
	   file://guilt-bash.patch \
	   file://optional_head_check.patch"

# we don't compile, we just install
do_compile() {
	:
}

do_install() {
	oe_runmake PREFIX=${D}/${base_prefix}/usr install
}
d='n412' href='#n412'>412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469
# This is a single Makefile to handle all generated Yocto Project documents,
# which includes the BitBake User Manual and the Toaster User Manual.
# The Makefile needs to live in the documents directory and all figures used
# in any manuals must be .PNG files and live in the individual book's figures
# directory as well as in the figures directory for the mega-manual.
#
# Some manuals are available as linked help through the Eclipse development
# system.  These manuals also include an "eclipse" sub-directory as part of
# the make process.
#
# Note that the figures for the Yocto Project Development Manual
# differ depending on the BRANCH being built.
#
# The Makefile has these targets:
#    all:       If you leave off the target then "all" is implied.
#               You will generate HTML, eclipse help (if applicable),
#               and a tarball of files.
#
#    pdf:	generates a PDF version of a manual.  Not valid for the
#		Quick Start or the mega-manual (single, large HTML file
#		comprised of all Yocto Project manuals).
#    html:	generates an HTML version of a manual.
#    eclipse:	generates an HTML version of a manual that can be used as
#		eclipse help (including necessary metadata files).
#    tarball:	creates a tarball for the doc files.
#    validate:	validates
#    publish:	pushes generated files to the Yocto Project website
#    clean:	removes files
#
# The Makefile can generate an HTML and PDF version of every document except the
# Yocto Project Quick Start and the single, HTML mega-manual, which is comprised
# of all the individual Yocto Project manuals.  You can generate these two manuals
# in HTML form only.  The variable DOC indicates the folder name for a given manual.
# The variable VER represents the distro version of the Yocto Release for which the
# manuals are being generated.  The variable BRANCH is used to indicate the
# branch (edison or denzil) and is used only when DOC=dev-manual or
# DOC=mega-manual.  If you do not specify a BRANCH, the default branch used
# will be for the latest Yocto Project release.  If you build for either
# edison or denzil, you must use BRANCH. You do not need to use BRANCH for
# any release beyond denzil.
#
# To build a manual, you must invoke Makefile with the DOC argument.  If you
# are going to publish the manual, then you must invoke Makefile with both the
# DOC and the VER argument.  Furthermore, if you are building or publishing
# the edison or denzil versions of the Yocto Project Development Manual or
# the mega-manual, you must also use the BRANCH argument.
#
# Examples:
#
#     make DOC=bsp-guide
#     make html DOC=yocto-project-qs
#     make pdf DOC=ref-manual
#     make DOC=dev-manual BRANCH=edison
#     make DOC=mega-manual BRANCH=denzil
#
# The first example generates the HTML and Eclipse help versions of the BSP Guide.
# The second example generates the HTML version only of the Quick Start.  Note
# that the Quick Start only has an HTML version available.  So, the
# 'make DOC=yocto-project-qs' command would be equivalent. The third example
# generates just the PDF version of the Yocto Project Reference Manual.
# The fourth example generates the HTML 'edison' version and (if available)
# the Eclipse help version of the YP Development Manual.  The last example
# generates the HTML version of the mega-manual and uses the 'denzil'
# branch when choosing figures for the tarball of figures.  Any example that does
# not use the BRANCH argument builds the current version of the manual set.
#
# The publish target pushes the generated manuals to the Yocto Project
# website.  Unless you are a developer on the YP team, you will not succeed in
# pushing manuals to this server.  All files needed for the manual's HTML form are
# pushed as well as applicable Eclipse versions.
#
# Examples:
#
#    make publish DOC=bsp-guide VER=1.7
#    make publish DOC=adt-manual VER=1.6
#    make publish DOC=dev-manual VER=1.1.1 BRANCH=edison
#    make publish DOC=dev-manual VER=1.2 BRANCH=denzil
#
# The first example publishes the 1.7 version of both the PDF and HTML versions of
# the BSP Guide.  The second example publishes the 1.6 version of both the PDF and
# HTML versions of the ADT Manual. The third example publishes the 1.1.1 version of
# the PDF and HTML YP Development Manual for the 'edison' branch.  The fourth example
# publishes the 1.2 version of the PDF and HTML YP Development Manual for the
# 'denzil' branch.
#

ifeq ($(DOC),bsp-guide)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = bsp-style.css bsp-guide.html figures/bsp-title.png \
           eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css

endif

ifeq ($(DOC),dev-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
#
# Note that the tarfile might produce the "Cannot stat: No such file or
# directory" error message for .PNG files that are not present when building
# a particular branch.  The list of files is all-inclusive for all branches.
# Note, if you don't provide a BRANCH option, it defaults to the latest stuff.
# This would be appropriate for "master" branch.
#

	ifeq ($(BRANCH),edison)
TARFILES = dev-style.css dev-manual.html \
           figures/app-dev-flow.png figures/bsp-dev-flow.png \
           figures/dev-title.png figures/git-workflow.png \
           figures/index-downloads.png figures/kernel-dev-flow.png \
           figures/kernel-example-repos-edison.png \
           figures/kernel-overview-1.png figures/kernel-overview-2.png \
           figures/kernel-overview-3-edison.png \
           figures/source-repos.png figures/yp-download.png \
           figures/wip.png
	else ifeq ($(BRANCH),denzil)
TARFILES = dev-style.css dev-manual.html \
           figures/app-dev-flow.png figures/bsp-dev-flow.png \
           figures/dev-title.png figures/git-workflow.png \
           figures/index-downloads.png figures/kernel-dev-flow.png \
           figures/kernel-example-repos-denzil.png \
           figures/kernel-overview-1.png figures/kernel-overview-2.png \
           figures/kernel-overview-3-denzil.png \
           figures/source-repos.png figures/yp-download.png \
           figures/wip.png
        else
TARFILES = dev-style.css dev-manual.html \
           figures/app-dev-flow.png figures/bsp-dev-flow.png \
           figures/dev-title.png figures/git-workflow.png \
           figures/index-downloads.png figures/kernel-dev-flow.png \
           figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
           figures/source-repos.png figures/yp-download.png \
           figures/recipe-workflow.png figures/build-workspace-directory.png \
           eclipse
	endif

MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css

endif

ifeq ($(DOC),yocto-project-qs)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = yocto-project-qs.html qs-style.css figures/yocto-environment.png \
           figures/yocto-project-transp.png \
           eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif

ifeq ($(DOC),mega-manual)
XSLTOPTS = --stringparam html.stylesheet mega-style.css \
           --stringparam  chapter.autolabel 1 \
           --stringparam  section.autolabel 1 \
           --stringparam  section.label.includes.component.label 1 \
           --xinclude
ALLPREQ = html tarball

	ifeq ($(BRANCH),edison)
TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png \
        figures/building-an-image.png  \
	figures/using-a-pre-built-image.png \
	figures/poky-title.png \
	figures/adt-title.png figures/bsp-title.png \
	figures/kernel-title.png figures/kernel-architecture-overview.png \
	figures/app-dev-flow.png figures/bsp-dev-flow.png \
        figures/dev-title.png figures/git-workflow.png \
        figures/index-downloads.png figures/kernel-dev-flow.png \
	figures/kernel-example-repos-edison.png \
	figures/kernel-overview-1.png figures/kernel-overview-2.png \
	figures/kernel-overview-3-edison.png \
	figures/source-repos.png figures/yp-download.png \
	figures/wip.png
	else ifeq ($(BRANCH),denzil)
TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png \
        figures/building-an-image.png  \
	figures/using-a-pre-built-image.png \
	figures/poky-title.png \
	figures/adt-title.png figures/bsp-title.png \
	figures/kernel-title.png figures/kernel-architecture-overview.png \
	figures/app-dev-flow.png figures/bsp-dev-flow.png \
        figures/dev-title.png figures/git-workflow.png \
        figures/index-downloads.png figures/kernel-dev-flow.png \
	figures/kernel-example-repos-denzil.png \
	figures/kernel-overview-1.png figures/kernel-overview-2.png \
	figures/kernel-overview-3-denzil.png \
	figures/source-repos.png figures/yp-download.png \
	figures/wip.png
        else
TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png \
        figures/building-an-image.png  \
	figures/using-a-pre-built-image.png \
	figures/poky-title.png figures/buildhistory.png \
        figures/buildhistory-web.png \
	figures/adt-title.png figures/sdk-title.png figures/bsp-title.png \
	figures/kernel-dev-title.png figures/kernel-architecture-overview.png \
	figures/app-dev-flow.png figures/bsp-dev-flow.png \
        figures/dev-title.png \
	figures/git-workflow.png figures/index-downloads.png \
        figures/kernel-dev-flow.png \
	figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
	figures/source-repos.png figures/yp-download.png \
        figures/profile-title.png figures/kernelshark-all.png \
        figures/kernelshark-choose-events.png \
        figures/kernelshark-i915-display.png \
        figures/kernelshark-output-display.png figures/lttngmain0.png \
        figures/oprofileui-busybox.png figures/oprofileui-copy-to-user.png \
        figures/oprofileui-downloading.png figures/oprofileui-processes.png \
        figures/perf-probe-do_fork-profile.png \
        figures/perf-report-cycles-u.png \
        figures/perf-systemwide.png figures/perf-systemwide-libc.png \
        figures/perf-wget-busybox-annotate-menu.png \
        figures/perf-wget-busybox-annotate-udhcpc.png \
        figures/perf-wget-busybox-debuginfo.png \
        figures/perf-wget-busybox-dso-zoom.png \
        figures/perf-wget-busybox-dso-zoom-menu.png \
        figures/perf-wget-busybox-expanded-stripped.png \
        figures/perf-wget-flat-stripped.png \
        figures/perf-wget-g-copy-from-user-expanded-stripped.png \
        figures/perf-wget-g-copy-to-user-expanded-debuginfo.png \
        figures/perf-wget-g-copy-to-user-expanded-stripped.png \
        figures/perf-wget-g-copy-to-user-expanded-stripped-unresolved-hidden.png \
        figures/pybootchartgui-linux-yocto.png \
        figures/pychart-linux-yocto-rpm.png \
        figures/pychart-linux-yocto-rpm-nostrip.png \
        figures/sched-wakeup-profile.png figures/sysprof-callers.png \
        figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png \
        figures/cross-development-toolchains.png \
	figures/yocto-environment-ref.png figures/user-configuration.png \
        figures/source-input.png figures/package-feeds.png \
        figures/layer-input.png figures/images.png figures/sdk.png \
	figures/source-fetching.png figures/patching.png \
        figures/configuration-compile-autoreconf.png \
	figures/analysis-for-package-splitting.png \
        figures/image-generation.png \
	figures/sdk-generation.png figures/recipe-workflow.png \
	figures/build-workspace-directory.png figures/mega-title.png \
	figures/toaster-title.png figures/hosted-service.png \
	figures/simple-configuration.png
	endif

MANUALS = $(DOC)/$(DOC).html
FIGURES = figures
STYLESHEET = $(DOC)/*.css

endif

ifeq ($(DOC),ref-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = ref-manual.html ref-style.css figures/poky-title.png \
	figures/buildhistory.png figures/buildhistory-web.png eclipse \
        figures/cross-development-toolchains.png figures/layer-input.png \
	figures/package-feeds.png figures/source-input.png \
	figures/user-configuration.png figures/yocto-environment-ref.png \
	figures/images.png figures/sdk.png figures/source-fetching.png \
	figures/patching.png figures/configuration-compile-autoreconf.png \
	figures/analysis-for-package-splitting.png figures/image-generation.png \
	figures/sdk-generation.png figures/building-an-image.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif


ifeq ($(DOC),adt-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = adt-manual.html adt-style.css figures/adt-title.png \
           figures/using-a-pre-built-image.png \
           eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif

ifeq ($(DOC),sdk-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = sdk-manual.html sdk-style.css figures/sdk-title.png \
           eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif

ifeq ($(DOC),profile-manual)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = profile-manual.html profile-manual-style.css \
           figures/profile-title.png figures/kernelshark-all.png \
           figures/kernelshark-choose-events.png \
           figures/kernelshark-i915-display.png \
           figures/kernelshark-output-display.png figures/lttngmain0.png \
           figures/oprofileui-busybox.png figures/oprofileui-copy-to-user.png \
           figures/oprofileui-downloading.png figures/oprofileui-processes.png \
           figures/perf-probe-do_fork-profile.png \
           figures/perf-report-cycles-u.png \
           figures/perf-systemwide.png figures/perf-systemwide-libc.png \
           figures/perf-wget-busybox-annotate-menu.png \
           figures/perf-wget-busybox-annotate-udhcpc.png \
           figures/perf-wget-busybox-debuginfo.png \
           figures/perf-wget-busybox-dso-zoom.png \
           figures/perf-wget-busybox-dso-zoom-menu.png \
           figures/perf-wget-busybox-expanded-stripped.png \
           figures/perf-wget-flat-stripped.png \
           figures/perf-wget-g-copy-from-user-expanded-stripped.png \
           figures/perf-wget-g-copy-to-user-expanded-debuginfo.png \
           figures/perf-wget-g-copy-to-user-expanded-stripped.png \
           figures/perf-wget-g-copy-to-user-expanded-stripped-unresolved-hidden.png \
           figures/pybootchartgui-linux-yocto.png \
           figures/pychart-linux-yocto-rpm.png \
           figures/pychart-linux-yocto-rpm-nostrip.png \
           figures/sched-wakeup-profile.png figures/sysprof-callers.png \
           figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png \
           eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif

ifeq ($(DOC),kernel-dev)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = kernel-dev.html kernel-dev-style.css \
           figures/kernel-dev-title.png \
           figures/kernel-architecture-overview.png \
           eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif

ifeq ($(DOC),toaster-manual)
XSLTOPTS = --xinclude
ALLPREQ = html tarball
TARFILES = toaster-manual.html toaster-manual-style.css \
	   figures/toaster-title.png figures/simple-configuration.png \
	   figures/hosted-service.png
MANUALS = $(DOC)/$(DOC).html
FIGURES = figures
STYLESHEET = $(DOC)/*.css
endif


##
# These URI should be rewritten by your distribution's xml catalog to
# match your locally installed XSL stylesheets.
XSL_BASE_URI  = http://docbook.sourceforge.net/release/xsl/1.76.1
XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl

all: $(ALLPREQ)

pdf:
ifeq ($(DOC),yocto-project-qs)
	@echo " "
	@echo "ERROR: You cannot generate a yocto-project-qs PDF file."
	@echo " "

else ifeq ($(DOC),mega-manual)
	@echo " "
	@echo "ERROR: You cannot generate a mega-manual PDF file."
	@echo " "

else

	cd $(DOC); ../tools/poky-docbook-to-pdf $(DOC).xml ../template; cd ..
endif

html:
ifeq ($(DOC),mega-manual)
#       See http://www.sagehill.net/docbookxsl/HtmlOutput.html
	@echo " "
	@echo "******** Building "$(DOC)
	@echo " "
	cd $(DOC); xsltproc $(XSLTOPTS) -o $(DOC).html $(DOC)-customization.xsl $(DOC).xml; cd ..
	@echo " "
	@echo "******** Using mega-manual.sed to process external links"
	@echo " "
	cd $(DOC); sed -f ../tools/mega-manual.sed < mega-manual.html > mega-output.html; cd ..
	@echo " "
	@echo "******** Cleaning up transient file mega-output.html"
	@echo " "
	cd $(DOC); rm mega-manual.html; mv mega-output.html mega-manual.html; cd ..
else
#       See http://www.sagehill.net/docbookxsl/HtmlOutput.html
	@echo " "
	@echo "******** Building "$(DOC)
	@echo " "
	cd $(DOC); xsltproc $(XSLTOPTS) -o $(DOC).html $(DOC)-customization.xsl $(DOC).xml; cd ..
endif


eclipse: BASE_DIR = html/$(DOC)/

eclipse: eclipse-generate eclipse-resolve-links

.PHONY : eclipse-generate eclipse-resolve-links

eclipse-generate:
ifeq ($(filter $(DOC), adt-manual sdk-manual bsp-guide dev-manual kernel-dev profile-manual ref-manual yocto-project-qs),)
	@echo " "
	@echo "ERROR: You can only create eclipse documentation"
	@echo "       of the following documentation parts:"
	@echo "       - sdk-manual"
	@echo "       - adt-manual"
	@echo "       - bsp-guide"
	@echo "       - dev-manual"
	@echo "       - kernel-dev"
	@echo "       - profile-manual"
	@echo "       - ref-manual"
	@echo "       - yocto-project-qs"
	@echo " "
else
	@echo " "
	@echo "******** Building eclipse help of "$(DOC)
	@echo " "
	cd $(DOC) && \
		xsltproc $(XSLTOPTS) \
				--stringparam base.dir '$(BASE_DIR)' \
				-o eclipse/$(DOC).html \
				$(DOC)-eclipse-customization.xsl $(DOC).xml && \
		mv eclipse/toc.xml eclipse/$(DOC)-toc.xml && \
		cp -rf $(FIGURES) eclipse/$(BASE_DIR) && \
		cd ..;

	$(call modify-eclipse)
endif

eclipse-resolve-links:
	@echo " "
	@echo "******** Using eclipse-help.sed to process external links"
	@echo " "
	$(foreach FILE, \
		$(wildcard $(DOC)/eclipse/html/$(DOC)/*.html), \
		$(shell sed -i -f tools/eclipse-help.sed $(FILE)))

tarball: html
	@echo " "
	@echo "******** Creating Tarball of document files"
	@echo " "
	cd $(DOC); tar -cvzf $(DOC).tgz $(TARFILES); cd ..

validate:
	cd $(DOC); xmllint --postvalid --xinclude --noout $(DOC).xml; cd ..


publish:
	@if test -f $(DOC)/$(DOC).html; \
	  then \
            echo " "; \
            echo "******** Publishing "$(DOC)".html"; \
            echo " "; \
            scp -r $(MANUALS) $(STYLESHEET) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
            cd $(DOC); scp -r $(FIGURES) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
	else \
          echo " "; \
          echo $(DOC)".html missing.  Generate the file first then try again."; \
          echo " "; \
	fi

clean:
	rm -rf $(MANUALS); rm $(DOC)/$(DOC).tgz;