Skip to content

Commit

Permalink
FL-194: add new debian-sources with mdadm
Browse files Browse the repository at this point in the history
FL-327: add updated dhcpcd
  • Loading branch information
Oleg Vinichenko committed Jan 15, 2013
1 parent ad2c2f6 commit d591f53
Show file tree
Hide file tree
Showing 4 changed files with 206 additions and 24 deletions.
4 changes: 2 additions & 2 deletions net-misc/dhcpcd/Manifest
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
DIST dhcpcd-5.2.12.tar.bz2 72177 SHA256 55da7dcf64cd3dda5217d0e01748a3d980ab0cd625bae0efc00420eadd7f559b
DIST dhcpcd-5.5.4.tar.bz2 77349 SHA256 a6827dc8319b979d8ba865ef84b9c0cdc453b133ae60783a4d622ea313aa17fe
DIST dhcpcd-5.5.5.tar.bz2 77974 SHA256 68920441d389b456a9ce052ae885fc17c9a82cc989d12b2c550b82e977bf3e2b
DIST dhcpcd-5.5.6.tar.bz2 78185 SHA256 657f10dc7de48cba9f7170b593bf0e11987d06bd12378e3f4cd01b9e99b1e8e7
DIST dhcpcd-5.5.6.tar.bz2 78185 SHA256 657f10dc7de48cba9f7170b593bf0e11987d06bd12378e3f4cd01b9e99b1e8e7 SHA512 3b6e2c953df7281a716982ecc1c0afb7bf912eedabf4592beb6b52462f663a36fcaa2cbf1cb4c7d136d0e3d146a1b774ec5d9386132c4336857d4ecd0c425a3b WHIRLPOOL ab9d82c2f0d74f26809e0e9ae69649962433d7a5644abc7492706bea6172a81e5f877df7ca86dcd1d19c6182d7d9521daee2d24a03bb23a13bb9aa93b7d80bc2
DIST dhcpcd-5.6.6.tar.bz2 85958 SHA256 dada838c4494864a901525dce9a0d204d94d830d9b7e4173b75692ce71c97e41 SHA512 55e5d8a818c421118c62fcea1cb259f15c8bafbb79f5d9b9d14c4099474fe25489189caa1025f2e07cd3a7446a794b4c757d9a28bea2c3e9bc1bc588d3d5e8dd WHIRLPOOL 0d2772216fbc964b0dc815c9e9a84eb5ca74bd690fc98b1eea0e1792a6e217311fcf407ff293a381c3875ad88a46eaaf446dcabf1d5e110ae9d2f5b5890155f4
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
# Distributed under the terms of the GNU General Public License v2

EAPI=1
EAPI=4

inherit eutils
inherit eutils systemd

MY_P="${P/_alpha/-alpha}"
MY_P="${MY_P/_beta/-beta}"
MY_P="${MY_P/_rc/-rc}"
S="${WORKDIR}/${MY_P}"

DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
HOMEPAGE="http://roy.marples.name/projects/dhcpcd/"
SRC_URI="http://roy.marples.name/downloads/${PN}/${P}.tar.bz2"
SRC_URI="http://roy.marples.name/downloads/${PN}/${MY_P}.tar.bz2"
LICENSE="BSD-2"

KEYWORDS="*"

SLOT="0"
IUSE="+zeroconf elibc_glibc"

DEPEND=">sys-apps/openrc-0.6.0"
RDEPEND=""
PROVIDE="virtual/dhcpc"
DEPEND=""
RDEPEND="!<sys-apps/openrc-0.6.0"

