Skip to content

Instantly share code, notes, and snippets.

@lanefu
Last active July 29, 2023 11:50
Show Gist options
  • Save lanefu/5bce74a28069a90e856d6af2f4e820c7 to your computer and use it in GitHub Desktop.
Save lanefu/5bce74a28069a90e856d6af2f4e820c7 to your computer and use it in GitHub Desktop.
Getting Armbian Builder to assemble VyOS packages

vyos for armbian

update

I gave up. vyos docker + maclan looks much more managable

steps to implementaiton

  1. checkout vyos build
  2. checkout all submodules
  3. identify easiest way to parse a deb-control file aka package-folder/debian/control
    1. convert comma delimited to space delimeted
    2. strip version requirements or figure out how to forward requreiment in file format
  4. document template for armbian extras-buildpkg .conf file format
  5. generate extras-buildpkg .conf files for the vyos packages
  6. blacklist bad packages like vyos-kernel
  7. generate package list all all vyos debs so they can be used later code if needed
  8. patch armbian fetch_from_repo function to support full size commit hashes
  9. sane procedure for adding via userpatches
  10. look for missing vyos shell scripts etc from livebuild repo and install

specific procedures

armbian extra-bulkpkg conf format

how i found the fields lane@armbian-builder:~/GIT/build/packages/extras-buildpkgs$ cat *.conf|awk '{print $2}'|fgrep =|cut -d'=' -f1|sort|uniq

all fields

package_builddeps
package_builddeps_jessie
package_builddeps_stretch
package_builddeps_xenial
package_component
package_install_chroot
package_install_target
package_name
package_ref
package_repo
package_upstream_version

conf file template

package_name="{{ package_name }}"
package_repo="{{ submodule_git_repo }}"
package_ref="{{ rebmodule_ref_hash }}"
package_builddeps_jessie="{{ dependencies_seperated_by_space }}"
package_install_target="{{ package_name}}"
package_component=${release}-utils"
# optionally could be ${release}-vyos

hacks workarounds

  • disable the ref validation in fetch from repo in general.sh
  • add --create to debchange script to create changelong
  • make crosscompiler -j2 tunable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment