{"id":19195395,"url":"https://github.com/ardupilot/custombuild","last_synced_at":"2025-05-09T00:03:58.646Z","repository":{"id":37989670,"uuid":"378080085","full_name":"ArduPilot/CustomBuild","owner":"ArduPilot","description":"Custom build server source","archived":false,"fork":false,"pushed_at":"2025-05-04T09:04:32.000Z","size":353,"stargazers_count":20,"open_issues_count":24,"forks_count":55,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-09T00:03:53.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArduPilot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-06-18T08:10:19.000Z","updated_at":"2025-05-04T09:04:36.000Z","dependencies_parsed_at":"2024-03-15T06:29:39.373Z","dependency_job_id":"bda4f9cb-7181-44ba-8189-e137ea1e76e1","html_url":"https://github.com/ArduPilot/CustomBuild","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FCustomBuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FCustomBuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FCustomBuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArduPilot%2FCustomBuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArduPilot","download_url":"https://codeload.github.com/ArduPilot/CustomBuild/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166514,"owners_count":21864475,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T12:09:48.226Z","updated_at":"2025-05-09T00:03:58.577Z","avatar_url":"https://github.com/ArduPilot.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ArduPilot Custom Firmware Builder - GSoC 2021 Project\n\n## Summary\n\nThis is a website that generates a downloadable custom ArduPilot firmware, based on user selection.\nWebsite: https://custom.ardupilot.org\nBlog post: https://discuss.ardupilot.org/t/gsoc-2021-custom-firmware-builder/74946\n\n## How to build the server locally for testing\n\nIt is expected that you have an environment where ArduPilot can be built. Otherwise, see [https://ardupilot.org/dev/docs/building-setup-linux.html](https://ardupilot.org/dev/docs/building-setup-linux.html).\n\n1. Fork and Clone the ArduPilot/CustomBuild repository\n\n2. In the directory containing the CustomBuild repo just cloned, create a /base subdirectory and change to that directory.\n\n3. Clone a fork of the ArduPilot/ardupilot repository.\n\n### Detailed Instructions for Ubuntu\n\nFor example, here are the commands for Ubuntu.\n\nIf not already set up, [configure your Git username](https://git-scm.com/docs/git-config#Documentation/git-config.txt-credentialusername):\nSubstitute `your-github-account` with your Github username.\n```\ngit config --global credential.username your-github-account\n```\n\nNext, clone the repositories:\n```bash\ngit config credential.username your-github-account\ncd ~\ngit clone git@github.com:$(git config credential.username)/CustomBuild.git\ngit clone --depth 1 git@github.com:$(git config credential.username)/ardupilot.git base/ardupilot\n```\n\nFinally, add the upstream ArduPilot to your remotes.\n```bash\ngit -C base/ardupilot remote add upstream git@github.com:ardupilot/ardupilot.git\ngit -C base/ardupilot fetch --depth 1 upstream\n```\n\n### Directory structure\n\nThe default directory structure is as follows:\n```\n/home/\u003cusername\u003e\n-CustomBuild\n-base\n--ardupilot\n```\n\n\n### Install Dependencies\n\n```bash\ncd ~/CustomBuild\npython3 -m pip install --user --upgrade --requirement requirements.txt\n```\n\n### Running\n\nTo run, in the CustomBuild directory execute the following command:\n\n```bash\ncd ~/CustomBuild\n./app.py\n```\n\nUse `--basedir` to adjust the base directory. The default one is `base`.\n\nOnce running, you will be given a link to a local host port in which the interface is displayed for the build server. It can be run at this point. Output will NOT be accessible via the interface buttons for build directory. Builds are stored in the base/builds subdirectory\n\n### For Apache web server on Ubuntu with WSGI\nTo create a full server with network access:\n\n* Install mod_wsgi for python 3:\n```bash\nsudo apt-get install apache2 libapache2-mod-wsgi-py3 python3 python3-pip\n```\n\n* update /etc/apache2/envvars\n1. set correct username and group (default is www-data)\n2. add ```export PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH``` to end of file (this is default location if you have followed the dev env setup instructions above)\n\n* Copy the config file to `/etc/apache2/sites-available/` and specify the correct directory.\n\n* Edit the file as necessary for your use case\n\n* Enable the file:\n```bash\nsudo a2ensite CustomBuild.conf\n```\n* To restart Apache:\n```bash\nsudo apache2ctl graceful\n```\n* To stop Apache:\n```bash\nsudo apache2ctl stop\n```\n* To start Apache:\n```bash\nsudo apache2ctl start\n```\nWebpage: 127.0.0.1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardupilot%2Fcustombuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fardupilot%2Fcustombuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fardupilot%2Fcustombuild/lists"}