Skip to contentSkip to conversation

New: "customize" package copys files to wrong place in target tree

Buildroot bugzilla at busybox.net 2 participants 9 messages Jan 8, 2010 – May 6, 2010

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=849

Host: Gentoo Linux
Target: Atmel at91sam9g20
Summary: "customize" package copys files to wrong place in target
tree
Product: buildroot
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
AssignedTo: unassigned at buildroot.uclibc.org
ReportedBy: grant.b.edwards at gmail.com
CC: buildroot at uclibc.org
Estimated Hours: 0.0

Created an attachment (id=885)
--> (https://bugs.busybox.net/attachment.cgi?id=885)
Patch to fix bug that copies files to wrong place in target tree

I'm attempting to use the "customize" package to get libgcc_s.so files into my target filesystem, and it doesn't seem to work. I put files into the package like so:

   $ tree customize
   customize
   |-- Config.in
   |-- customize.mk
   `-- source
       |-- asdf
       `-- lib
           |-- foobar
           |-- libgcc.a
           |-- libgcc_eh.a
           |-- libgcc_s.so
           `-- libgcc_s.so.1

But what ends up on my target filesystem is

/asdf
/lib/lib/libgcc_s.so
/lib/lib/libgcc_s.so.1
/lib/lib/foobar

The two .a files end up being removed later in the build process, but the other files that I expect to find in /lib end up in /lib/lib. The mislocation appears to be due to a bug in customize.mk:

     1  #############################################################
     2  #
     3  # Any custom stuff you feel like doing....
     4  #
     5  #############################################################
     6  CUST_DIR:=package/customize/source
     7
     8  $(BUILD_DIR)/.customize:
     9          rm -f $(BUILD_DIR)/series
    10          (cd $(CUST_DIR); \
    11           /bin/ls -d * > $(BUILD_DIR)/series || \
    12           touch $(BUILD_DIR)/series )
    13          for f in `cat $(BUILD_DIR)/series`; do \
    14                  cp -af $(CUST_DIR)/$$f $(TARGET_DIR)/$$f; \
    15          done
    16          rm -f $(BUILD_DIR)/series
    17          touch $@

Line 14 doesn't work right if there are any pre-existing directories in the target directory. In my case it ends up doing:

cp -af package/custom/source/lib output/target/lib

That results in files ending up in /lib/lib instead of /lib

Shouldn't line 14 specify the bare target_dir (and not specify a target filename)? Copy a file will still work the same (since the destination is known to be a directory), and now copying a directory will work when it didn't used to:

    14                  cp -af $(CUST_DIR)/$$f $(TARGET_DIR)/; \
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

https://bugs.busybox.net/show_bug.cgi?id=849

Grant Edwards <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

            Summary|"customize" package copys   |"customize" package copies
                   |files to wrong place in     |files to wrong place in
                   |target tree                 |target tree
Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#2 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=849

Thomas Petazzoni <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |2010.02

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#3 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=849

Paulius Zaleckas <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |paulius.zaleckas at gmail.com

--- Comment #1 from Paulius Zaleckas <[email protected]> 2010-03-12 17:43:31 UTC --- Wrong. Then it will copy wrongly files that needs new directory to be created. I think we should use install instead of cp.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#4 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=849

--- Comment #2 from Grant Edwards <[email protected]> 2010-03-12 18:21:03 UTC --- (In reply to comment #1)

Quoted 2 lines

Wrong. Then it will copy wrongly files that needs new directory to be created. I think we should use install instead of cp.

Can you provide an example where it fails?

I tested the patch pretty extensively and it worked fine for me - when new directories needed to be created.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#5 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=849

Thomas Petazzoni <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|2010.02 |2010.05

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#6 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=849

Thomas Petazzoni <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |serj.kalichev at gmail.com

--- Comment #3 from Thomas Petazzoni <[email protected]> 2010-04-09 14:55:00 UTC --- *** Bug 1135 has been marked as a duplicate of this bug. ***

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#7 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

Hi,

that simple patch works fine for me (just using cp with 'r' option):

BR,
Jens

diff -Nur --exclude=config buildroot.orig/package/customize/customize.mk buildroot/package/customize/customize.mk
--- buildroot.orig/package/customize/customize.mk 2010-02-26
15:52:48.000000000 +0100
+++ buildroot/package/customize/customize.mk 2010-04-05
00:59:40.000000000 +0200
@@ -6,14 +6,8 @@
CUST_DIR:=package/customize/source

$(BUILD_DIR)/.customize:
- rm -f $(BUILD_DIR)/series
- (cd $(CUST_DIR); \
- /bin/ls -d * > $(BUILD_DIR)/series || \
- touch $(BUILD_DIR)/series )
- for f in cat $(BUILD_DIR)/series; do \
- cp -af $(CUST_DIR)/$$f $(TARGET_DIR)/$$f; \

-    done
-    rm -f $(BUILD_DIR)/series
+    cp -arf $(CUST_DIR)/* $(TARGET_DIR)/

+# rm -f $(BUILD_DIR)/series
touch $@

customize: $(BUILD_DIR)/.customize

Quoted 5 lines

https://bugs.busybox.net/show_bug.cgi?id=849

--- Comment #3 from Thomas Petazzoni <[email protected]> 2010-04-09 14:55:00 UTC --- *** Bug 1135 has been marked as a duplicate of this bug. ***

#8 lore raw

[Buildroot] [Bug 849] "customize" package copies files to wrong place in target tree

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=849

Peter Korsgaard <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #4 from Peter Korsgaard <[email protected]> --- Fixed in git (ea0695ff5ed) - Thanks, and sorry for the slow response.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.