perl-functions.eclass: should 'just work' in EAPI=6
[gentoo.git] / eclass / obs-download.eclass
1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 # @ECLASS: obs-download.eclass
6 # @MAINTAINER:
7 # suse@gentoo.org
8 # @BLURB: Simplifies downloading from openSUSE Build Service.
9 # @DESCRIPTION:
10 # This eclass constructs OBS_URI based on provided project in openSUSE Build
11 # Service and package name. It can be used by packages/eclasses to download
12 # actual files.
13 #
14 # All you need to do in order to use it is set OBS_PROJECT and OBS_PACKAGE and
15 # inherit this eclass. It will provide OBS_URI in return which you will prepend
16 # to your files and use it in SRC_URI. Alternatively you can just set
17 # OPENSUSE_RELEASE and OBS_PACKAGE and it will give you back OBS_URI for
18 # downloading files from obs project corresponding to the specified openSUSE
19 # release.
20
21 # @ECLASS-VARIABLE: OPENSUSE_RELEASE
22 # @DEFAULT_UNSET
23 # @DESCRIPTION:
24 # From which openSUSE realease to take files.
25 # Eg.: 12.1, 12.2, Factory
26
27 # @ECLASS-VARIABLE: OBS_PROJECT
28 # @DEFAULT_UNSET
29 # @DESCRIPTION:
30 # In which obs project pakage is.
31 # This variable does not have to be set and is overriden, if
32 # OPENSUSE_RELEASE is provided.
33
34 # @ECLASS-VARIABLE: OBS_PACKAGE
35 # @DESCRIPTION:
36 # Name of the package we want to take files from.
37 # By default taken from ${PN}.
38
39 [[ -z ${OPENSUSE_RELEASE} ]] || OBS_PROJECT="openSUSE:${OPENSUSE_RELEASE}"
40 [[ -n ${OBS_PROJECT} ]]      || die "OBS_PROJECT not set!"
41 [[ -n ${OBS_PACKAGE} ]]      || OBS_PACKAGE="${PN}"
42
43 OBS_URI="https://api.opensuse.org/public/source/${OBS_PROJECT}/${OBS_PACKAGE}"