xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/quilt/quilt.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "Tool for working with series of patches"
2*4882a593SmuzhiyunDESCRIPTION = "Quilt is a tool to manage large sets of patches by keeping \
3*4882a593Smuzhiyuntrack of the changes each patch makes. Patches can be applied, un-applied,\
4*4882a593Smuzhiyunrefreshed, etc."
5*4882a593SmuzhiyunHOMEPAGE = "http://savannah.nongnu.org/projects/quilt/"
6*4882a593SmuzhiyunSECTION = "devel"
7*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
8*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
11*4882a593Smuzhiyun        file://run-ptest \
12*4882a593Smuzhiyun        file://Makefile \
13*4882a593Smuzhiyun        file://test.sh \
14*4882a593Smuzhiyun        file://0001-tests-Allow-different-output-from-mv.patch \
15*4882a593Smuzhiyun        file://fix-grep-3.8.patch \
16*4882a593Smuzhiyun        file://faildiff-order.patch \
17*4882a593Smuzhiyun"
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunSRC_URI:append:class-target = " file://gnu_patch_test_fix_target.patch"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunSRC_URI[sha256sum] = "3be3be0987e72a6c364678bb827e3e1fcc10322b56bc5f02b576698f55013cc2"
22*4882a593Smuzhiyun
23*4882a593Smuzhiyuninherit autotools-brokensep ptest
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunINHIBIT_AUTOTOOLS_DEPS:class-native = "1"
26*4882a593SmuzhiyunPATCHTOOL:class-native = "patch"
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunCLEANBROKEN = "1"
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunEXTRA_OECONF = "--with-perl='${USRBINPATH}/env perl' --with-patch=patch --without-sendmail"
31*4882a593SmuzhiyunEXTRA_OECONF:append:class-native = " --disable-nls"
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunEXTRA_AUTORECONF += "--exclude=aclocal"
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunCACHED_CONFIGUREVARS += "ac_cv_path_BASH=/bin/bash ac_cv_path_COLUMN=column"
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun# Make sure we don't have "-w" in shebang lines: it breaks using
38*4882a593Smuzhiyun# "/usr/bin/env perl" as parser
39*4882a593Smuzhiyundo_configure:prepend () {
40*4882a593Smuzhiyun	find ${S} -name "*.in" -exec sed -i -e "1s,^#\!.*@PERL@ -w$,#\! @PERL@\nuse warnings;," {} \;
41*4882a593Smuzhiyun}
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun# Don't setup symlinks to host utilities, we don't need them
44*4882a593Smuzhiyundo_configure:append () {
45*4882a593Smuzhiyun	sed -e 's,^COMPAT_SYMLINKS.*:=.*,COMPAT_SYMLINKS	:=,' -i ${S}/Makefile
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593Smuzhiyundo_configure:class-native () {
49*4882a593Smuzhiyun    oe_runconf
50*4882a593Smuzhiyun}
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun# quilt Makefiles install to BUILD_ROOT instead of DESTDIR
53*4882a593Smuzhiyundo_install () {
54*4882a593Smuzhiyun	oe_runmake 'BUILD_ROOT=${D}' install
55*4882a593Smuzhiyun	# cleanup unpackaged files
56*4882a593Smuzhiyun	rm -rf ${D}/${datadir}/emacs
57*4882a593Smuzhiyun}
58*4882a593Smuzhiyun
59*4882a593Smuzhiyundo_install:append:class-native () {
60*4882a593Smuzhiyun    # Dummy quiltrc file for patch.bbclass
61*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/
62*4882a593Smuzhiyun    touch ${D}${sysconfdir}/quiltrc
63*4882a593Smuzhiyun}
64*4882a593Smuzhiyun
65*4882a593Smuzhiyundo_compile_ptest() {
66*4882a593Smuzhiyun	oe_runmake bin/patch-wrapper test/.depend
67*4882a593Smuzhiyun}
68*4882a593Smuzhiyun
69*4882a593Smuzhiyundo_install_ptest() {
70*4882a593Smuzhiyun	tar -c --exclude=\*.in bin/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
71*4882a593Smuzhiyun	tar -c --exclude=\*.in compat/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
72*4882a593Smuzhiyun	tar -c --exclude=\*.in quilt/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
73*4882a593Smuzhiyun	tar -c --exclude=mail.test --exclude=delete.test test/ | ( cd ${D}${PTEST_PATH} && tar -xf - && chmod 777 test)
74*4882a593Smuzhiyun	cp ${WORKDIR}/Makefile ${D}${PTEST_PATH}
75*4882a593Smuzhiyun	cp ${WORKDIR}/test.sh ${D}${PTEST_PATH}
76*4882a593Smuzhiyun}
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunPACKAGES += "guards guards-doc"
79*4882a593Smuzhiyun
80*4882a593SmuzhiyunFILES:${PN} = "${sysconfdir} ${datadir}/quilt \
81*4882a593Smuzhiyun               ${bindir}/quilt ${libdir}/quilt"
82*4882a593SmuzhiyunFILES:guards = "${bindir}/guards"
83*4882a593SmuzhiyunFILES:${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${BPN}"
84*4882a593SmuzhiyunFILES:guards-doc = "${mandir}/man1/guards.1"
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunRDEPENDS:${PN} = "bash patch diffstat bzip2 util-linux less"
87*4882a593SmuzhiyunRDEPENDS:${PN}:class-native = "diffstat-native patch-native bzip2-native"
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunRDEPENDS:${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
90*4882a593Smuzhiyun                        perl-module-filehandle perl-module-getopt-std \
91*4882a593Smuzhiyun                        perl-module-posix perl-module-file-temp \
92*4882a593Smuzhiyun                        perl-module-text-parsewords perl-module-overloading \
93*4882a593Smuzhiyun                        bash util-linux-getopt patch \
94*4882a593Smuzhiyun                       "
95