update build system
This commit is contained in:
33
Makefile
Normal file
33
Makefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
BUILDDIR := ./void-packages
|
||||||
|
TEMPLATES := $(shell find srcpkgs/* -maxdepth 0 -type d)
|
||||||
|
PACKAGES := $(addprefix $(BUILDDIR)/,$(notdir $(TEMPLATES)))
|
||||||
|
|
||||||
|
all: sync $(PACKAGES)
|
||||||
|
|
||||||
|
$(info TEMPLATES: $(TEMPLATES))
|
||||||
|
$(info PACKAGES: $(PACKAGES))
|
||||||
|
|
||||||
|
$(BUILDDIR)/%: srcpkgs/%
|
||||||
|
@echo "Building package: $<"
|
||||||
|
@rm -rf $(BUILDDIR)/srcpkgs/$<
|
||||||
|
@cp -ru $< $(BUILDDIR)/srcpkgs/
|
||||||
|
@-cd $(BUILDDIR) && ./xbps-src clean $<
|
||||||
|
@-cd $(BUILDDIR) && ./xbps-src pkg $< || echo "Warning: Failed to build $<"
|
||||||
|
@mkdir -p ./dest
|
||||||
|
@-cp -u $(BUILDDIR)/hostdir/binpkgs/*.xbps ./dest/
|
||||||
|
@-cp $(BUILDDIR)/hostdir/binpkgs/x86_64-repodata ./dest/
|
||||||
|
|
||||||
|
sync: sync-build
|
||||||
|
sync-fetch:
|
||||||
|
test -d $(BUILDDIR) || git clone --depth=1 https://github.com/void-linux/void-packages.git $^
|
||||||
|
sync-update: sync-fetch
|
||||||
|
@cd $(BUILDDIR) && git pull
|
||||||
|
sync-build: sync-update
|
||||||
|
@cd $(BUILDDIR) && ./xbps-src binary-bootstrap
|
||||||
|
sync-clean:
|
||||||
|
rm -rf $(BUILDDIR)
|
||||||
|
|
||||||
|
build-clean:
|
||||||
|
rm -rf ./dest
|
||||||
|
|
||||||
|
clean: sync-clean build-clean
|
@ -6,3 +6,8 @@ To install the packages in this repo make a file called:
|
|||||||
```conf
|
```conf
|
||||||
repository=https://voidpkgs.squi.bid
|
repository=https://voidpkgs.squi.bid
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Building
|
||||||
|
To add a template to the repository make a template in the srcpkgs directory.
|
||||||
|
To build all packages run `make` to choose a specific one run
|
||||||
|
`make TEMPLATES=srcpkgs/your_package_name`.
|
||||||
|
28
build.sh
28
build.sh
@ -1,28 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# a small script to help me compile all packages and push them to my server
|
|
||||||
|
|
||||||
set -e # exit asap
|
|
||||||
|
|
||||||
# cleanup previous build
|
|
||||||
if [ "$1" = "clean" ]; then
|
|
||||||
rm -rf ./dest ./void-packages
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p ./dest
|
|
||||||
[ ! -d void-packages ] && git clone --depth 1 https://github.com/void-linux/void-packages.git
|
|
||||||
./void-packages/xbps-src binary-bootstrap
|
|
||||||
|
|
||||||
for f in srcpkgs/*; do
|
|
||||||
cp ./"$f" ./void-packages/"$f" -ruf
|
|
||||||
./void-packages/xbps-src pkg "$f"
|
|
||||||
cp ./void-packages/hostdir/binpkgs/*.xbps ./dest/ -u
|
|
||||||
done
|
|
||||||
|
|
||||||
# copy repodata after building all packages
|
|
||||||
cp ./void-packages/hostdir/binpkgs/x86_64-repodata ./dest/
|
|
||||||
|
|
||||||
# tell the builder to sign their packages
|
|
||||||
printf "\n\n\033[1;31mRun the following commands:\033[m\n"
|
|
||||||
printf 'xbps-rindex -s ./dest --privkey \033[31m/path/to/key\033[m --signedby \033[31m"Name <Email>"\033[m\n'
|
|
||||||
printf 'xbps-rindex -S ./dest/* --privkey \033[31m/path/to/key\033[m\n'
|
|
Reference in New Issue
Block a user