{"id":34329513,"url":"https://github.com/cfengine/buildscripts","last_synced_at":"2025-12-17T17:56:14.027Z","repository":{"id":9289303,"uuid":"11123899","full_name":"cfengine/buildscripts","owner":"cfengine","description":"Build scripts for CFEngine Community packages","archived":false,"fork":false,"pushed_at":"2025-12-11T14:34:28.000Z","size":10849,"stargazers_count":16,"open_issues_count":12,"forks_count":37,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-12-12T11:55:10.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cfengine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2013-07-02T11:55:07.000Z","updated_at":"2025-12-11T14:34:31.000Z","dependencies_parsed_at":"2023-12-22T10:46:59.865Z","dependency_job_id":"50d5b56e-af6f-4f93-93c8-a47f63a60a6f","html_url":"https://github.com/cfengine/buildscripts","commit_stats":null,"previous_names":[],"tags_count":479,"template":false,"template_full_name":null,"purl":"pkg:github/cfengine/buildscripts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfengine%2Fbuildscripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfengine%2Fbuildscripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfengine%2Fbuildscripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfengine%2Fbuildscripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cfengine","download_url":"https://codeload.github.com/cfengine/buildscripts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cfengine%2Fbuildscripts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27785279,"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","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-12-17T17:56:13.433Z","updated_at":"2025-12-17T17:56:14.017Z","avatar_url":"https://github.com/cfengine.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repository contains the necessary tools to build and test cfengine packages for various platforms.\n\n## Hardware requirements\n\nBy experimentation I have found that building hub packages, which includes php dependency requires more than 1.6G of RAM/swap.\n2.6G worked for me, less might work as well.\n\n## Example build of Community Agent\n\nA minimal example would be to build packages for cfengine community agent.\nThis should be done in an isolated environment such as a dedicated host, virtual machine or linux container.\n\nInstall necessary distribution packages.\nFor example on debian/ubuntu:\n\n```\napt update -y\napt upgrade -y\napt install -y git autoconf automake m4 make bison flex binutils libtool gcc g++ libc-dev libpam0g-dev python3 psmisc libtokyocabinet-dev libssl-dev libpcre2-dev default-jre-headless build-essential fakeroot ntp dpkg-dev debhelper pkg-config nfs-common sudo apt-utils wget libncurses5 rsync libexpat1-dev libexpat1 curl\napt purge -y emacs emacs24 libltdl-dev libltdl7\n```\n\nGet the cfengine source code:\n\n```\nmkdir $HOME/cfengine\ncd $HOME/cfengine\ngit clone --recursive --depth 1 https://github.com/cfengine/core\ngit clone --depth 1 https://github.com/cfengine/buildscripts\ngit clone --depth 1 https://github.com/cfengine/masterfiles\n```\n\nSet some environment variables:\n\n```\nexport NO_CONFIGURE=1\nexport PROJECT=community\nexport BUILD_TYPE=DEBUG\nexport EXPLICIT_ROLE=agent\n```\n\nExecute the build steps and see that packages are generated:\n\n```\n./buildscripts/build-scripts/autogen\n./buildscripts/build-scripts/clean-buildmachine\n./buildscripts/build-scripts/install-dependencies\n./buildscripts/build-scripts/configure\n./buildscripts/build-scripts/compile\n./buildscripts/build-scripts/package\nls -l cfengine-community/*.deb\n```\n\n## General Build Machine Prerequisites\n\nDue to sheer diversity of the environments, build machine is expected to provide strict minimum amount of software (don't forget `--no-install-recommends` on dpkg-based systems):\n\nTo access the build machine:\n\n- SSH server\n  - Bundled one on Unixes\n  - FreeSSHd on Windows\n- 'build' account with SSH key installed\n\nTo transfer files back and forth:\n\n- rsync on Unixes\n- 7z on Windows\n\nTo be able to install packages and run tests:\n\n- passwordless sudo access for 'build' account\n- sudo should not require TTY (remove 'Defaults requiretty' from /etc/sudoers)\n\nTo build everything:\n\n- GCC (gcc)\n  - Additionally, libgcc is used on AIX and Solaris only\n- GNU make (make)\n- libc development package (libc-dev, glibc-devel)\n- bison (bison)\n- flex (flex)\n- fakeroot (but not fakeroot 1.12, it is horribly slow!)\n\nTo create packages:\n\n- Native packaging manager\n  - rpm-build on RPM-based systems\n  - dpkg-dev, debhelper, fakeroot\n  - WiX on Windows\n\nTo build MySQL library (yeah!):\n\n- g++ (gcc-c++, g++)\n- ncurses (ncurses-devel, libncurses5-dev)\n\nTo build libvirt:\n\n- pkg-config (pkg-config, pkgconfig)\n\nAnything else is either preprocessed on buildbot slave or built and installed during build.\n\n## Documentation build pre-requisites\n\n- texinfo\n- texlive\n- cm-super\n- texlive-fonts-extra\n\n## Non-requisites\n\nBuild machines should not contain the following items, which may interfere with build process:\n\n- CFEngine itself, either in source or binary form (build machines are short-living, so this is not a problem)\n- Development packages for anything beside libc to avoid picking them up instead of bundled ones accidentally.\n- MySQL and PostgreSQL servers, clients and libraries\n\nThe following packages should not be installed on build machines as well, to avoid accidentally regenerating files transferred from buildslave:\n\n- automake\n- autoconf\n- libtool\n\n## Dependencies\n\nFile `install-dependencies` and the relevant subdirectories in `deps-packaging` are the source of this information.\n\n### Agent Dependencies\n\n| CFEngine version                                                                  | 3.21.x | 3.24.x | master | Notes                    |\n| :-------------------------------------------------------------------------------- | :----- | :----- | :----- | :----------------------- |\n| [diffutils](https://ftpmirror.gnu.org/diffutils/)                                 | 3.12   | 3.12   | 3.12   |                          |\n| [libacl](https://download.savannah.gnu.org/releases/acl/)                         | 2.3.2  | 2.3.2  | 2.3.2  |                          |\n| [libattr](https://download.savannah.gnu.org/releases/attr/)                       | 2.5.2  | 2.5.2  | 2.5.2  |                          |\n| [libcurl](https://curl.se/download.html)                                          | 8.17.0 | 8.17.0 | 8.17.0 |                          |\n| [libgnurx](https://www.gnu.org/software/rx/rx.html)                               | 2.5.1  | 2.5.1  | 2.5.1  | Windows Enterprise agent |\n| [libiconv](https://ftp.gnu.org/gnu/libiconv/)                                     | 1.18   | 1.18   | 1.18   | Needed by libxml2        |\n| [libxml2](https://gitlab.gnome.org/GNOME/libxml2)                                 | 2.15.1 | 2.15.1 | 2.15.1 |                          |\n| [libyaml](https://pyyaml.org/wiki/LibYAML)                                        | 0.2.5  | 0.2.5  | 0.2.5  |                          |\n| [LMDB](https://github.com/LMDB/lmdb/)                                             | 0.9.33 | 0.9.33 | 0.9.33 |                          |\n| [OpenLDAP](https://www.openldap.org/software/download/OpenLDAP/openldap-release/) | 2.6.10 | 2.6.10 | 2.6.10 | Enterprise agent only    |\n| [OpenSSL](https://openssl.org/)                                                   | 3.0.18 | 3.6.0  | 3.6.0  | See **note** below       |\n| [PCRE](https://www.pcre.org/)                                                     | 8.45   | -      | -      |                          |\n| [PCRE2](https://github.com/PCRE2Project/pcre2/releases/)                          | -      | 10.47  | 10.47  |                          |\n| [pthreads-w32](https://sourceware.org/pub/pthreads-win32/)                        | 2-9-1  | 2-9-1  | 2-9-1  | Windows Enterprise agent |\n| [SASL2](https://www.cyrusimap.org/sasl/)                                          | 2.1.28 | 2.1.28 | 2.1.28 | Solaris Enterprise agent |\n| [zlib](https://www.zlib.net/)                                                     | 1.3.1  | 1.3.1  | 1.3.1  |                          |\n| [librsync](https://github.com/librsync/librsync/releases)                         | -      | -      | 2.3.4  |                          |\n| [leech](https://github.com/larsewi/leech/releases)                                | -      | -      | 0.2.0  |                          |\n\n**Note:** We don't package OpenSSL for RHEL \u003e= 8 and SuSE \u003e= 15.\nWe use the systems bundled SSL for these platforms.\n\n### Enterprise Hub dependencies\n\n| CFEngine version                                    | 3.21.x | 3.24.x | master |\n| :-------------------------------------------------- | :----- | :----- | :----- |\n| [Apache](https://httpd.apache.org/)                 | 2.4.66 | 2.4.66 | 2.4.66 |\n| [APR](https://apr.apache.org/)                      | 1.7.6  | 1.7.6  | 1.7.6  |\n| [apr-util](https://apr.apache.org/)                 | 1.6.3  | 1.6.3  | 1.6.3  |\n| [Git](https://www.kernel.org/pub/software/scm/git/) | 2.52.0 | 2.52.0 | 2.52.0 |\n| [libexpat](https://libexpat.github.io/)             | -      | 2.7.3  | 2.7.3  |\n| [PHP](https://php.net/)                             | 8.3.28 | 8.3.28 | 8.4.14 |\n| [PostgreSQL](https://www.postgresql.org/)           | 15.15  | 16.11  | 18.1   |\n| [nghttp2](https://nghttp2.opg/)                     | -      | -      | 1.68.0 |\n| [rsync](https://download.samba.org/pub/rsync/)      | 3.4.1  | 3.4.1  | 3.4.1  |\n\n- [MinGW-w64](https://sourceforge.net/projects/mingw-w64/) **OUTDATED** needed\n  for [redmine#2932](https://dev.cfengine.com/issues/2932)\n  - Requires change of buildslaves (autobuild)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfengine%2Fbuildscripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcfengine%2Fbuildscripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcfengine%2Fbuildscripts/lists"}