Patchwork opkg-collateral: import fixes from OE-Classic

login
register
mail settings
Submitter Andreas Oberritter
Date April 26, 2012, 10:19 p.m.
Message ID <1335478762-14532-1-git-send-email-obi@opendreambox.org>
Download mbox | patch
Permalink /patch/26475/
State Accepted
Commit ffe93e2a099e4cadb1829dc12a58a6d7bef9a5a7
Headers show

Comments

Andreas Oberritter - April 26, 2012, 10:19 p.m.
* Set lists_dir to /var/lib/opkg

  commit 16808bc4817492beba512f4e73bce8c232d1eafa
  Author: Marcin Juszkiewicz <hrw@openembedded.org>
  Date:   Mon Mar 17 23:40:48 2008 +0000

* Update new options sample and move the opkg.conf to correct place

  commit cc9825d97962287df75e164aec456901292e1b7f
  Author: Tick Chen <ticktock35@gmail.com>
  Date:   Mon Dec 29 19:41:47 2008 +0800

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 meta/recipes-devtools/opkg/opkg-collateral.bb      |    8 +++++---
 meta/recipes-devtools/opkg/opkg-collateral/lists   |    2 +-
 .../opkg/opkg-collateral/opkg.conf.comments        |    3 +++
 3 files changed, 9 insertions(+), 4 deletions(-)
Koen Kooi - April 26, 2012, 10:39 p.m.
Op 27 apr. 2012, om 00:19 heeft Andreas Oberritter het volgende geschreven:

> * Set lists_dir to /var/lib/opkg
> 
>  commit 16808bc4817492beba512f4e73bce8c232d1eafa
>  Author: Marcin Juszkiewicz <hrw@openembedded.org>
>  Date:   Mon Mar 17 23:40:48 2008 +0000
> 
> * Update new options sample and move the opkg.conf to correct place
> 
>  commit cc9825d97962287df75e164aec456901292e1b7f
>  Author: Tick Chen <ticktock35@gmail.com>
>  Date:   Mon Dec 29 19:41:47 2008 +0800

is this still needed? Angstrom hasn't used it in 4 years or so.
Andreas Oberritter - April 27, 2012, 12:18 a.m.
On 27.04.2012 00:39, Koen Kooi wrote:
> 
> Op 27 apr. 2012, om 00:19 heeft Andreas Oberritter het volgende geschreven:
> 
>> * Set lists_dir to /var/lib/opkg
>>
>>  commit 16808bc4817492beba512f4e73bce8c232d1eafa
>>  Author: Marcin Juszkiewicz <hrw@openembedded.org>
>>  Date:   Mon Mar 17 23:40:48 2008 +0000
>>
>> * Update new options sample and move the opkg.conf to correct place
>>
>>  commit cc9825d97962287df75e164aec456901292e1b7f
>>  Author: Tick Chen <ticktock35@gmail.com>
>>  Date:   Mon Dec 29 19:41:47 2008 +0800
> 
> is this still needed? Angstrom hasn't used it in 4 years or so.

Yes. That's why I submitted the patch in the first place. Of course, you
can create opkg's config manually instead, if you prefer to, or just use
the defaults.

