first commit
[scm/bb/meta-tizen.git] / recipes-tizen / prelink / prelink.inc
1 DESCRIPTION = "An ELF Prelinking Utility"
2 HOMEPAGE = "http://people.redhat.com/jakub/prelink/"
3 SECTION = "System/Base"
4 LICENSE = "GPL-2.0+"
5
6 SRC_URI = ""
7
8 S = "${WORKDIR}/git"
9
10 PROVIDES = ""
11
12 #PROVIDES by prelink 
13 PROVIDES += "prelink"
14 RPROVIDES_prelink += "prelink"
15
16 #PROVIDES by prelink-docs  
17 PROVIDES += "prelink-docs "
18 RPROVIDES_prelink-docs  += "prelink-docs "
19
20 RDEPENDS = ""
21
22 DEPENDS = ""
23 #DEPENDS of prelink 
24 DEPENDS += "gcc-cross"
25 DEPENDS += "libelf0"
26
27 do_patch() {
28  chmod -Rf a+rX,u+w,g-w,o-w ${S}
29  #setup -q -n prelink
30  cp ${S}/packaging/prelink.manifest .
31  
32  
33 }
34
35 do_configure() {
36 }
37
38 do_compile() {
39  LANG=C
40  export LANG
41  unset DISPLAY
42  CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" ; export CFLAGS ; 
43  CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ; 
44  FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ; 
45  LD_AS_NEEDED=1; export LD_AS_NEEDED ; 
46  
47  # This package failed when testing with -Wl,-as-needed being default.
48  # So we disable it here, if you want to retest, just delete this comment and the line below.
49  export LD_AS_NEEDED=0
50  # Uninitialized memory in dynamic loader in ifunc3 test.
51  export -n MALLOC_PERTURB_
52  unset MALLOC_PERTURB_
53  
54  CFLAGS="$RPM_OPT_FLAGS" \
55  ./configure --prefix=/usr --mandir=/usr/share/man || cat config.log
56  make -j16
57  
58  exit 0
59  make -C testsuite check-harder
60  
61  
62  
63 }
64
65 do_install() {
66  echo export RPM_BUILD_ROOT=${D}
67  LANG=C
68  export LANG
69  unset DISPLAY
70  rm -rf ${D} 
71  mkdir -p ${D} 
72  
73  make install DESTDIR=$RPM_BUILD_ROOT
74  mkdir -p $RPM_BUILD_ROOT/etc
75  sed -e "s,LIBDIR,lib," ${S}/packaging/prelink.conf > $RPM_BUILD_ROOT/etc/prelink.conf
76  mkdir -p $FILLUP_DIR $RPM_BUILD_ROOT/sbin/conf.d
77  install -m 0755 -d $RPM_BUILD_ROOT/var/lib/prelink
78  mkdir -p $RPM_BUILD_ROOT/etc/rpm
79  cat > $RPM_BUILD_ROOT/etc/rpm/macros.prelink <<EOF
80  # rpm-4.1 verifies prelinked libraries using a prelink undo helper.
81  #       Note: The 2nd token is used as argv[0] and "library" is a
82  #       placeholder that will be deleted and replaced with the appropriate
83  #       library file path.
84  %__prelink_undo_cmd     /usr/sbin/prelink prelink -y library
85  EOF
86  
87  
88  
89  
90 }
91
92 PACKAGES = ""
93 PACKAGES += "prelink"
94 PACKAGES += "prelink-docs"
95
96 prelink_files = ""
97 prelink_files += "prelink.manifest"
98 prelink_files += "/var/lib/prelink"
99 prelink_files += "/etc/rpm"
100 prelink_files += "/etc/prelink.conf"
101 prelink_files += "/etc/rpm/macros.prelink"
102 prelink_files += "/usr/sbin/prelink"
103 prelink_files += "/usr/bin/execstack"
104
105 prelink-docs_files = ""
106 prelink-docs_files += "/usr/share/info"
107 prelink-docs_files += "/usr/share/man"
108
109 FILES_${PN} = "${prelink_files}"
110 FILES_${PN}-docs = "${prelink-docs_files}"
111
112 PKG_prelink= "prelink"
113 PKG_prelink-docs= "prelink-docs"
114
115 require prelink-extraconf.inc