FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 12-04-2007, 05:52 PM
Donnie Berkholz
 
Default gentoo-x86 commit in eclass: rox-0install.eclass

On 17:07 Tue 04 Dec , Jim Ramsay (lack) wrote:
> Revision Changes Path
> 1.1 eclass/rox-0install.eclass
>
> file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/rox-0install.eclass?rev=1.1&view=markup
> plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/rox-0install.eclass?rev=1.1&content-type=text/plain

I don't remember this going by gentoo-dev. Always send eclasses to
gentoo-dev before committing them.

> Index: rox-0install.eclass
> ================================================== =================
> # Copyright 1999-2004 Gentoo Foundation
> # Distributed under the terms of the GNU General Public License v2
> # $Header: /var/cvsroot/gentoo-x86/eclass/rox-0install.eclass,v 1.1 2007/12/04 17:07:52 lack Exp $
>
> # ROX-0install eclass Version 1
>
> # Created by Jim Ramsay (lack@gentoo.org) to ease installation of ROX desktop
> # applications and integrate this with zeroinstall-injector
> # (http://0install.net)
>
> # These variables are only used inside functions, and so may be set anywhere in
> # the ebuild:
> #
> # ZEROINSTALL_STRIP_REQUIRES - this flag, if set, will force the local
> # zeroinstall feed to have all its 'requires' directives stripped out
> # LOCAL_FEED_SRC - The ebuild-supplied native feed, for those packages which do
> # not already contain one. By default we check for ${APPNAME}.xml and
> # ${APPNAME}/${APPNAME}.xml
>
> # This is an extension of rox.eclass
> inherit rox
>
> DEPEND="${DEPEND}
> rox-base/zeroinstall-injector"
>
> # Some locations for ZEROINSTALL
> NATIVE_FEED_DIR="/usr/share/0install.net/native_feeds"
> ICON_CACHE_DIR="/var/cache/0install.net/interface_icons"
>
> # Does all the 0install local feed magic you could want:
> # - Parses the input file to get the interface URI
> # - Edits the input file and installs it to the final location
> # - Installs a local feed pointer
> #
> # Environment variables:
> # ZEROINSTALL_STRIP_REQUIRES - If set, strips all 'requires' sections from the XML
> # on editing. Default: Not set
> #
> # 0install_native_feed <src> <destpath>
> # src - The XML file we will edit, install, and point at
> # path - The path where the implementation will be installed
> # IE, the final edited xml will be at <path>/<basename of src>
> 0install_native_feed() {
> local src="${1}"; shift
> local path="${1}"; shift

This is a rather strange paradigm to me, instead of:

local src=$1 path=$2
shift 2

> local feedfile=$(basename "${src}")

You could do this in pure bash, although it doesn't really matter:

local feedfile=${src##*/}

> local dest="${path}/$feedfile"

How do you decide when not to use braces { } around variables?

> 0distutils "${src}" > tmp.native_feed || die "0distutils feed edit failed"
>
> if [[ ${ZEROINSTALL_STRIP_REQUIRES} ]]; then
> # Strip out all 'requires' sections
> sed -i -e '/<requires.*/>/d'
> -e '/<requires.*>/,/</requires>/d' tmp.native_feed

What happens if the contents of a <requires> section are on a separate
line? Is this a concern?

> fi
>
> (
> insinto ${path}
> newins tmp.native_feed ${feedfile}
> )
>
> local feedname

You could just declare feedname local and set it in the same line.

> feedname=$(0distutils -e "${src}") || "0distutils URI escape failed"

What's the || doing? You've got a string sitting there. Is 'die'
missing?

> dosym "${dest}" "${NATIVE_FEED_DIR}/${feedname}"
>
> local cachedname
> cachedname=$(0distutils -c "${src}") || "0distutils URI escape failed"

Same questions.

> dosym "${path}/.DirIcon" "${ICON_CACHE_DIR}/${cachedname}"
> }
>
> # Exported functions
> rox-0install_src_install() {
> # First do the regular Rox install
> rox_src_install
>
> # Now search for the feed, and install it if found.
> local search_list="${LOCAL_FEED_SRC} ${APPNAME}/${APPNAME}.xml ${APPNAME}.xml"
> local installed=false
> for feed in ${search_list}; do
> if [[ -f "${feed}" ]]; then
> 0install_native_feed "${feed}" "${APPDIR}/${APPNAME}"
> installed=true
> break
> fi
> done
>
> if ! $installed; then

This is kind of a weird way to do it. I'd check instead for
[[ -n ${installed} ]] and initialize it to empty.

> ewarn "No native feed found - This application will not be found by 0launch."
> fi
> }
>
> EXPORT_FUNCTIONS src_install

Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list
 
Old 12-04-2007, 10:17 PM
Donnie Berkholz
 
Default gentoo-x86 commit in eclass: rox-0install.eclass

On 21:24 Tue 04 Dec , Jim Ramsay wrote:
> I'll be committing these changes right away, since the "die" ones
> at least are very important. But I'll be submitting further
> changes to the list first. Sorry about that
>
> Luckily only 1 ebuild so far which uses this eclass has actually
> hit the tree!

No need to submit all your eclass diffs; that rule is just for addition
of new eclasses, since they're kind of hard to remove.

Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list
 

Thread Tools




All times are GMT. The time now is 01:18 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org