Regards,
Andreas
Saul Wold - May 1, 2012, 6:58 p.m.
On 04/26/2012 03:19 PM, Andreas Oberritter wrote:
> * Set lists_dir to /var/lib/opkg
>
>    commit 16808bc4817492beba512f4e73bce8c232d1eafa
>    Author: Marcin Juszkiewicz<hrw@openembedded.org>
>    Date:   Mon Mar 17 23:40:48 2008 +0000
>
> * Update new options sample and move the opkg.conf to correct place
>
>    commit cc9825d97962287df75e164aec456901292e1b7f
>    Author: Tick Chen<ticktock35@gmail.com>
>    Date:   Mon Dec 29 19:41:47 2008 +0800
>
> Signed-off-by: Andreas Oberritter<obi@opendreambox.org>
> ---
>   meta/recipes-devtools/opkg/opkg-collateral.bb      |    8 +++++---
>   meta/recipes-devtools/opkg/opkg-collateral/lists   |    2 +-
>   .../opkg/opkg-collateral/opkg.conf.comments        |    3 +++
>   3 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-devtools/opkg/opkg-collateral.bb b/meta/recipes-devtools/opkg/opkg-collateral.bb
> index e3e0b5f..251c535 100644
> --- a/meta/recipes-devtools/opkg/opkg-collateral.bb
> +++ b/meta/recipes-devtools/opkg/opkg-collateral.bb
> @@ -2,6 +2,8 @@ DESCRIPTION = "opkg configuration files"
>   SECTION = "base"
>   LICENSE = "MIT"
>   LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> +PR = "r1"
> +
>   SRC_URI = "file://opkg.conf.comments \
>   	   file://lists \
>   	   file://dest \
> @@ -15,8 +17,8 @@ do_compile () {
>   }
>
>   do_install () {
> -	install -d ${D}${sysconfdir}/
> -	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg.conf
> +	install -d ${D}${sysconfdir}/opkg
> +	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
>   }
>
> -CONFFILES_${PN} = "${sysconfdir}/opkg.conf"
> +CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
> diff --git a/meta/recipes-devtools/opkg/opkg-collateral/lists b/meta/recipes-devtools/opkg/opkg-collateral/lists
> index 3c524f8..f8aecd8 100644
> --- a/meta/recipes-devtools/opkg/opkg-collateral/lists
> +++ b/meta/recipes-devtools/opkg/opkg-collateral/lists
> @@ -1,2 +1,2 @@
> -lists_dir ext /var/lib/ipkg
> +lists_dir ext /var/lib/opkg
>
> diff --git a/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments b/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments
> index 51623f4..e1fdada 100644
> --- a/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments
> +++ b/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments
> @@ -18,6 +18,9 @@
>   #option proxy_username<username>
>   #option proxy_password<password>
>
> +# Enable GPGME signature
> +# option check_signature 1
> +
>   # Offline mode (for use in constructing flash images offline)
>   #option offline_root target
>

Merged into OE-Core

Thanks
	Sau!
Paul Eggleton - July 3, 2012, 8:14 p.m.
On Friday 27 April 2012 00:19:22 Andreas Oberritter wrote:
> * Set lists_dir to /var/lib/opkg
> 
>   commit 16808bc4817492beba512f4e73bce8c232d1eafa
>   Author: Marcin Juszkiewicz <hrw@openembedded.org>
>   Date:   Mon Mar 17 23:40:48 2008 +0000
> 
> * Update new options sample and move the opkg.conf to correct place
> 
>   commit cc9825d97962287df75e164aec456901292e1b7f
>   Author: Tick Chen <ticktock35@gmail.com>
>   Date:   Mon Dec 29 19:41:47 2008 +0800
> 
> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
> ---
>  meta/recipes-devtools/opkg/opkg-collateral.bb      |    8 +++++---
>  meta/recipes-devtools/opkg/opkg-collateral/lists   |    2 +-
>  .../opkg/opkg-collateral/opkg.conf.comments        |    3 +++
>  3 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-devtools/opkg/opkg-collateral.bb
> b/meta/recipes-devtools/opkg/opkg-collateral.bb index e3e0b5f..251c535
> 100644
> --- a/meta/recipes-devtools/opkg/opkg-collateral.bb
> +++ b/meta/recipes-devtools/opkg/opkg-collateral.bb
> @@ -2,6 +2,8 @@ DESCRIPTION = "opkg configuration files"
>  SECTION = "base"
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM =
> "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> +PR = "r1"
> +
>  SRC_URI = "file://opkg.conf.comments \
>  	   file://lists \
>  	   file://dest \
> @@ -15,8 +17,8 @@ do_compile () {
>  }
> 
>  do_install () {
> -	install -d ${D}${sysconfdir}/
> -	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg.conf
> +	install -d ${D}${sysconfdir}/opkg
> +	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
>  }
> 
> -CONFFILES_${PN} = "${sysconfdir}/opkg.conf"
> +CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
> diff --git a/meta/recipes-devtools/opkg/opkg-collateral/lists
> b/meta/recipes-devtools/opkg/opkg-collateral/lists index 3c524f8..f8aecd8
> 100644
> --- a/meta/recipes-devtools/opkg/opkg-collateral/lists
> +++ b/meta/recipes-devtools/opkg/opkg-collateral/lists
> @@ -1,2 +1,2 @@
> -lists_dir ext /var/lib/ipkg
> +lists_dir ext /var/lib/opkg

