Compare commits
1 commit
main
...
backup-deb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4abcf611c6 |
2 changed files with 103 additions and 12 deletions
24
README.md
24
README.md
|
|
@ -1,7 +1,6 @@
|
|||
# ~~OSBuild~~ Debian Forge
|
||||
|
||||
A
|
||||
fork of osbuild, but for debian.
|
||||
A fork of osbuild, but for debian.
|
||||
Try to be as close as 1:1 os possible
|
||||
|
||||
Build-Pipelines for Operating System Artifacts
|
||||
|
|
@ -48,11 +47,12 @@ Additionally, the built-in stages require:
|
|||
* `coreutils >= 8.31`
|
||||
* `curl >= 7.68`
|
||||
* `qemu-img >= 4.2.0`
|
||||
* `rpm >= 4.15`
|
||||
* `debootstrap >= 1.0.0`
|
||||
* `mmdebstrap >= 1.0.0`
|
||||
* `tar >= 1.32`
|
||||
* `util-linux >= 235`
|
||||
* `skopeo`
|
||||
* `python3-librepo`
|
||||
* `ostree >= 2023.1`
|
||||
|
||||
At build-time, the following software is required:
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ The main binary is safe to run on your development machine with:
|
|||
|
||||
To build an image:
|
||||
|
||||
python3 -m osbuild --libdir . ./test/data/manifests/fedora-boot.json
|
||||
python3 -m osbuild --libdir . ./test-debian-manifest.json
|
||||
|
||||
Every osbuild run uses a cache for downloaded files (sources) and, optionally,
|
||||
checkpoints of artifacts built by stages and pipelines. By default, this is
|
||||
|
|
@ -93,7 +93,7 @@ Also keep in mind that some tests require those prerequisites,
|
|||
otherwise they are skipped
|
||||
|
||||
```
|
||||
sudo dnf install -y systemd-boot-unsigned erofs-utils pykickstart podman xfsprogs
|
||||
sudo apt install -y debootstrap mmdebstrap sbuild schroot ostree qemu-utils
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
|
@ -103,20 +103,20 @@ additional artifacts such as tools (i.e: `osbuild-mpp`) sources, stages, schemas
|
|||
and SELinux policies.
|
||||
|
||||
For this reason, doing an installation from source is not trivial and the easier
|
||||
way to install it is to create the set of RPMs that contain all these components.
|
||||
way to install it is to create the set of Debian packages that contain all these components.
|
||||
|
||||
This can be done with the `rpm` make target, i.e:
|
||||
This can be done with the `deb` make target, i.e:
|
||||
|
||||
```sh
|
||||
sudo dnf builddep osbuild.spec
|
||||
make rpm
|
||||
sudo apt builddep osbuild.spec
|
||||
make deb
|
||||
```
|
||||
|
||||
A set of RPMs will be created in the `./rpmbuild/RPMS/noarch/` directory and can
|
||||
A set of Debian packages will be created in the `./debbuild/` directory and can
|
||||
be installed in the system using the distribution package manager, i.e:
|
||||
|
||||
```sh
|
||||
sudo dnf install ./rpmbuild/RPMS/noarch/*.rpm
|
||||
sudo apt install ./debbuild/*.deb
|
||||
```
|
||||
|
||||
## Repository
|
||||
|
|
|
|||
91
todo.txt
Normal file
91
todo.txt
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# Debian Forge File Structure Reorganization Plan
|
||||
# Goal: Achieve near 1:1 compatibility with original osbuild repository structure
|
||||
|
||||
## Phase 1: Restore Original Structure
|
||||
- [ ] Verify core directories exist and are complete:
|
||||
- [ ] .devcontainer/
|
||||
- [ ] .github/
|
||||
- [ ] assemblers/
|
||||
- [ ] data/
|
||||
- [ ] devices/
|
||||
- [ ] docs/
|
||||
- [ ] inputs/
|
||||
- [ ] mounts/
|
||||
- [ ] osbuild/ # Core Python package
|
||||
- [ ] runners/
|
||||
- [ ] schemas/
|
||||
- [ ] schutzbot/
|
||||
- [ ] selinux/
|
||||
- [ ] sources/
|
||||
- [ ] stages/
|
||||
- [ ] test/
|
||||
- [ ] tools/
|
||||
- [ ] samples/
|
||||
|
||||
- [ ] Restore missing configuration files:
|
||||
- [ ] .bandit
|
||||
- [ ] .editorconfig
|
||||
- [ ] .git-blame-ignore-revs
|
||||
- [ ] .gitignore
|
||||
- [ ] .gitlab-ci.yml
|
||||
- [ ] .mypy.ini
|
||||
- [ ] .packit.yaml
|
||||
- [ ] .ruff.toml
|
||||
- [ ] CODEOWNERS
|
||||
- [ ] Schutzfile
|
||||
- [ ] osbuild.spec
|
||||
- [ ] setup.cfg
|
||||
- [ ] tox.ini
|
||||
|
||||
## Phase 2: Reorganize Debian-Specific Content
|
||||
- [ ] Move Debian documentation to docs/:
|
||||
- [ ] debian-forge-docs/ → docs/debian/
|
||||
- [ ] Keep original docs/ structure intact
|
||||
|
||||
- [ ] Move Debian tests to test/:
|
||||
- [ ] debian-forge-tests/ → test/debian/
|
||||
- [ ] Ensure original test/ structure remains
|
||||
|
||||
- [ ] Move Debian blueprints to samples/:
|
||||
- [ ] blueprints/ → samples/debian/
|
||||
- [ ] Keep original samples/ content
|
||||
|
||||
- [ ] Move Debian stages to stages/:
|
||||
- [ ] Ensure Debian stages integrate with existing stage structure
|
||||
- [ ] Maintain original stage organization
|
||||
|
||||
## Phase 3: Clean Up Root Directory
|
||||
- [ ] Move Python scripts to appropriate locations:
|
||||
- [ ] composer_*.py → tools/ (if CLI tools) or osbuild/ (if core modules)
|
||||
- [ ] debian_*.py → osbuild/ (core modules)
|
||||
- [ ] build_*.py → osbuild/ (core modules)
|
||||
|
||||
- [ ] Remove custom build directories:
|
||||
- [ ] build-environments/ → Move to .osbuild/ or create proper build system integration
|
||||
- [ ] build-logs/ → Move to .osbuild/ or create proper build system integration
|
||||
- [ ] artifacts/ → Move to .osbuild/ or create proper build system integration
|
||||
|
||||
## Phase 4: Maintain Debian Functionality
|
||||
- [ ] Ensure Debian stages work with original pipeline system
|
||||
- [ ] Integrate Debian package management with existing stage architecture
|
||||
- [ ] Maintain OSTree support alongside original features
|
||||
|
||||
## Implementation Steps
|
||||
1. [ ] Audit current structure against original osbuild repository
|
||||
2. [ ] Create backup of current Debian-specific work
|
||||
3. [ ] Restore original structure from upstream
|
||||
4. [ ] Reintegrate Debian components into proper locations
|
||||
5. [ ] Test functionality to ensure nothing breaks
|
||||
6. [ ] Update documentation to reflect new structure
|
||||
|
||||
## Current Structure Issues Identified
|
||||
- Extra directories: debian-forge-docs/, debian-forge-tests/, build-environments/, build-logs/, artifacts/
|
||||
- Misplaced files: Python scripts in root that should be in tools/ or osbuild/
|
||||
- Missing original structure: Some original directories may be incomplete
|
||||
- Custom additions: Debian-specific files mixed with core structure
|
||||
|
||||
## Priority Order
|
||||
1. High: Restore core osbuild structure
|
||||
2. Medium: Reorganize Debian content
|
||||
3. Low: Clean up and optimize
|
||||
4. Critical: Maintain all Debian functionality during transition
|
||||
Loading…
Add table
Add a link
Reference in a new issue