src_unpack() {
unpack ${A}
cd "${S}"
pkg_setup() {
unset PREFIX #358167
}

src_prepare() {
if ! use zeroconf; then
elog "Disabling zeroconf support"
{
Expand All @@ -32,18 +37,26 @@ src_unpack() {
fi
}

src_compile() {
src_configure() {
local hooks="--with-hook=ntp.conf"
use elibc_glibc && hooks="${hooks} --with-hook=yp.conf"
econf --prefix= --libexecdir=/$(get_libdir)/dhcpcd --dbdir=/var/lib/dhcpcd \
--localstatedir=/var ${hooks}
emake || die
econf \
--prefix="${EPREFIX}" \
--libexecdir="${EPREFIX}/$(get_libdir)/dhcpcd" \
--dbdir="${EPREFIX}/var/lib/dhcpcd" \
--localstatedir="${EPREFIX}/var" \
${hooks}
}

src_compile() {
emake
}

src_install() {
emake DESTDIR="${D}" install || die
dodoc README || die
emake DESTDIR="${D}" install
dodoc README
newinitd "${FILESDIR}"/${PN}.initd-r3 ${PN}
systemd_dounit "${FILESDIR}"/${PN}.service || die
}

pkg_postinst() {
Expand All @@ -68,9 +81,13 @@ pkg_postinst() {
elog "See the dhcpcd man page for more details."
fi

elog "Please note that this version of dhcpcd's initscript does not provide"
elog "'net'. This means that if you would like dhcpcd to start at boot, you"
elog "need to add it to the proper runlevel by typing something like:"
elog
elog "rc-update add dhcpcd default"
# Mea culpa, feel free to remove that after some time --mgorny.
if [[ -e "${ROOT}"/etc/systemd/system/network.target.wants/${PN}.service ]]
then
ebegin "Moving ${PN}.service to multi-user.target"
mv "${ROOT}"/etc/systemd/system/network.target.wants/${PN}.service \
"${ROOT}"/etc/systemd/system/multi-user.target.wants/
eend ${?} \
"Please try to re-enable dhcpcd.service"
fi
}
6 changes: 4 additions & 2 deletions sys-kernel/debian-sources/Manifest
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
DIST linux_3.2.23-1.debian.tar.xz 2561508 SHA256 08e33d451e0ed459322962ba998433e9a092fdd5ff00682f6862189a348179d3
DIST linux_3.2.23.orig.tar.xz 65708296 SHA256 43f3e5e66e3808eedf9291a50d8f3ce8416188c554b4f12241421381a92a0c07
DIST linux_3.2.29-1.debian.tar.xz 955952 RMD160 4f096843fd0409d2527c6bf2192d359b2c7df7f3 SHA1 dbe3cefb148f987915cb523730a52bb2690a3727 SHA256 b421f738632fd0b85c6686313daea7e8cebd4d218af4f92a4e6327449d51f4d6
DIST linux_3.2.29.orig.tar.xz 65725120 RMD160 29ef7157b09fd805977cce1bd78122da8f264bdf SHA1 a23d68cbe7f0877b6e64fc051a026ab47f71976b SHA256 e9fdd2a7f774188974f5e74a68a112e563763e0c83db7a8411d5d3bb4bee1213
DIST linux_3.2.29-1.debian.tar.xz 955952 SHA256 b421f738632fd0b85c6686313daea7e8cebd4d218af4f92a4e6327449d51f4d6
DIST linux_3.2.29.orig.tar.xz 65725120 SHA256 e9fdd2a7f774188974f5e74a68a112e563763e0c83db7a8411d5d3bb4bee1213
DIST linux_3.2.35-2.debian.tar.xz 2483540 SHA256 8ae153d652cb0a870128d202fe6cd93d89f2c70996217355ca5681b62cce37fb SHA512 b2e6e0fcbac4e2b4a0cfc958535c13f22a20387b557995e7e036b79f6d29061fbe79eddfc5de1e3abe200b4c765637b19773ab8e5c61f3842c449a3dc3a49f85 WHIRLPOOL 8b30cadfcdaad17fc73d9fb567c3f68abac0f9b4ae778ed500bd601edda654c3ba6dd498f6b7df77ab4ae55f5c2b8475134b39cef7ee818872dd19b915f6dd0d
DIST linux_3.2.35.orig.tar.xz 65831540 SHA256 ea4c76c3820f9d7a07c7beb9f631a07d04613908c5f670afa200d677fd5f8538 SHA512 f2f931dc1169af7b19d4b9e88935297ee72b173b4fc946a8932f8599bb43164c23f7de4da2468319fa5991de7347b93c1b4a5a727c5d0b98db68e535cc1cedbe WHIRLPOOL 9c4e901c93e89bdbc4da45391a830f90839164cd3a565a7e836d121a5fe879b1611e7993a7061037caa5639c00fd0de98963934615cefb897895171668aa0641
163 changes: 163 additions & 0 deletions sys-kernel/debian-sources/debian-sources-3.2.35.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# Distributed under the terms of the GNU General Public License v2

EAPI=3

inherit eutils mount-boot

SLOT=$PVR
CKV=3.2.35
KV_FULL=${PN}-${PVR}
EXTRAVERSION=-2
KERNEL_ARCHIVE="linux_${PV}.orig.tar.xz"
PATCH_ARCHIVE="linux_${PV}${EXTRAVERSION}.debian.tar.xz"
RESTRICT="binchecks strip mirror"
# based on : http://packages.ubuntu.com/maverick/linux-image-2.6.35-22-server
LICENSE="GPL-2"
KEYWORDS="~*"
IUSE="binary rt"
DEPEND="binary? ( >=sys-kernel/genkernel-3.4.40-r2 )"
RDEPEND="binary? ( || ( >=sys-fs/udev-160 >=virtual/udev-171 ) )"
DESCRIPTION="Debian Sources (and optional binary kernel)"
HOMEPAGE="http://www.debian.org"
MAINPATCH="linux-2.6_${PV}${EXTRAVERSION}.diff.gz"
SRC_URI="http://www.funtoo.org/distfiles/${KERNEL_ARCHIVE}
http://www.funtoo.org/distfiles/${PATCH_ARCHIVE}"
S="$WORKDIR/linux-${CKV}"

apply() {
p=$1; shift
case "${p##*.}" in
gz)
ca="gzip -dc"
;;
bz2)
ca="bzip2 -dc"
;;
xz)
ca="xz -dc"
;;
*)
ca="cat"
;;
esac
[ ! -e $p ] && die "patch $p not found"
echo "Applying patch $p"; $ca $p | patch $* || die "patch $p failed"
}

get_patch_list() {
[[ -z "${1}" ]] && die "No patch series file specified"
local patch_series="${1}"
while read line ; do
if [[ "${line:0:1}" != "#" ]] ; then
echo "${line}"
fi
done < "${patch_series}"
}

pkg_setup() {
export REAL_ARCH="$ARCH"
unset ARCH; unset LDFLAGS #will interfere with Makefile if set
}

src_prepare() {

cd ${S}
for debpatch in $( get_patch_list "${WORKDIR}/debian/patches/series" ); do
epatch -p1 "${WORKDIR}/debian/patches/${debpatch}"
done

if use rt ; then
for rtpatch in $( get_patch_list "${WORKDIR}/debian/patches/series-rt" ) ; do
epatch -p1 "${WORKDIR}/debian/patches/${rtpatch}"
done
fi

# end of debian-specific stuff...

sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${EXTRAVERSION}:" Makefile || die
sed -i -e 's:#export\tINSTALL_PATH:export\tINSTALL_PATH:' Makefile || die
rm -f .config >/dev/null
cp -a "${WORKDIR}"/debian "${T}"
make -s mrproper || die "make mrproper failed"
make -s include/linux/version.h || die "make include/linux/version.h failed"
cd ${S}
cp -aR "${WORKDIR}"/debian "${S}"/debian
local opts
use rt && opts="rt" || opts="standard"
local myarch="amd64"
[ "$REAL_ARCH" = "x86" ] && myarch="i386" && opts="$opts 686-pae"
cp ${FILESDIR}/config-extract . || die
chmod +x config-extract || die
./config-extract ${myarch} ${opts} || die
cp .config ${T}/config || die
make -s mrproper || die "make mrproper failed"
make -s include/linux/version.h || die "make include/linux/version.h failed"
}

src_compile() {
! use binary && return
install -d ${WORKDIR}/out/{lib,boot}
install -d ${T}/{cache,twork}
install -d $WORKDIR/build $WORKDIR/out/lib/firmware
genkernel \
--no-save-config \
--kernel-config="$T/config" \
--kernname="${PN}" \
--build-src="$S" \
--build-dst=${WORKDIR}/build \
--makeopts="${MAKEOPTS}" \
--firmware-dst=${WORKDIR}/out/lib/firmware \
--cachedir="${T}/cache" \
--tempdir="${T}/twork" \
--logfile="${WORKDIR}/genkernel.log" \
--bootdir="${WORKDIR}/out/boot" \
--lvm \
--luks \
--mdadm \
--iscsi \
--module-prefix="${WORKDIR}/out" \
all || die "genkernel failed"
}

src_install() {
# copy sources into place:
dodir /usr/src
cp -a ${S} ${D}/usr/src/linux-${P} || die
cd ${D}/usr/src/linux-${P}
# prepare for real-world use and 3rd-party module building:
make mrproper || die
cp ${T}/config .config || die
cp -a ${T}/debian debian || die
yes "" | make oldconfig || die
# if we didn't use genkernel, we're done. The kernel source tree is left in
# an unconfigured state - you can't compile 3rd-party modules against it yet.
use binary || return
make prepare || die
make scripts || die
# OK, now the source tree is configured to allow 3rd-party modules to be
# built against it, since we want that to work since we have a binary kernel
# built.
cp -a ${WORKDIR}/out/* ${D}/ || die "couldn't copy output files into place"
# module symlink fixup:
rm -f ${D}/lib/modules/*/source || die
rm -f ${D}/lib/modules/*/build || die
cd ${D}/lib/modules
# module strip:
find -iname *.ko -exec strip --strip-debug {} \;
# back to the symlink fixup:
local moddir="$(ls -d [23]*)"
ln -s /usr/src/linux-${P} ${D}/lib/modules/${moddir}/source || die
ln -s /usr/src/linux-${P} ${D}/lib/modules/${moddir}/build || die

# Fixes FL-14
cp "${WORKDIR}/build/System.map" "${D}/usr/src/linux-${P}/" || die
cp "${WORKDIR}/build/Module.symvers" "${D}/usr/src/linux-${P}/" || die

}

pkg_postinst() {
if [ ! -e ${ROOT}usr/src/linux ]
then
ln -s linux-${P} ${ROOT}usr/src/linux
fi
}

0 comments on commit d591f53

Please sign in to comment.