diff mbox series

[02/19] package_rpm: remove support for DIRFILES

Message ID 20240419121945.1920944-2-alex@linutronix.de
State Accepted, archived
Commit ea8af19bb909c7e3633d82bec9d925c8f42ec860
Headers show
Series [01/19] liba52: remove the recipe | expand

Commit Message

Alexander Kanavin April 19, 2024, 12:19 p.m. UTC
This was added here:
https://git.yoctoproject.org/poky/commit/?id=2f42ef8d8fb1febf28252b98884cebabc931f720

It's undocumented, untested, rpm-specific, and currently
broken, and to begin with looks like a workaround for
Tizen/smack security label conflicts elsewhere.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/classes-global/package_rpm.bbclass | 31 +++++++------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

Comments

Ross Burton April 19, 2024, 4:38 p.m. UTC | #1
On 19 Apr 2024, at 13:19, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> wrote:
> 
> This was added here:
> https://git.yoctoproject.org/poky/commit/?id=2f42ef8d8fb1febf28252b98884cebabc931f720
> 
> It's undocumented, untested, rpm-specific, and currently
> broken, and to begin with looks like a workaround for
> Tizen/smack security label conflicts elsewhere.

Thanks, this finishes a task that I started poking at long ago that culminated with the majestic commit https://git.openembedded.org/meta-openembedded/commit/?id=4d921bb5144b653c2f195fb2e8694a31dbd539f1.

Ross
Ross Burton April 19, 2024, 4:40 p.m. UTC | #2
> On 19 Apr 2024, at 17:38, Ross Burton <Ross.Burton@arm.com> wrote:
> 
> On 19 Apr 2024, at 13:19, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> wrote:
>> 
>> This was added here:
>> https://git.yoctoproject.org/poky/commit/?id=2f42ef8d8fb1febf28252b98884cebabc931f720
>> 
>> It's undocumented, untested, rpm-specific, and currently
>> broken, and to begin with looks like a workaround for
>> Tizen/smack security label conflicts elsewhere.
> 

Hit sent to early…

We should also set BB_RENAMED_VARIABLE so that users of it get told to stop using it.

Ross
diff mbox series

Patch

diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass
index 2e3e4e8c790..790ccbfaf0c 100644
--- a/meta/classes-global/package_rpm.bbclass
+++ b/meta/classes-global/package_rpm.bbclass
@@ -191,7 +191,7 @@  python write_specfile () {
                 if not len(depends_dict[dep]):
                     array.append("%s: %s" % (tag, dep))
 
-    def walk_files(walkpath, target, conffiles, dirfiles):
+    def walk_files(walkpath, target, conffiles):
         # We can race against the ipk/deb backends which create CONTROL or DEBIAN directories
         # when packaging. We just ignore these files which are created in
         # packages-split/ and not package/
@@ -233,22 +233,12 @@  python write_specfile () {
                     return False
             dirs[:] = [dir for dir in dirs if not move_to_files(dir)]
 
-            # Directory handling can happen in two ways, either DIRFILES is not set at all
-            # in which case we fall back to the older behaviour of packages owning all their
-            # directories
-            if dirfiles is None:
-                for dir in dirs:
-                    if dir == "CONTROL" or dir == "DEBIAN":
-                        continue
-                    p = path + '/' + dir
-                    # All packages own the directories their files are in...
-                    target.append(get_attr(dir) + '%dir "' + escape_chars(p) + '"')
-            elif path:
-                # packages own only empty directories or explict directory.
-                # This will prevent the overlapping of security permission.
-                attr = get_attr(path)
-                if (not files and not dirs) or path in dirfiles:
-                    target.append(attr + '%dir "' + escape_chars(path) + '"')
+            for dir in dirs:
+                if dir == "CONTROL" or dir == "DEBIAN":
+                    continue
+                p = path + '/' + dir
+                # All packages own the directories their files are in...
+                target.append(get_attr(dir) + '%dir "' + escape_chars(p) + '"')
 
             for file in files:
                 if file == "CONTROL" or file == "DEBIAN":
@@ -363,9 +353,6 @@  python write_specfile () {
         localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + pkg)
 
         conffiles = oe.package.get_conffiles(pkg, d)
-        dirfiles = localdata.getVar('DIRFILES')
-        if dirfiles is not None:
-            dirfiles = dirfiles.split()
 
         splitname    = pkgname
 
@@ -430,7 +417,7 @@  python write_specfile () {
             srcrpostrm     = splitrpostrm
 
             file_list = []
-            walk_files(root, file_list, conffiles, dirfiles)
+            walk_files(root, file_list, conffiles)
             if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1":
                 bb.note("Not creating empty RPM package for %s" % splitname)
             else:
@@ -522,7 +509,7 @@  python write_specfile () {
 
         # Now process files
         file_list = []
-        walk_files(root, file_list, conffiles, dirfiles)
+        walk_files(root, file_list, conffiles)
         if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1":
             bb.note("Not creating empty RPM package for %s" % splitname)
         else: