Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Qusal RPM specs with Qubes Builder V2 #59

Open
ben-grande opened this issue Jun 14, 2024 · 3 comments
Open

Build Qusal RPM specs with Qubes Builder V2 #59

ben-grande opened this issue Jun 14, 2024 · 3 comments
Labels
T: enhancement New feature or request
Milestone

Comments

@ben-grande
Copy link
Owner

Current problem (if any)

Build is done on separate qube, but it is manual work.

Proposed solution

Builder V2 has nice properties such as building in a disposable qube that can have a chroot set to the same Fedora release, this can be good to avoid incompatibilities.

Builder V2 may be over powered considering all the code in Qusal was verified by me and there is no external dependencies.

The value to a user, and who that user might be

  • User can have peace of mind knowing the build security is increased.
  • Developer can spend less time building and more time producing.

.

@ben-grande ben-grande added the T: enhancement New feature or request label Jun 14, 2024
ben-grande added a commit that referenced this issue Jun 20, 2024
ben-grande added a commit that referenced this issue Jun 20, 2024
ben-grande added a commit that referenced this issue Jun 24, 2024
The spec-build.sh was necessary for a proper build, but it is not
correct to depend on external scripts to generate the correct
RPM_BUILD_ROOT files. Now everything is contained in the spec file. The
spec-build.sh can be used in the future to automate the process of
copying sources to the specified directory and signing, but not
modifying the sources contents on a per file basis.

For: #59
ben-grande added a commit that referenced this issue Jun 24, 2024
ben-grande added a commit that referenced this issue Jun 24, 2024
Dotfiles build failed as it is a submodule and contains ".git" and
"LICENSES". Hidden files in the base directory are normally used to
specify configuration of tools for development, not usable in packages.

For: #59
@ben-grande
Copy link
Owner Author

The RPM requires each other, the problem arises when user just depends on another formula as a library, not to build everything (qubes) from the other project. On the other hand, sometimes they are necessary, such as sys-electrs depending on sys-bitcoin or dev depending on sys-ssh-agent and sys-pgp. A notation to specify if another package is required to build the qubes needs to be created.

There are 55 RPMs specs, the build can take a long time. Maybe the number of RPMs will stay high, but what should be used instead is one RPM to provide the salt formulas as a library to be included by other formulas, instead of having to create all qubes of the other formula. qusal-lib for example which would install all formulas states to /srv/ while qusal-dev would only run the %install stage basically, as there is nothing to be built.

ben-grande added a commit that referenced this issue Jun 24, 2024
@ben-grande
Copy link
Owner Author

Warning about qubes-release: it is uncessary for separate repos, only useful if distributing all Qubes components.

Extraneous file: repodata/repomd.xml.metalink, comps.xml and comps-host.xml. Metalink will only be useful once we have a mirror and comps only if we plan to mess with Fedora groups.

ben-grande added a commit that referenced this issue Jun 25, 2024
@ben-grande
Copy link
Owner Author

Technically, the Builder integration is "finished", what is unfinished is how to handle the RPM specs... should one RPM spec bring every formula as source and each separate formula only produces an installation procedure that depends on the source package? May be easier.

@ben-grande ben-grande added waiting for upstream Future depends on upstream and removed waiting for upstream Future depends on upstream labels Oct 18, 2024
@ben-grande ben-grande added this to the Release 0.0.1 milestone Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant