ci: Use busybox utils for one build #17011

pull MarcoFalke wants to merge 1 commits into bitcoin:master from MarcoFalke:1909-ciBusyBox changing 3 files +18 −4
  1. MarcoFalke commented at 11:21 AM on October 1, 2019: member

    To make sure Bitcoin Core can be built with BusyBox, see #16927 (comment)

  2. fanquake added the label Tests on Oct 1, 2019
  3. laanwj commented at 11:41 AM on October 1, 2019: member

    Concept ACK

  4. MarcoFalke force-pushed on Oct 1, 2019
  5. practicalswift commented at 11:56 AM on October 1, 2019: contributor

    Concept ACK

  6. MarcoFalke force-pushed on Oct 1, 2019
  7. dongcarl commented at 3:12 PM on October 1, 2019: member

    @MarcoFalke I'm guessing there's a reason why we don't wanna add another build?

  8. MarcoFalke commented at 3:49 PM on October 1, 2019: member

    Yeah, another build means the ci is taking longer. I think using BusyBox on one build that bootstraps from ./depends (with gui and wallet) is sufficient.

  9. in ci/test/04_install.sh:55 in fa1ae26623 outdated
      53 |  
      54 | +if [ "$USE_BUSY_BOX" = "true" ]; then
      55 | +  echo "Setup to use BusyBox utils"
      56 | +  DOCKER_EXEC mkdir -p $BASE_SCRATCH_DIR/bins/
      57 | +  # tar excluded for now because it requires passing in the exact archive type in ./depends (fixed in later BusyBox version)
      58 | +  # find excluded for now because it does not recognize the -delete option in ./depends (fixed in later BusyBox version)
    


    fanquake commented at 5:55 AM on October 2, 2019:

    Support for -delete was added to find in BusyBox 1.6.0 (2007). The following inside an Alpine container (BusyBox v1.30.1) seems to work ok:

    touch something.pyo something.pyc
    find -name "*.pyc" -delete && find -name "*.pyo" -delete
    

    What error were you seeing?


    laanwj commented at 12:12 PM on October 2, 2019:

    2007 oh my, please don't tell me anything that old is being used :fearful:


    MarcoFalke commented at 2:04 PM on October 2, 2019:

    I have no idea what bionic is doing, but #17011 (comment)

  10. in ci/test/04_install.sh:60 in fa1ae26623 outdated
      57 | +  # tar excluded for now because it requires passing in the exact archive type in ./depends (fixed in later BusyBox version)
      58 | +  # find excluded for now because it does not recognize the -delete option in ./depends (fixed in later BusyBox version)
      59 | +  # ar excluded for now because it does not recognize the -q option in ./depends (unknown if fixed)
      60 | +  # shellcheck disable=SC1010
      61 | +  DOCKER_EXEC for util in \$\(busybox --list \| grep -v "^ar$" \| grep -v "^tar$" \| grep -v "^find$"\)\; do ln -s \$\(command -v busybox\) $BASE_SCRATCH_DIR/bins/\$util\; done
      62 | +  DOCKER_EXEC patch --help
    


    fanquake commented at 5:55 AM on October 2, 2019:

    Assume we are doing this to get the BusyBox version printed? I see BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.2)


    MarcoFalke commented at 2:02 PM on October 2, 2019:

    Yes, added comment in commit ddddd

  11. fanquake commented at 5:56 AM on October 2, 2019: member

    Concept ACK - am testing locally.

  12. MarcoFalke force-pushed on Oct 2, 2019
  13. ci: Use busybox utils for one build ddddd8961b
  14. MarcoFalke force-pushed on Oct 2, 2019
  15. MarcoFalke commented at 2:04 PM on October 2, 2019: member

    See here: https://travis-ci.org/MarcoFalke/bitcoin-core/jobs/592530914#L4480

    And:

     busybox find --help              
    BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.2) multi-call binary.
    
    Usage: find [-HL] [PATH]... [OPTIONS] [ACTIONS]
    
    Search for files and perform actions on them.
    First failed action stops processing of current file.
    Defaults: PATH is current directory, action is '-print'
    
    	-L,-follow	Follow symlinks
    	-H		...on command line only
    	-xdev		Don't descend directories on other filesystems
    	-maxdepth N	Descend at most N levels. -maxdepth 0 applies
    			actions to command line arguments only
    	-mindepth N	Don't act on first N levels
    	-depth		Act on directory *after* traversing it
    
    Actions:
    	( ACTIONS )	Group actions for -o / -a
    	! ACT		Invert ACT's success/failure
    	ACT1 [-a] ACT2	If ACT1 fails, stop, else do ACT2
    	ACT1 -o ACT2	If ACT1 succeeds, stop, else do ACT2
    			Note: -a has higher priority than -o
    	-name PATTERN	Match file name (w/o directory name) to PATTERN
    	-iname PATTERN	Case insensitive -name
    	-path PATTERN	Match path to PATTERN
    	-ipath PATTERN	Case insensitive -path
    	-regex PATTERN	Match path to regex PATTERN
    	-type X		File type is X (one of: f,d,l,b,c,...)
    	-perm MASK	At least one mask bit (+MASK), all bits (-MASK),
    			or exactly MASK bits are set in file's mode
    	-mtime DAYS	mtime is greater than (+N), less than (-N),
    			or exactly N days in the past
    	-mmin MINS	mtime is greater than (+N), less than (-N),
    			or exactly N minutes in the past
    	-newer FILE	mtime is more recent than FILE's
    	-inum N		File has inode number N
    	-user NAME/ID	File is owned by given user
    	-group NAME/ID	File is owned by given group
    	-size N[bck]	File size is N (c:bytes,k:kbytes,b:512 bytes(def.))
    			+/-N: file size is bigger/smaller than N
    	-links N	Number of links is greater than (+N), less than (-N),
    			or exactly N
    	-prune		If current file is directory, don't descend into it
    If none of the following actions is specified, -print is assumed
    	-print		Print file name
    	-print0		Print file name, NUL terminated
    	-exec CMD ARG ;	Run CMD with all instances of {} replaced by
    			file name. Fails if CMD exits with nonzero
    	-exec CMD ARG + Run CMD with {} replaced by list of file names
    
  16. MarcoFalke commented at 2:24 PM on October 2, 2019: member

    re run ci

  17. MarcoFalke closed this on Oct 2, 2019

  18. MarcoFalke reopened this on Oct 2, 2019

  19. emilengler commented at 10:55 PM on October 2, 2019: contributor

    Concep ACK, in general it is better to rely on BusyBox rather GNU because GNU has features which other unix systems might not have.

  20. DrahtBot commented at 8:38 PM on October 3, 2019: member

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #17041 (ci: Run tests on arm by MarcoFalke)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  21. laanwj commented at 9:29 AM on October 8, 2019: member

    Concep ACK, in general it is better to rely on BusyBox rather GNU because GNU has features which other unix systems might not have.

    I guess it also reduces the number of packages that need to be built (are you using busybox utils in GUIX @dongcarl?).

    Still, we want to run some builds with GNU utilities too, to make sure compatibility is not broken there.

    ACK ddddd8961b6209cba1bcabad73916051a99f2025

  22. laanwj referenced this in commit 34919e0033 on Oct 8, 2019
  23. laanwj merged this on Oct 8, 2019
  24. laanwj closed this on Oct 8, 2019

  25. MarcoFalke deleted the branch on Oct 8, 2019
  26. sidhujag referenced this in commit 9f8d364b59 on Oct 8, 2019
  27. emilengler commented at 3:30 PM on October 9, 2019: contributor

    @laanwj Sure thing but everything which works under busybox will work under GNU but not necessarily vice versa.

  28. MarcoFalke commented at 4:06 PM on October 9, 2019: member

    @emilengler Is this documented somewhere?

  29. laanwj commented at 5:18 PM on October 9, 2019: member

    @laanwj Sure thing but everything which works under busybox will work under GNU but not necessarily vice versa.

    Even if theoretically true. I don't think any software can ever guarantee to be a strict subset of another.

  30. emilengler commented at 2:34 PM on October 10, 2019: contributor
  31. kittywhiskers referenced this in commit 53fa402fe8 on Dec 13, 2021
  32. kittywhiskers referenced this in commit ad132d81c2 on Dec 13, 2021
  33. DrahtBot locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me