Use https by default
[gentoo.git] / sys-kernel / genkernel / genkernel-9999.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 # genkernel-9999        -> latest Git branch "master"
6 # genkernel-VERSION     -> normal genkernel release
7
8 EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12
9
10 VERSION_BUSYBOX='1.20.2'
11 VERSION_DMRAID='1.0.0.rc16-3'
12 VERSION_MDADM='3.1.5'
13 VERSION_FUSE='2.8.6'
14 VERSION_ISCSI='2.0-872'
15 VERSION_LVM='2.02.88'
16 VERSION_UNIONFS_FUSE='0.24'
17 VERSION_GPG='1.4.11'
18
19 RH_HOME="ftp://sources.redhat.com/pub"
20 DM_HOME="http://people.redhat.com/~heinzm/sw/dmraid/src"
21 BB_HOME="http://www.busybox.net/downloads"
22
23 COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2
24                 ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2
25                 mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.bz2
26                 ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz
27                 ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz
28                 ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2
29                 http://www.open-iscsi.org/bits/open-iscsi-${VERSION_ISCSI}.tar.gz
30                 mirror://sourceforge/fuse/fuse-${VERSION_FUSE}.tar.gz
31                 http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.bz2
32                 mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2"
33
34 if [[ ${PV} == 9999* ]]
35 then
36         EGIT_REPO_URI="git://anongit.gentoo.org/proj/${PN}.git
37                 http://anongit.gentoo.org/git/proj/${PN}.git"
38         inherit git-2 bash-completion-r1 eutils
39         S="${WORKDIR}/${PN}"
40         SRC_URI="${COMMON_URI}"
41         KEYWORDS=""
42 else
43         inherit bash-completion-r1 eutils
44         SRC_URI="mirror://gentoo/${P}.tar.bz2
45                 ${COMMON_URI}"
46         KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
47 fi
48
49 DESCRIPTION="Gentoo automatic kernel building scripts"
50 HOMEPAGE="https://www.gentoo.org"
51
52 LICENSE="GPL-2"
53 SLOT="0"
54 RESTRICT=""
55 IUSE="cryptsetup ibm selinux"
56
57 DEPEND="sys-fs/e2fsprogs
58         selinux? ( sys-libs/libselinux )"
59 RDEPEND="${DEPEND}
60         cryptsetup? ( sys-fs/cryptsetup )
61         app-arch/cpio
62         >=app-misc/pax-utils-0.2.1
63         !<sys-apps/openrc-0.9.9"
64 # pax-utils is used for lddtree
65
66 if [[ ${PV} == 9999* ]]; then
67         DEPEND="${DEPEND} app-text/asciidoc"
68 fi
69
70 pkg_pretend() {
71         if ! use cryptsetup && has_version "sys-kernel/genkernel[crypt]"; then
72                 ewarn "Local use flag 'crypt' has been renamed to 'cryptsetup' (bug #414523)."
73                 ewarn "Please set flag 'cryptsetup' for this very package if you would like"
74                 ewarn "to have genkernel create an initramfs with LUKS support."
75                 ewarn "Sorry for the inconvenience."
76                 echo
77         fi
78 }
79
80 src_unpack() {
81         if [[ ${PV} == 9999* ]] ; then
82                 git-2_src_unpack
83         else
84                 unpack ${P}.tar.xz
85         fi
86 }
87
88 src_prepare() {
89         if [[ ${PV} == 9999* ]] ; then
90                 einfo "Producing ChangeLog from Git history..."
91                 pushd "${S}/.git" >/dev/null || die
92                 git log > "${S}"/ChangeLog || die
93                 popd >/dev/null || die
94         fi
95         if use selinux ; then
96                 sed -i 's/###//g' "${S}"/gen_compile.sh || die
97         fi
98
99         # Update software.sh
100         sed -i \
101                 -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \
102                 -e "s:VERSION_MDADM:$VERSION_MDADM:" \
103                 -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \
104                 -e "s:VERSION_FUSE:$VERSION_FUSE:" \
105                 -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \
106                 -e "s:VERSION_LVM:$VERSION_LVM:" \
107                 -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \
108                 -e "s:VERSION_GPG:$VERSION_GPG:" \
109                 "${S}"/defaults/software.sh \
110                 || die "Could not adjust versions"
111
112         epatch_user
113 }
114
115 src_compile() {
116         if [[ ${PV} == 9999* ]]; then
117                 emake
118         fi
119 }
120
121 src_install() {
122         insinto /etc
123         doins "${S}"/genkernel.conf
124
125         doman genkernel.8
126         dodoc AUTHORS ChangeLog README TODO
127         dobin genkernel
128         rm -f genkernel genkernel.8 AUTHORS ChangeLog README TODO genkernel.conf
129
130         if use ibm ; then
131                 cp "${S}"/arch/ppc64/kernel-2.6{-pSeries,} || die
132         else
133                 cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die
134         fi
135         insinto /usr/share/genkernel
136         doins -r "${S}"/*
137
138         newbashcomp "${FILESDIR}"/genkernel.bash "${PN}"
139         insinto /etc
140         doins "${FILESDIR}"/initramfs.mounts
141
142         cd "${DISTDIR}"
143         insinto /usr/share/genkernel/distfiles
144         doins ${A/${P}.tar.xz/}
145 }
146
147 pkg_postinst() {
148         echo
149         elog 'Documentation is available in the genkernel manual page'
150         elog 'as well as the following URL:'
151         echo
152         elog 'https://www.gentoo.org/doc/en/genkernel.xml'
153         echo
154         ewarn "This package is known to not work with reiser4.  If you are running"
155         ewarn "reiser4 and have a problem, do not file a bug.  We know it does not"
156         ewarn "work and we don't plan on fixing it since reiser4 is the one that is"
157         ewarn "broken in this regard.  Try using a sane filesystem like ext4."
158         echo
159         ewarn "The LUKS support has changed from versions prior to 3.4.4.  Now,"
160         ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah."
161         echo
162 }