Unfortunately, it seems this change has caused bug 2595 - moving the config file 
to /etc/opkg means that it is always read regardless of whether -f is specified 
or not (as it is during do_rootfs in order to specify our own generated config 
file), and this means that after opkg-collateral is installed into the rootfs, 
this version of the config is used, resulting in opkg ignoring the lists it has 
already downloaded (since it now sees list_dir as var/lib/opkg instead of 
var/lib/opkg/lists) and thus it fails to install any of the "attemptonly" 
packages (including *-dev, *-dbg, etc.).

The question is, should opkg be fixed to not load anything from etc/opkg/ when 
-f is specified?

Cheers,
Paul
Andreas Oberritter - July 4, 2012, 1:50 p.m.
On 03.07.2012 22:14, Paul Eggleton wrote:
> On Friday 27 April 2012 00:19:22 Andreas Oberritter wrote:
>> * Set lists_dir to /var/lib/opkg
>>
>>   commit 16808bc4817492beba512f4e73bce8c232d1eafa
>>   Author: Marcin Juszkiewicz <hrw@openembedded.org>
>>   Date:   Mon Mar 17 23:40:48 2008 +0000
>>
>> * Update new options sample and move the opkg.conf to correct place
>>
>>   commit cc9825d97962287df75e164aec456901292e1b7f
>>   Author: Tick Chen <ticktock35@gmail.com>
>>   Date:   Mon Dec 29 19:41:47 2008 +0800
>>
>> Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
>> ---
>>  meta/recipes-devtools/opkg/opkg-collateral.bb      |    8 +++++---
>>  meta/recipes-devtools/opkg/opkg-collateral/lists   |    2 +-
>>  .../opkg/opkg-collateral/opkg.conf.comments        |    3 +++
>>  3 files changed, 9 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/opkg/opkg-collateral.bb
>> b/meta/recipes-devtools/opkg/opkg-collateral.bb index e3e0b5f..251c535
>> 100644
>> --- a/meta/recipes-devtools/opkg/opkg-collateral.bb
>> +++ b/meta/recipes-devtools/opkg/opkg-collateral.bb
>> @@ -2,6 +2,8 @@ DESCRIPTION = "opkg configuration files"
>>  SECTION = "base"
>>  LICENSE = "MIT"
>>  LIC_FILES_CHKSUM =
>> "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>> +PR = "r1"
>> +
>>  SRC_URI = "file://opkg.conf.comments \
>>  	   file://lists \
>>  	   file://dest \
>> @@ -15,8 +17,8 @@ do_compile () {
>>  }
>>
>>  do_install () {
>> -	install -d ${D}${sysconfdir}/
>> -	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg.conf
>> +	install -d ${D}${sysconfdir}/opkg
>> +	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
>>  }
>>
>> -CONFFILES_${PN} = "${sysconfdir}/opkg.conf"
>> +CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
>> diff --git a/meta/recipes-devtools/opkg/opkg-collateral/lists
>> b/meta/recipes-devtools/opkg/opkg-collateral/lists index 3c524f8..f8aecd8
>> 100644
>> --- a/meta/recipes-devtools/opkg/opkg-collateral/lists
>> +++ b/meta/recipes-devtools/opkg/opkg-collateral/lists
>> @@ -1,2 +1,2 @@
>> -lists_dir ext /var/lib/ipkg
>> +lists_dir ext /var/lib/opkg
> 
> Unfortunately, it seems this change has caused bug 2595 - moving the config file 
> to /etc/opkg means that it is always read regardless of whether -f is specified 
> or not (as it is during do_rootfs in order to specify our own generated config 
> file), and this means that after opkg-collateral is installed into the rootfs, 
> this version of the config is used, resulting in opkg ignoring the lists it has 
> already downloaded (since it now sees list_dir as var/lib/opkg instead of 
> var/lib/opkg/lists) and thus it fails to install any of the "attemptonly" 
> packages (including *-dev, *-dbg, etc.).

Would it be possible to download the lists to var/lib/opkg instead, if
that's the only difference? I'm not familiar with the use of
opkg-collateral during the creation of the rootfs.

> The question is, should opkg be fixed to not load anything from etc/opkg/ when 
> -f is specified?

I think this would work only if other files than opkg.conf in etc/opkg/
aren't needed, which I guess is not the case.

