mirror of
https://github.com/klaussilveira/gitlist.git
synced 2025-11-17 19:20:56 +01:00
147
pkg_builder/Makefile
Normal file
147
pkg_builder/Makefile
Normal file
@@ -0,0 +1,147 @@
|
||||
# Main Info
|
||||
NAME = gitlist
|
||||
DESCRIPTION = "An elegant and modern git repository viewer"
|
||||
LICENSE = New BSD
|
||||
GROUP = gitlist
|
||||
VENDOR = gitlist.org
|
||||
URL = "http://www.gitlist.org"
|
||||
|
||||
#BUILD Info
|
||||
PREFIX = /usr/share
|
||||
PROJROOT = "$(shell pwd)"
|
||||
SRCROOT = "$(shell pwd)/gitlist"
|
||||
UPSTREAM_VERSION = $(shell cat tools/release.info | head -n1 | cut -d"=" -f2)
|
||||
BUILD_STAMP = $(shell date +"%Y%m%d%H%M%S")
|
||||
|
||||
#Packager Info
|
||||
PACKAGER = $(shell git config user.name)
|
||||
PACKAGER_MAIL = $(shell git config user.email)
|
||||
|
||||
#Debian Package Info
|
||||
PACKAGE-VERSION= 1
|
||||
DEBIAN_BUILD_ROOT = ${PROJROOT}/debian/
|
||||
PROJECT_DEBIAN_LIKE_NAME=$(shell cat tools/release.info | grep name | cut -d"=" -f2)
|
||||
DEBIAN_NAME=$(PROJECT_DEBIAN_LIKE_NAME)$(shell echo "_")$(UPSTREAM_VERSION)-${PACKAGE-VERSION}$(shell echo "_all.deb")
|
||||
DEBIAN_VERSION =
|
||||
# Generating control file
|
||||
define control
|
||||
Package: $(PROJECT_DEBIAN_LIKE_NAME)
|
||||
Version: $(UPSTREAM_VERSION)-${PACKAGE-VERSION}
|
||||
Architecture: all
|
||||
Section: web
|
||||
Priority: optional
|
||||
Maintainer: "${PACKAGER} <${PACKAGER_MAIL}>"
|
||||
Description: ${DESCRIPTION}
|
||||
endef
|
||||
export control
|
||||
|
||||
all:
|
||||
@echo "... $(UPSTREAM_VERSION)"
|
||||
@echo "... $(PACKAGER)"
|
||||
@echo "... $(PACKAGER_MAIL)"
|
||||
@echo "... $(DEBIAN_NAME)"
|
||||
|
||||
help:
|
||||
@echo "To use this make file just:"
|
||||
@echo "Download the gitlist tarball and stract it into a folder called gitlist"
|
||||
@echo "make [build_deb|build_rpm|build(apache|nginx|lighthttp)]"
|
||||
|
||||
clean_deb:
|
||||
@echo "Cleaning . . ."
|
||||
@rm -rf ${DEBIAN_BUILD_ROOT}/*.deb
|
||||
@rm -rf ${PROJROOT}/debian
|
||||
|
||||
prepare_deb: clean_deb
|
||||
@echo "############################### - Building DEB"
|
||||
@mkdir ${DEBIAN_BUILD_ROOT} -pv
|
||||
@mkdir ${DEBIAN_BUILD_ROOT}/DEBIAN -pv
|
||||
@mkdir ${DEBIAN_BUILD_ROOT}${PREFIX}/${PROJECT_DEBIAN_LIKE_NAME} -pv
|
||||
|
||||
copy_deb_files: prepare_deb
|
||||
@echo "$$control" > ${DEBIAN_BUILD_ROOT}/DEBIAN/control
|
||||
|
||||
copy_deb: copy_deb_files
|
||||
@echo Sync files
|
||||
@rsync -avz ${SRCROOT} ${DEBIAN_BUILD_ROOT}${PREFIX}/
|
||||
|
||||
md5sum_deb: copy_deb
|
||||
@cd debian; find . -type f ! -regex '.*\.hg.*' ! -regex '.*?debian-binary.*' ! -regex '.*?DEBIAN.*' | xargs -d "\n" md5sum > DEBIAN/md5sums
|
||||
|
||||
deb_uniq: md5sum_deb
|
||||
@mkdir ${PROJROOT}/pkg -p
|
||||
@dpkg -b debian $(DEBIAN_NAME);
|
||||
@mv $(DEBIAN_NAME) ${PROJROOT}/pkg/
|
||||
@rm debian -rf
|
||||
@echo '### Wrote $(DEBIAN_NAME) in ${PROJROOT}/pkg/ . . . . . Success'
|
||||
|
||||
|
||||
build_deb: deb_uniq
|
||||
|
||||
#### RPM STUFF
|
||||
|
||||
RPM_NAME=$(PROJECT_DEBIAN_LIKE_NAME)$(shell echo "_")$(UPSTREAM_VERSION)-${PACKAGE-VERSION}$(shell echo "_all.rpm")
|
||||
|
||||
DIST_DIR = dist
|
||||
TAR_DIR = tar
|
||||
|
||||
RPM_DIR = rpm
|
||||
RPM_DIRS = SPECS RPMS SOURCES BUILD
|
||||
|
||||
clean_rpm:
|
||||
@echo Cleaning temporary dirs...
|
||||
@rm -rf $(TAR_DIR)
|
||||
@rm -rf $(RPM_DIR)
|
||||
@rm -rf $(DIST_DIR)
|
||||
|
||||
rpm_init: clean_rpm
|
||||
@echo Creating directories...
|
||||
@echo $(DIST_DIR)
|
||||
@mkdir -p $(DIST_DIR)
|
||||
@for dir in $(RPM_DIRS); do \
|
||||
echo $(RPM_DIR)/$$dir; \
|
||||
mkdir -p $(RPM_DIR)/$$dir; \
|
||||
done
|
||||
|
||||
rpm_preptar: rpm_init
|
||||
@echo Copying files to generate tar...
|
||||
@echo creating directory: $(TAR_DIR)/
|
||||
@mkdir $(TAR_DIR)/ -p
|
||||
@rsync -avz --exclude ".git" --exclude ".gitignore" --exclude "builder" gitlist $(TAR_DIR)/
|
||||
|
||||
rpm_tar: rpm_preptar
|
||||
@echo Generating tarball...
|
||||
@cd $(PROJROOT)/$(TAR_DIR); \
|
||||
tar cf $(PROJROOT)/$(RPM_DIR)/SOURCES/$(NAME).tar .
|
||||
|
||||
rpm: rpm_tar
|
||||
@echo Calling rpmbuild...
|
||||
@echo Vesion: $(VERSION)
|
||||
@cp tools/$(NAME).spec $(RPM_DIR)/SPECS/
|
||||
|
||||
@cd $(PROJROOT)/$(RPM_DIR)/SPECS ; \
|
||||
rpmbuild -bb \
|
||||
--buildroot="$(PROJROOT)/$(RPM_DIR)/BUILD/$(NAME)" \
|
||||
--define "_topdir $(PROJROOT)/$(RPM_DIR)" \
|
||||
--define "name $(NAME)" \
|
||||
--define "summary "$(DESCRIPTION)"" \
|
||||
--define "version $(UPSTREAM_VERSION)" \
|
||||
--define "release $(PACKAGE-VERSION)" \
|
||||
--define "url _$(URL)_" \
|
||||
--define "license $(LICENSE)" \
|
||||
--define "group $(GROUP)" \
|
||||
--define "vendor $(VENDOR)" \
|
||||
--define "packager $(PACKAGER)" \
|
||||
--define "prefix $(PREFIX)" \
|
||||
--define "source_dir $(PROJROOT)/$(RPM_DIR)/SOURCES" \
|
||||
$(NAME).spec
|
||||
@echo Copying generated RPM to dist dir...
|
||||
@mkdir ${PROJROOT}/pkg -p
|
||||
@cp $(PROJROOT)/$(RPM_DIR)/RPMS/noarch/*.rpm $(PROJROOT)/pkg
|
||||
@rm -rf $(TAR_DIR)
|
||||
@rm -rf $(RPM_DIR)
|
||||
@rm -rf $(DIST_DIR)
|
||||
|
||||
|
||||
|
||||
build_rpm: rpm
|
||||
|
||||
46
pkg_builder/README.md
Normal file
46
pkg_builder/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# GitList Builder: Tools to build gitlist package
|
||||
|
||||
## Status
|
||||
|
||||
### Ready to build
|
||||
|
||||
* Core Deb Packages:
|
||||
```
|
||||
$ make build_deb
|
||||
```
|
||||
|
||||
* Core Rpm Packages:
|
||||
```
|
||||
$ make build_rpm
|
||||
```
|
||||
|
||||
### Not Ready (Comming soon)
|
||||
|
||||
Packages to install configuration files:
|
||||
|
||||
* make apache_deb
|
||||
* make apache_rpm
|
||||
* make nginx_deb
|
||||
* make nginx_rpm
|
||||
|
||||
## Dependencies
|
||||
|
||||
* To use this package builder you may need to install some development packages like: dpkg-dev or evem rpm;
|
||||
* A tarball of a stable release;
|
||||
|
||||
## Instructions
|
||||
|
||||
To use this builder just download the lastest stable release into this directory and build using the make functions avaible in make help
|
||||
|
||||
## How to build
|
||||
|
||||
The packages can be generated by running Makefile functions like:
|
||||
|
||||
```
|
||||
$ make build_deb
|
||||
$ make build_rpm
|
||||
```
|
||||
|
||||
## Structure
|
||||
|
||||
Core package is a simple source package while a configuration package requires all the dependencies.
|
||||
37
pkg_builder/tools/gitlist.spec
Normal file
37
pkg_builder/tools/gitlist.spec
Normal file
@@ -0,0 +1,37 @@
|
||||
Name: %{name}
|
||||
Summary: %{summary}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: %{url}
|
||||
License: %{license}
|
||||
Group: %{group}
|
||||
Vendor: %{vendor}
|
||||
Packager: %{user}
|
||||
Prefix: %{prefix}
|
||||
BuildArch: noarch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
Source0: %{name}.tar
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -c
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
%{__rm} -rf %{buildroot}
|
||||
%{__mkdir} -p %{buildroot}%{prefix}
|
||||
%{__cp} -Ra * %{buildroot}%{prefix}
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(0755,root,root)
|
||||
%{prefix}/*
|
||||
|
||||
%changelog
|
||||
* Thu Jan 21 2013 Bruno Gurgel <bruno.gurgel@gmail.com>
|
||||
- Initial
|
||||
2
pkg_builder/tools/release.info
Normal file
2
pkg_builder/tools/release.info
Normal file
@@ -0,0 +1,2 @@
|
||||
release=0.3
|
||||
name=gitlist
|
||||
Reference in New Issue
Block a user