[oe] [meta-oe][PATCH] vim: add recipe for vim-tiny

Martin Jansa martin.jansa at gmail.com
Wed Oct 15 10:38:18 UTC 2014


On Wed, Oct 15, 2014 at 05:53:31AM -0400, jackie.huang at windriver.com wrote:
> From: Jackie Huang <jackie.huang at windriver.com>
> 
> Changes:
> - split the vim recipe to two files
> - add bb for vim-tiny based on PACKAGECONFIG defined in .inc file
> - use trim_version to get VIMDIR

If you really want to revert following 2 patches, then you need to provide
more justifications for your patch and also confirm that the recipes don't
stage conflicting files in sysroot anymore (I don't see any change in recipe
preventing that).


commit 72a1427f116cbb516aeced7931aedc891865bac7
Author: Martin Jansa <Martin.Jansa at gmail.com>
Date:   Mon Jan 28 12:38:19 2013 +0100

    vim: implement gvim, vim-tiny as PACKAGECONFIG
    
    * only one of those should be built in sysroot, otherwise they were
      overwritting files provided by other alternatives
    * define PACKAGECONFIG options
    * there are no RCONFLICTS/RREPLACES/RPROVIDES, because it depends on
      selected PACKAGECONFIGs
    * add PN to VIMDIR and use VIMDIR where undefined VIMVER was
      (e.g. "${PN}${VIMVER}")
    * move checksums from .inc to recipe
    * vim/gvim/vim-tiny conflict is now fatal, with
      http://patches.openembedded.org/patch/43105/
    
    Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

and

commit 7be78a939bde5228a7f92a58ac08dd10901a8a4f
Author: Paul Barker <paul at paulbarker.me.uk>
Date:   Fri Sep 13 20:08:22 2013 +0000

    vim: upgrade to v7.4.27 and refactor
    
    'vim.inc' is merged into the new recipe 'vim_7.4.27.bb', the recipe is slightly
    reorganised and a minor omission in the comments is corrected.
    
    DESCRIPTION is replaced with SUMMARY. PR and INC_PR values are dropped. The
    variable PV_MAJOR is also dropped as it isn't used.
    
    LIC_FILES_CHECKSUM is updated as an address and version number given in the
    license have been modified. The main license text itself is unchanged.
    
    The setting of PARALLEL_MAKE to force single-threaded compilation is removed as
    there is no justification in the git history for this being needed and the
    compilation completes fine without it.
    
    Signed-off-by: Paul Barker <paul at paulbarker.me.uk>
    Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

