xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
<root> / Makefile.in (49fb9ac116dad2789e2b30046be0c9040ec2e880) (2,792B) (mode 100644) [raw]
.PHONY: all
all:	selinux compare

.PHONY: selinux
selinux:
	@echo "Building SELinux..."
	cd selinux && ./build.sh

compare: compare.csv
	php misc/compare.php compare.csv root/themes/default/compare.html

.PHONY: clean
clean:
	make -C tests clean
	@-rm -f $(PRJ)-*.rpm $(PRJ)-*-*-*.tgz $(PRJ)-*.tar.gz
	@-rm -rf selinux/out
	@find . -type f -name '*.strace' -exec rm -f {} \;
	@find . -type f -name '*.log' -exec rm -f {} \;
	@find . -type f -name '*.out' -exec rm -f {} \;
	@find . -type f -name '*.bak' -exec rm -f {} \;

.PHONY: tests
tests:
	make -C tests all

install:	all
	@mkdir -pv $(I_USR_SHARE)/$(PRJ)
	cp -vdr inc hooks root scripts $(I_USR_SHARE)/$(PRJ)
	@
	@echo "Installing configs..."
	@mkdir -pv $(I_ETC)/xinetd.d
	cp -vd --no-clobber samples/rg $(I_ETC)/xinetd.d/$(PRJ)
	@mkdir -pv $(I_ETC)/cron.d
	cp -vd --no-clobber samples/cron $(I_ETC)/cron.d/$(PRJ)
	@mkdir -pv $(I_ETC)/httpd/conf.d
	cp -vd --no-clobber samples/rg.conf $(I_ETC)/httpd/conf.d/$(PRJ).conf
	@mkdir -pv $(I_ETC)/$(PRJ)
	cp -vd --no-clobber samples/config.php $(I_ETC)/$(PRJ)/
	cp -vd samples/config.php $(I_ETC)/$(PRJ)/config.php.sample
	cp -vd --no-clobber samples/php-fpm.conf $(I_ETC)/$(PRJ)/
	cp -vd --no-clobber samples/pool.conf $(I_ETC)/$(PRJ)/
	@mkdir -pv $(I_ETC)/logrotate.d
	cp -vd samples/logrotate $(I_ETC)/logrotate.d/$(PRJ)
	@mkdir -pv $(I_USR)/lib/systemd/system/
	cp -vd samples/rocketgit-fpm.service $(I_USR)/lib/systemd/system/rocketgit-fpm.service
	@
	@echo "Installing tools..."
	@mkdir -pv $(I_USR_SBIN)
	cp -vd tools/* $(I_USR_SBIN)/
	@-chown root:root $(I_USR_SBIN)/rg_*
	@
	@echo "Installing log stuff..."
	@mkdir -pv $(I_VAR_LOG)/$(PRJ)
	@-chown -R rocketgit:rocketgit $(I_VAR_LOG)/$(PRJ)
	@-find $(I_VAR_LOG)/$(PRJ) -type d -exec chmod -R 0700 {} \;
	@-find $(I_VAR_LOG)/$(PRJ) -type f -exec chmod -R 0600 {} \;
	@
	@echo "Installing varlib stuff..."
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)/locks
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)/repos
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)/q_merge_requests
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)/qstats
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)/sockets
	@mkdir -pv $(I_VAR_LIB)/$(PRJ)/worker
	@
	@echo "Fixing rights..."
	@echo "Fixing rights: /var/lib dirs..."
	@-find $(I_VAR_LIB)/$(PRJ) -mindepth 1 -type d | xargs chmod -c 0700
	@echo "Fixing rights: /var/lib files..."
	@-find $(I_VAR_LIB)/$(PRJ) -type f | xargs chmod -c 0600
	@mkdir -pv --mode=0700 $(I_VAR_LIB)/$(PRJ)/tmp
	@-chown -R rocketgit:rocketgit $(I_VAR_LIB)/$(PRJ)
	@-chown root:root $(I_VAR_LIB)/$(PRJ)/worker
	@-chown root:root $(I_VAR_LIB)/$(PRJ)
	@-chmod -c 0755 $(I_VAR_LIB)/$(PRJ)
	@
	@echo "Installing SELinux stuff..."
	@mkdir -pv --mode=0755 $(I_USR_SHARE)/selinux/targeted
	cp -vd selinux/out/$(PRJ)-targeted.pp $(I_USR_SHARE)/selinux/targeted/$(PRJ).pp
	@echo "Done!"
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master