Patchwork [1/1] prelink: Uprev prelink to latest version (V2)

login
register
mail settings
Submitter Mark Hatle
Date June 24, 2011, 7:42 p.m.
Message ID <4f64811b18665d26645a376fda0828dad0b07c7c.1308944503.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/6497/
State New, archived
Headers show

Comments

Mark Hatle - June 24, 2011, 7:42 p.m.
The latest cross-prelink version tracks the prelink r190 SVN.

Fix two minor issues as well.  If we remove the package, we would
unprelink the filesystem after the rm was finished.  This is
incorrect.. we need to do this prerm.

Move the cron and cron configuration file to a new package split.
This item is not valid for most embedded users.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 .../prelink/prelink/prelink.default                |    2 +-
 meta/recipes-devtools/prelink/prelink_git.bb       |   25 +++++++++++++++++--
 2 files changed, 23 insertions(+), 4 deletions(-)
Khem Raj - June 24, 2011, 8:51 p.m.
On (24/06/11 14:42), Mark Hatle wrote:
> The latest cross-prelink version tracks the prelink r190 SVN.
> 
> Fix two minor issues as well.  If we remove the package, we would
> unprelink the filesystem after the rm was finished.  This is
> incorrect.. we need to do this prerm.
> 
> Move the cron and cron configuration file to a new package split.
> This item is not valid for most embedded users.
> 
> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> ---
>  .../prelink/prelink/prelink.default                |    2 +-
>  meta/recipes-devtools/prelink/prelink_git.bb       |   25 +++++++++++++++++--
>  2 files changed, 23 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-devtools/prelink/prelink/prelink.default b/meta/recipes-devtools/prelink/prelink/prelink.default
> index 901258e..d8802f8 100644
> --- a/meta/recipes-devtools/prelink/prelink/prelink.default
> +++ b/meta/recipes-devtools/prelink/prelink/prelink.default
> @@ -2,7 +2,7 @@
>  # or to yes to enable it.
>  # (if you change this from yes to no prelink -ua
>  # will be run next night to undo prelinking)
> -PRELINKING=unknown
> +PRELINKING=yes
>  

this is a functionality change. Will it have system wide effects ?
Mark Hatle - June 25, 2011, 4:36 a.m.
On 6/24/11 3:51 PM, Khem Raj wrote:
> On (24/06/11 14:42), Mark Hatle wrote:
>> The latest cross-prelink version tracks the prelink r190 SVN.
>>
>> Fix two minor issues as well.  If we remove the package, we would
>> unprelink the filesystem after the rm was finished.  This is
>> incorrect.. we need to do this prerm.
>>
>> Move the cron and cron configuration file to a new package split.
>> This item is not valid for most embedded users.
>>
>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>> ---
>>  .../prelink/prelink/prelink.default                |    2 +-
>>  meta/recipes-devtools/prelink/prelink_git.bb       |   25 +++++++++++++++++--
>>  2 files changed, 23 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/prelink/prelink/prelink.default b/meta/recipes-devtools/prelink/prelink/prelink.default
>> index 901258e..d8802f8 100644
>> --- a/meta/recipes-devtools/prelink/prelink/prelink.default
>> +++ b/meta/recipes-devtools/prelink/prelink/prelink.default
>> @@ -2,7 +2,7 @@
>>  # or to yes to enable it.
>>  # (if you change this from yes to no prelink -ua
>>  # will be run next night to undo prelinking)
>> -PRELINKING=unknown
>> +PRELINKING=yes
>>  
> 
> this is a functionality change. Will it have system wide effects ?

If the user previously had the prelinker installed onto the target, and had the
cron system installed to run the daily scripts, and never bothered to configure
prelink before..  whenever the script ran it would undo any prelinking that had
occurred.

After the change, it's now optional to install the cron scripts.  If they are
installed, they default to -on- which means that if cron runs the script it will
attempt to update the prelinking on the system.

This does not affect the build-time prelinking in any way.  For many systems
there is no reason to have the prelinker on the target, it's only needed for
field upgrades.

So, I consider this an enhancement (splitting the script out to make it
optional), and a bug-fix -- enabling re-prelink functionality if the script is
installed -- vs the previous "un-prelink" being the default.

--Mark

> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-devtools/prelink/prelink/prelink.default b/meta/recipes-devtools/prelink/prelink/prelink.default
index 901258e..d8802f8 100644
--- a/meta/recipes-devtools/prelink/prelink/prelink.default
+++ b/meta/recipes-devtools/prelink/prelink/prelink.default
@@ -2,7 +2,7 @@ 
 # or to yes to enable it.
 # (if you change this from yes to no prelink -ua
 # will be run next night to undo prelinking)
-PRELINKING=unknown
+PRELINKING=yes
 
 # Options to pass to prelink
 # -m	Try to conserve virtual memory by allowing overlapping
diff --git a/meta/recipes-devtools/prelink/prelink_git.bb b/meta/recipes-devtools/prelink/prelink_git.bb
index 1eea30a..b57c145 100644
--- a/meta/recipes-devtools/prelink/prelink_git.bb
+++ b/meta/recipes-devtools/prelink/prelink_git.bb
@@ -8,9 +8,24 @@  and executables, so that far fewer relocations need to be resolved at \
 runtime and thus programs come up faster."
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-SRCREV = "909470ee441237563d6236c505cb2d02ddc48704"
+SRCREV = "ac461e73b17253a4da25c5aafeac7193b553156c"
 PV = "1.0+git${SRCPV}"
-PR = "r2"
+PR = "r3"
+
+#
+# The cron script attempts to re-prelink the system daily -- on
+# systems where users are adding applications, this might be reasonable
+# but for embedded, we should be re-running prelink -a after an update.
+#
+# Default is prelinking is enabled.
+#
+SUMMARY_${PN}-cron = "Cron scripts to control automatic prelinking"
+DESCRIPTION_${PN}-cron = "Cron scripts to control automatic prelinking.  \
+See: ${sysconfdir}/cron.daily/prelink for configuration information."
+
+FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default"
+
+PACKAGES =+ "${PN}-cron"
 
 SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;protocol=git \
            file://prelink.conf \
@@ -53,9 +68,13 @@  fi
 prelink -a
 }
 
-pkg_postrm_prelink() {
+pkg_prerm_prelink() {
 #!/bin/sh
 
+if [ "x$D" != "x" ]; then
+  exit 1
+fi
+
 prelink -au
 }