> 
> Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> ---
>  meta-oe/recipes-support/vim/vim-tiny_7.4.373.bb | 15 ++++++
>  meta-oe/recipes-support/vim/vim.inc             | 65 ++++++++++++++++++++++
>  meta-oe/recipes-support/vim/vim_7.4.373.bb      | 71 ++-----------------------
>  3 files changed, 85 insertions(+), 66 deletions(-)
>  create mode 100644 meta-oe/recipes-support/vim/vim-tiny_7.4.373.bb
>  create mode 100644 meta-oe/recipes-support/vim/vim.inc
> 
> diff --git a/meta-oe/recipes-support/vim/vim-tiny_7.4.373.bb b/meta-oe/recipes-support/vim/vim-tiny_7.4.373.bb
> new file mode 100644
> index 0000000..f77a717
> --- /dev/null
> +++ b/meta-oe/recipes-support/vim/vim-tiny_7.4.373.bb
> @@ -0,0 +1,15 @@
> +require vim.inc
> +
> +PACKAGECONFIG += "tiny"
> +
> +do_install() {
> +    install -d ${D}/${base_bindir}
> +    install -m 0755 ${S}/vim ${D}/${base_bindir}/${BPN}
> +    install -d ${D}/${datadir}/vim
> +    install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/vim/virc
> +}
> +
> +FILES_${PN} += "${datadir}/vim/virc"
> +
> +ALTERNATIVE_PRIORITY = "90"
> +ALTERNATIVE_TARGET = "${base_bindir}/${BPN}"
> diff --git a/meta-oe/recipes-support/vim/vim.inc b/meta-oe/recipes-support/vim/vim.inc
> new file mode 100644
> index 0000000..8729ee1
> --- /dev/null
> +++ b/meta-oe/recipes-support/vim/vim.inc
> @@ -0,0 +1,65 @@
> +SUMMARY = "Vi IMproved - enhanced vi editor"
> +SECTION = "console/utils"
> +DEPENDS = "ncurses gettext-native"
> +# vimdiff doesn't like busybox diff
> +RSUGGESTS_${PN} = "diffutils"
> +LICENSE = "vim"
> +LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=b779e18be6ed77facc770691c967b8f8"
> +
> +SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim \
> +           file://disable_acl_header_check.patch;patchdir=.. \
> +           file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
> +"
> +SRCREV = "v${@d.getVar('PV', True).replace('.', '-')}"
> +
> +S = "${WORKDIR}/vim/src"
> +
> +VIMDIR = "vim${@oe.utils.trim_version('${PV}', 2).replace('.', '')}"
> +
> +inherit autotools update-alternatives
> +inherit autotools-brokensep
> +
> +# vim configure.in contains functions which got 'dropped' by autotools.bbclass
> +do_configure () {
> +    rm -f auto/*
> +    touch auto/config.mk
> +    aclocal
> +    autoconf
> +    oe_runconf
> +    touch auto/configure
> +    touch auto/config.mk auto/config.h
> +}
> +
> +#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
> +PACKAGECONFIG ??= ""
> +PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
> +PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
> +
> +PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
> +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
> +PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
> +PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
> +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
> +PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
> +
> +EXTRA_OECONF = " \
> +    --disable-gpm \
> +    --disable-gtktest \
> +    --disable-xim \
> +    --disable-netbeans \
> +    --with-tlib=ncurses \
> +    ac_cv_small_wchar_t=no \
> +    vim_cv_getcwd_broken=no \
> +    vim_cv_memmove_handles_overlap=yes \
> +    vim_cv_stat_ignores_slash=no \
> +    vim_cv_terminfo=yes \
> +    vim_cv_tgent=non-zero \
> +    vim_cv_toupper_broken=no \
> +    vim_cv_tty_group=world \
> +    STRIP=/bin/true \
> +"
> +
> +PARALLEL_MAKEINST = ""
> +
> +ALTERNATIVE_${PN} = "vi"
> +ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
> diff --git a/meta-oe/recipes-support/vim/vim_7.4.373.bb b/meta-oe/recipes-support/vim/vim_7.4.373.bb
> index 81c0ddf..28e46c5 100644
> --- a/meta-oe/recipes-support/vim/vim_7.4.373.bb
> +++ b/meta-oe/recipes-support/vim/vim_7.4.373.bb
> @@ -1,63 +1,4 @@
> -SUMMARY = "Vi IMproved - enhanced vi editor"
> -SECTION = "console/utils"
> -DEPENDS = "ncurses gettext-native"
> -# vimdiff doesn't like busybox diff
> -RSUGGESTS_${PN} = "diffutils"
> -LICENSE = "vim"
> -LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=b779e18be6ed77facc770691c967b8f8"
> -
> -SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim \
> -           file://disable_acl_header_check.patch;patchdir=.. \
> -           file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \
> -"
> -SRCREV = "v7-4-373"
> -
> -S = "${WORKDIR}/${BPN}/src"
> -
> -VIMDIR = "${BPN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
> -
> -inherit autotools update-alternatives
> -inherit autotools-brokensep
> -
> -# vim configure.in contains functions which got 'dropped' by autotools.bbclass
> -do_configure () {
> -    rm -f auto/*
> -    touch auto/config.mk
> -    aclocal
> -    autoconf
> -    oe_runconf
> -    touch auto/configure
> -    touch auto/config.mk auto/config.h
> -}
> -
> -#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
> -PACKAGECONFIG ??= ""
> -PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
> -PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
> -
> -PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
> -PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
> -PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
> -PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
> -PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
> -PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
> -
> -EXTRA_OECONF = " \
> -    --disable-gpm \
> -    --disable-gtktest \
> -    --disable-xim \
> -    --disable-netbeans \
> -    --with-tlib=ncurses \
> -    ac_cv_small_wchar_t=no \
> -    vim_cv_getcwd_broken=no \
> -    vim_cv_memmove_handles_overlap=yes \
> -    vim_cv_stat_ignores_slash=no \
> -    vim_cv_terminfo=yes \
> -    vim_cv_tgent=non-zero \
> -    vim_cv_toupper_broken=no \
> -    vim_cv_tty_group=world \
> -    STRIP=/bin/true \
> -"
> +require vim.inc
>  
>  do_install_append() {
>      # Work around rpm picking up csh or awk or perl as a dep
> @@ -69,8 +10,6 @@ do_install_append() {
>      install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc
>  }
>  
> -PARALLEL_MAKEINST = ""
> -
>  PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc"
>  FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
>  FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
> @@ -96,7 +35,7 @@ FILES_${PN}-common = " \
>  # Recommend that runtime data is installed along with vim
>  RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
>  
> -ALTERNATIVE_${PN} = "vi"
> -ALTERNATIVE_TARGET[vi] = "${bindir}/${BPN}"
> -ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
> -ALTERNATIVE_PRIORITY[vi] = "100"
> +RREPLACES_${PN} = "vim-tiny"
> +
> +ALTERNATIVE_PRIORITY = "100"
> +ALTERNATIVE_TARGET = "${bindir}/${BPN}"
> -- 
> 2.0.0
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20141015/04e37e15/attachment-0002.sig>


More information about the Openembedded-devel mailing list