All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [Bug 849] New: "customize" package copys files to wrong place in target tree
@ 2010-01-08 18:43 bugzilla at busybox.net
  2010-01-08 18:47 ` [Buildroot] [Bug 849] "customize" package copies " bugzilla at busybox.net
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: bugzilla at busybox.net @ 2010-01-08 18:43 UTC (permalink / raw)
  To: buildroot

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)/; \


-- 
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.

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

end of thread, other threads:[~2010-05-06 21:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-08 18:43 [Buildroot] [Bug 849] New: "customize" package copys files to wrong place in target tree bugzilla at busybox.net
2010-01-08 18:47 ` [Buildroot] [Bug 849] "customize" package copies " bugzilla at busybox.net
2010-02-21 18:51 ` bugzilla at busybox.net
2010-03-12 17:43 ` bugzilla at busybox.net
2010-03-12 18:21 ` bugzilla at busybox.net
2010-04-09 14:54 ` bugzilla at busybox.net
2010-04-09 14:55 ` bugzilla at busybox.net
2010-04-09 15:23   ` Jens
2010-05-06 21:29 ` bugzilla at busybox.net

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.