cd sources/llama.cpp
../build-pbuilder bullseye amd64 debian/bullseye
-## Development ##
-When developing the packaging, cd to a layer directory and [use git-buildpackage as usual](https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/).
-
-A shortcut is provided (which requires the dependent packages to be installed locally). For example:
-
- cd sources/whisper.cpp
- ../build.dev
-
+## Maintenance ##
### Update upstream
(Using `ggml` as an example, the same approach applies to the other layers)
In a given layer git repository, make sure the upstream git repository is registered as remote:
- cd sources/ggmll
+ cd sources/ggml
git remote add github https://github.com/ggml-org/ggml.git
-Fetch new commits from upstreams's `main` branch, and merge them to the `upstream/latest` branch.
+Fetch new commits from upstreams's `master` branch, and merge them to the `upstream/latest` branch.
- git fetch github main
+ git fetch --tags github master
git checkout upstream/latest
git merge --ff-only github/master
Check out the commit you are interested in and count revisions in order to create a versioned tag:
git checkout 9a4acb374565f4146b8d6eb1cffdcd7d437d1ba2
- # ggml or llama.cpp
- git tag upstream/0.0.$(git rev-list --count HEAD)
- # whisper.cpp
- # git tag upstream/1.7.4+$(git rev-list --count v1.7.4..HEAD)
+ # git checkout b4719 # llama.cpp
+ git tag -m "Pinned upstream commit" upstream/0.0.$(git rev-list --count HEAD) # ggml or llama.cpp
+ # git tag -m "Pinned upstream commit" upstream/1.7.4+$(git rev-list --count v1.7.4..HEAD) # whisper.cpp
### New package release
After updating upstream, checkout `debian/latest` and merge from upstream tag:
git checkout debian/latest
- git merge upstream/0.0.1722
+ git merge --no-commit upstream/0.0.1722
Edit `debian/changelog` and perform packaging-specific changes.
-Test the build locally:
+Commit changes and test the build locally:
../build-pbuilder bookworm amd64
+Push to remote repositories:
+
+ git push --tags origin "debian/*" "upstream/*"
+ # git push --tags mbaudier@github "debian/*" "upstream/*"
+
### Using locally built packages
Except for `ggml` itself, pbuilder/cowbuilder needs to be configured appropriately
in order to use either a local repository with the `ggml` packages you just built,
cd /srv/repo/deb/sid/ml/1.1
apt-ftparchive packages . > Packages
-(Or [hooks](https://wiki.debian.org/PbuilderTricks#How_to_include_local_packages_in_the_build) can be used.)
\ No newline at end of file
+(Or [hooks](https://wiki.debian.org/PbuilderTricks#How_to_include_local_packages_in_the_build) can be used.)
+
+## Development ##
+When developing the packaging, cd to a layer directory and [use git-buildpackage as usual](https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/).
+
+A shortcut is provided in order to build the packages in-tree.
+(It requires the dependent packages to be installed locally).
+For example:
+
+ cd sources/whisper.cpp
+ ../build.dev