Maybe a new option to specify a config directory instead of a file would
be more straightforward to implement, if opkg always loads
$configdir/*.conf (i.e. there's no special handling for a file named
"opkg.conf", AFAIR). You could then copy etc/opkg to a temporary
location and overwrite opkg.conf.

Regards,
Andreas
Paul Eggleton - July 4, 2012, 3:13 p.m.
On Wednesday 04 July 2012 15:50:01 Andreas Oberritter wrote:
> On 03.07.2012 22:14, Paul Eggleton wrote:
> > Unfortunately, it seems this change has caused bug 2595 - moving the
> > config file to /etc/opkg means that it is always read regardless of
> > whether -f is specified or not (as it is during do_rootfs in order to
> > specify our own generated config file), and this means that after
> > opkg-collateral is installed into the rootfs, this version of the config
> > is used, resulting in opkg ignoring the lists it has already downloaded
> > (since it now sees list_dir as var/lib/opkg instead of
> > var/lib/opkg/lists) and thus it fails to install any of the "attemptonly"
> > packages (including *-dev, *-dbg, etc.).
> 
> Would it be possible to download the lists to var/lib/opkg instead, if
> that's the only difference?

Possible yes, but this has exposed some behaviour that means any distro-
specific settings that get put into files in that directory can break the rootfs 
construction, which is not ideal. I'm also wondering if having the lists their 
own directory might be a good thing anyway (I wonder for example what happens 
if you have a feed called "status"), but that's a separate issue.

> I'm not familiar with the use of opkg-collateral during the creation of the
> rootfs.

opkg-collateral isn't really "used" in creation of the rootfs, but it always 
gets installed as a package along with all other packages (since it is in 
ROOTFS_PKGMANAGE for the ipk backend) in the first stage of package 
installation, and once it is installed, the problem occurs.
 
> > The question is, should opkg be fixed to not load anything from etc/opkg/
> > when -f is specified?
> 
> I think this would work only if other files than opkg.conf in etc/opkg/
> aren't needed, which I guess is not the case.

It is the case for rootfs construction, because then opkg has to be able to 
operate initially with etc/opkg being empty (or nonexistent) before any 
packages have been installed. The only other file that gets installed into that 
directory by default is arch.conf, and the values in that are already provided 
in our generated configuration we specify with -f.

Clearly we can work around this by just moving etc/opkg out of the way 
temporarily, and that might be what I end up doing to fix this for the moment; 
however it does seem to me that the behaviour of -f is wrong, unless -f is 
intended to be able to be used in a different manner than we are using it.

Cheers,
Paul

Patch

diff --git a/meta/recipes-devtools/opkg/opkg-collateral.bb b/meta/recipes-devtools/opkg/opkg-collateral.bb
index e3e0b5f..251c535 100644
--- a/meta/recipes-devtools/opkg/opkg-collateral.bb
+++ b/meta/recipes-devtools/opkg/opkg-collateral.bb
@@ -2,6 +2,8 @@  DESCRIPTION = "opkg configuration files"
 SECTION = "base"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+PR = "r1"
+
 SRC_URI = "file://opkg.conf.comments \
 	   file://lists \
 	   file://dest \
@@ -15,8 +17,8 @@  do_compile () {
 }
 
 do_install () {
-	install -d ${D}${sysconfdir}/
-	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg.conf
+	install -d ${D}${sysconfdir}/opkg
+	install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
 }
 
-CONFFILES_${PN} = "${sysconfdir}/opkg.conf"
+CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
diff --git a/meta/recipes-devtools/opkg/opkg-collateral/lists b/meta/recipes-devtools/opkg/opkg-collateral/lists
index 3c524f8..f8aecd8 100644
--- a/meta/recipes-devtools/opkg/opkg-collateral/lists
+++ b/meta/recipes-devtools/opkg/opkg-collateral/lists
@@ -1,2 +1,2 @@ 
-lists_dir ext /var/lib/ipkg
+lists_dir ext /var/lib/opkg
 
diff --git a/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments b/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments
index 51623f4..e1fdada 100644
--- a/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments
+++ b/meta/recipes-devtools/opkg/opkg-collateral/opkg.conf.comments
@@ -18,6 +18,9 @@ 
 #option proxy_username <username>
 #option proxy_password <password>
 
+# Enable GPGME signature
+# option check_signature 1
+
 # Offline mode (for use in constructing flash images offline)
 #option offline_root target