blob: bfd502868d28cbeb03f7c7b465d361c89fbf7094 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.12b-r1.ebuild,v 1.1 2004/10/30 21:42:11 vapier Exp $
inherit eutils flag-o-matic
CRYPT_PATCH_P="${PN}-2.12b-cryptoapi-losetup"
DESCRIPTION="Various useful Linux utilities"
HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/"
SRC_URI="mirror://kernel/linux/utils/${PN}/${P}.tar.gz
ftp://ftp.cwi.nl/pub/aeb/${PN}/${P}.tar.gz
crypt? ( mirror://gentoo/${CRYPT_PATCH_P}.patch.bz2 )"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
IUSE="crypt nls static pam selinux uclibc"
DEPEND="virtual/libc
>=sys-apps/sed-4.0.5
>=sys-libs/ncurses-5.2-r2
>=sys-fs/e2fsprogs-1.34
selinux? ( sys-libs/libselinux )
pam? ( sys-apps/pam-login )
crypt? ( app-crypt/hashalot )"
# We need perl because one script ( chkdupexe ) is
# written in frickin perl; otherwise we dont need it ...
RDEPEND="${DEPEND}
dev-lang/perl
nls? ( sys-devel/gettext )"
src_unpack() {
unpack ${A}
cd ${S}
# CryptoAPI losetup patch for the cryptoapi sepecific
# to the 2.6 linux kernel. Needs hashalot.
# Original patch location:
# http://www.stwing.org/~sluskyb/util-linux/losetup-combined.patch
# Mailing list post with info:
# http://www.kerneli.org/pipermail/cryptoapi-devel/2003-September/000634.html
# Follow thread for usage.
use crypt && epatch ${DISTDIR}/${CRYPT_PATCH_P}.patch.bz2
# Fix rare failures with -j4 or higher
epatch ${FILESDIR}/${PN}-2.11z-parallel-make.patch
# Fix unreadable df output
epatch ${FILESDIR}/no-symlink-resolve.patch
# access() is a macro which uses R_OK however
# R_OK is not defined on sparc during a bootstrap
# unless we actually include unistd.h -solar (May 07 2004)
epatch ${FILESDIR}/${PN}-2.12-swapon-unistd.patch
# Add the O option to agetty to display DNS domainname in the issue
# file, thanks to Marius Mauch <genone@genone.de>, bug #22275.
#
# NOTE: Removing this will break future baselayout, so PLEASE
# consult with me before doing so.
#
# <azarah@gentoo.og> (17 Jul 2003)
epatch ${FILESDIR}/${PN}-2.11z-agetty-domainname-option.patch
# Add NFS4 support (kernel 2.5/2.6).
# use crypt \
# && epatch ${FILESDIR}/${PN}-2.11z-01-nfsv4-crypt.dif \
# ||
epatch ${FILESDIR}/${PN}-2.11z-01-nfsv4.dif
# <solar@gentoo.org> This patch should allow us to remove -fPIC
# out of the filter-flags we need this be able to emit position
# independent code so we can link our elf executables as shared
# objects. "prelink" should now also be able to take advantage
epatch ${FILESDIR}/${P}-pic.patch
## see below for details on pic.patch
case ${ARCH} in
"x86"|"hppa"|"sparc"|"ppc"|"amd64")
;;
*)
filter-flags -fPIC
;;
esac
# Add support to read fat/fat32 labels, bug #36722
epatch ${FILESDIR}/${P}-fat-LABEL-support.patch
# Add support for gcloop
use crypt || epatch ${FILESDIR}/${P}-gcloop.patch
use crypt && epatch ${FILESDIR}/${P}-gcloop-with-crypt.patch
# Enable pam only if we use it
use pam && sed -i "s:HAVE_PAM=no:HAVE_PAM=yes:" MCONFIG
use selinux && sed -i "s:HAVE_SELINUX=no:HAVE_SELINUX=yes:" MCONFIG
sed -i \
-e "s:-pipe -O2 \$(CPUOPT) -fomit-frame-pointer:${CFLAGS}:" \
-e "s:CPU=.*:CPU=${CHOST%%-*}:" \
-e "s:HAVE_KILL=no:HAVE_KILL=yes:" \
-e "s:HAVE_SLN=no:HAVE_SLN=yes:" \
-e "s:HAVE_TSORT=no:HAVE_TSORT=yes:" \
-e "s:usr/man:usr/share/man:" \
-e "s:usr/info:usr/share/info:" \
-e "s:SUIDMODE=.*4755:SUIDMODE=4711:" \
MCONFIG || die "MCONFIG sed"
if ! use nls ; then
sed -i -e 's/DISABLE_NLS=no/DISABLE_NLS=yes/' MCONFIG ||
die "MCONFIG nls sed"
fi
# 2.6 kernels have a broken blkpg.h (if included in userspace ...)
if [ -n "`grep __user /usr/include/linux/blkpg.h`" ] ; then
mkdir ${S}/partx/linux
sed -e 's:__user::g' /usr/include/linux/blkpg.h > \
${S}/partx/linux/blkpg.h
fi
# Install rdev on amd64 platform
epatch ${FILESDIR}/${PN}-2.12-amd64_rdev_installation.patch
# swapon gets confused by symlinks in /dev #69162
epatch ${FILESDIR}/${PN}-swapon-check-symlinks.patch
use uclibc && sed -e 's/sys_siglist\[sig\]/strsignal(sig)/' -i ${S}/mount/fstab.c
}
src_compile() {
# opt to use non-lazy bindings for suids installed by this package.
append-ldflags -Wl,-z,now
use static && append-ldflags -static
econf || die "configure failed"
emake || die "emake failed"
if [ ! -x "partx/partx" ] ; then
cd ${S}/partx
CFLAGS="-I." \
make || die "make partx failed"
else
ewarn "Build system now builds partx!"
fi
cd ${S}/sys-utils && makeinfo *.texi || die "makeinfo failed"
}
src_install() {
make DESTDIR=${D} install || die "install failed"
if [ ! -x "${D}/sbin/partx" ] ; then
into /
dosbin partx/{addpart,delpart,partx}
else
ewarn "Build system now installs partx!"
fi
dodoc HISTORY MAINTAINER README VERSION
docinto licenses
dodoc licenses/* HISTORY
docinto examples
dodoc example.files/*
}
|