All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][morty 0/2] Debugfs fixes with different than default OPKGLIBDIR
@ 2017-03-23 12:16 Martin Jansa
  2017-03-23 12:16 ` [PATCH][morty 1/2] rootfs.py: Respect OPKGLIBDIR variable Martin Jansa
  2017-03-23 12:16 ` [PATCH][morty 2/2] package_manager.py: respect OPKGLIBDIR Martin Jansa
  0 siblings, 2 replies; 3+ messages in thread
From: Martin Jansa @ 2017-03-23 12:16 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit ddf907ca95a19f54785079b4396935273b3747f6:

  Revert "file: update SRCREV for 5.28 to fix fetch fail on missing commit" (2017-03-21 22:17:57 +0000)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib jansa/morty-rootfs-fix
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/morty-rootfs-fix

Martin Jansa (2):
  rootfs.py: Respect OPKGLIBDIR variable
  package_manager.py: respect OPKGLIBDIR

 meta/lib/oe/package_manager.py | 21 ++++++++++++++-------
 meta/lib/oe/rootfs.py          |  4 +++-
 2 files changed, 17 insertions(+), 8 deletions(-)

-- 
2.12.0



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH][morty 1/2] rootfs.py: Respect OPKGLIBDIR variable
  2017-03-23 12:16 [PATCH][morty 0/2] Debugfs fixes with different than default OPKGLIBDIR Martin Jansa
@ 2017-03-23 12:16 ` Martin Jansa
  2017-03-23 12:16 ` [PATCH][morty 2/2] package_manager.py: respect OPKGLIBDIR Martin Jansa
  1 sibling, 0 replies; 3+ messages in thread
From: Martin Jansa @ 2017-03-23 12:16 UTC (permalink / raw)
  To: openembedded-core

* when OPKGLIBDIR doesn't have the default /var/lib value it will
  silently fail to copy package database from normal rootfs to debugfs
  rootfs and then when trying to install *-dbg complimentary packages
  it won't install anything, because installed_pkgs.txt file generated
  from debugfs is empty

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/lib/oe/rootfs.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index ed40b23ee4..c4a5086bec 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -949,7 +949,9 @@ class OpkgRootfs(DpkgOpkgRootfs):
         if self.progress_reporter:
             self.progress_reporter.next_stage()
 
-        self._setup_dbg_rootfs(['/etc', '/var/lib/opkg', '/usr/lib/ssl'])
+        opkg_lib_dir = self.d.getVar('OPKGLIBDIR', True)
+        opkg_dir = os.path.join(opkg_lib_dir, 'opkg')
+        self._setup_dbg_rootfs(['/etc', opkg_dir, '/usr/lib/ssl'])
 
         execute_pre_post_process(self.d, opkg_post_process_cmds)
 
-- 
2.12.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH][morty 2/2] package_manager.py: respect OPKGLIBDIR
  2017-03-23 12:16 [PATCH][morty 0/2] Debugfs fixes with different than default OPKGLIBDIR Martin Jansa
  2017-03-23 12:16 ` [PATCH][morty 1/2] rootfs.py: Respect OPKGLIBDIR variable Martin Jansa
@ 2017-03-23 12:16 ` Martin Jansa
  1 sibling, 0 replies; 3+ messages in thread
From: Martin Jansa @ 2017-03-23 12:16 UTC (permalink / raw)
  To: openembedded-core

* respect it for incremental rootfs generation
* add lists_dir option to opkg.conf
* also fix setting info_dir and status_file when they use default value, the
  problem is that self.opkg_dir is already prefixed with rootfs directory,
  comparing it with /var/lib/opkg always returned false and the options were
  appended to config file unnecessary
* with opkg 0.3.4 we can use VARDIR prefix added in:
  commit d2a8e23dc669adc398f4bb8bcfcabfcf925708f7
  Author: Florin Gherendi <floring2502@gmail.com>
  Date:   Mon Dec 19 12:25:38 2016 +0200
  libopkg: make the /var and /etc directories configurable at compile time.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/lib/oe/package_manager.py | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index a9d216a88e..13577b18bd 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -1673,13 +1673,15 @@ class OpkgPM(OpkgDpkgPM):
                                         self.d.getVar('FEED_DEPLOYDIR_BASE_URI', True),
                                         arch))
 
-                        if self.opkg_dir != '/var/lib/opkg':
+                        if self.d.getVar('OPKGLIBDIR', True) != '/var/lib':
                             # There is no command line option for this anymore, we need to add
                             # info_dir and status_file to config file, if OPKGLIBDIR doesn't have
                             # the default value of "/var/lib" as defined in opkg:
-                            # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR      "/var/lib/opkg/info"
-                            # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE   "/var/lib/opkg/status"
+                            # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_LISTS_DIR     VARDIR "/lib/opkg/lists"
+                            # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR      VARDIR "/lib/opkg/info"
+                            # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE   VARDIR "/lib/opkg/status"
                             cfg_file.write("option info_dir     %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info'))
+                            cfg_file.write("option lists_dir    %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'lists'))
                             cfg_file.write("option status_file  %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status'))
 
 
@@ -1698,13 +1700,15 @@ class OpkgPM(OpkgDpkgPM):
                     config_file.write("src oe-%s file:%s\n" %
                                       (arch, pkgs_dir))
 
-            if self.opkg_dir != '/var/lib/opkg':
+            if self.d.getVar('OPKGLIBDIR', True) != '/var/lib':
                 # There is no command line option for this anymore, we need to add
                 # info_dir and status_file to config file, if OPKGLIBDIR doesn't have
                 # the default value of "/var/lib" as defined in opkg:
-                # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR      "/var/lib/opkg/info"
-                # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE   "/var/lib/opkg/status"
+                # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_LISTS_DIR     VARDIR "/lib/opkg/lists"
+                # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_INFO_DIR      VARDIR "/lib/opkg/info"
+                # libopkg/opkg_conf.h:#define OPKG_CONF_DEFAULT_STATUS_FILE   VARDIR "/lib/opkg/status"
                 config_file.write("option info_dir     %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'info'))
+                config_file.write("option lists_dir    %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'lists'))
                 config_file.write("option status_file  %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR', True), 'opkg', 'status'))
 
     def insert_feeds_uris(self):
@@ -1860,7 +1864,10 @@ class OpkgPM(OpkgDpkgPM):
 
         # Create an temp dir as opkg root for dummy installation
         temp_rootfs = self.d.expand('${T}/opkg')
-        temp_opkg_dir = os.path.join(temp_rootfs, 'var/lib/opkg')
+        opkg_lib_dir = self.d.getVar('OPKGLIBDIR', True)
+        if opkg_lib_dir[0] == "/":
+            opkg_lib_dir = opkg_lib_dir[1:]
+        temp_opkg_dir = os.path.join(temp_rootfs, opkg_lib_dir, 'opkg')
         bb.utils.mkdirhier(temp_opkg_dir)
 
         opkg_args = "-f %s -o %s " % (self.config_file, temp_rootfs)
-- 
2.12.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-23 12:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-23 12:16 [PATCH][morty 0/2] Debugfs fixes with different than default OPKGLIBDIR Martin Jansa
2017-03-23 12:16 ` [PATCH][morty 1/2] rootfs.py: Respect OPKGLIBDIR variable Martin Jansa
2017-03-23 12:16 ` [PATCH][morty 2/2] package_manager.py: respect OPKGLIBDIR Martin Jansa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.