Poprawiłem skrypty, generujące dystrybucję tarball oraz rpm.

Można testować: make dist_tarball oraz make dist_rpm.



git-svn-id: svn://atos.wmid.amu.edu.pl/utt@11 e293616e-ec6a-49c2-aa92-f4a8b91c5d16
This commit is contained in:
pawelk 2008-03-17 10:35:12 +00:00
parent 246900abc9
commit b2647ded51
6 changed files with 89 additions and 88 deletions

View File

@ -13,11 +13,16 @@ OUTPUT_DIR=$(CUR_DIR)/output
export UTT_DIR=${OUTPUT_DIR}
export UTT_BIN_DIR=${UTT_DIR}/bin # executables
export UTT_CONF_DIR=${UTT_DIR}/etc/utt # configuration files
export UTT_LANG_DIR=${UTT_DIR}/share/utt # language/encoding specific stuff
export UTT_LIB_DIR=${UTT_DIR}/lib/utt # some files like ser.l.template, terms.m4
export UTT_SHARE_DIR=${UTT_DIR}/share # stuff like documantation (man, info), docs: FAQ, COPYRIGHT, NEWS, README
# executables
export UTT_BIN_DIR=${UTT_DIR}/bin
# configuration files
export UTT_CONF_DIR=${UTT_DIR}/etc/utt
# language/encoding specific stuff
export UTT_LANG_DIR=${UTT_DIR}/share/utt
# some files like ser.l.template, terms.m4
export UTT_LIB_DIR=${UTT_DIR}/lib/utt
# stuff like documantation (man, info), docs: FAQ, COPYRIGHT, NEWS, README
export UTT_SHARE_DIR=${UTT_DIR}/share
##############################
@ -42,7 +47,10 @@ dirs:
mkdir -p ${UTT_CONF_DIR}
mkdir -p ${UTT_LANG_DIR}
mkdir -p ${UTT_LIB_DIR}
mkdir -p ${UTT_SHARE_DIR}
mkdir -p ${UTT_SHARE_DIR}/utt
mkdir -p ${UTT_SHARE_DIR}/doc/utt
mkdir -p ${UTT_SHARE_DIR}/info
mkdir -p ${UTT_SHARE_DIR}/man/man3
.PHONY: components
components:
@ -67,7 +75,7 @@ clean_components:
.PHONY: clean_doc
clean_doc:
cd $(CUR_DIR)/doc && make clean ; cd $(CUR_DIR)
cd $(CUR_DIR)/doc && make clean; cd $(CUR_DIR)
.PHONY: clean_dist
clean_dist:
@ -77,20 +85,20 @@ clean_dist:
# sekcja przygotowania paczki (programow wraz z dodatkowymi plikami)
# ------------------------------------------------------------------
.PHONY: build
build: compile build_conf build_lib build_share
build: compile build_conf build_lib build_doc
@echo "All files builded successfully!"
.PHONY: build_conf
build_conf:
cp $(CUR_DIR)/conf/* $(UTT_CONF_DIR)/
cp $(CUR_DIR)/conf/*.conf $(UTT_CONF_DIR)/
.PHONY: build_lib
build_lib:
cp $(CUR_DIR)/lib/* $(UTT_LIB_DIR)/
.PHONY: build_share
build_share:
@echo "We need to create documentation here!"
.PHONY: build_doc
build_doc:
cd $(CUR_DIR)/doc && make && make copy; cd $(CUR_DIR)
@ -98,9 +106,20 @@ build_share:
# sekcja tworzenia dystrybucji (tarballa, rpm, deb)
# ------------------------------------------------------------------
.PHONY: distribute
distribute:
@echo "We need to create distribution here!"
distribute: build dist_tarball dist_rpm
@echo "All distributions created successfully!"
.PHONY: dist_tarball
dist_tarball: build
cd $(CUR_DIR)/dist && make tarball; cd $(CUR_DIR)
.PHONY: dist_rpm
dist_rpm: build
cd $(CUR_DIR)/dist && make rpm; cd $(CUR_DIR)
.PHONY: dist_deb
dist_deb: build
cd $(CUR_DIR)/dist && make deb; cd $(CUR_DIR)
# ------------------------------------------------------------------

39
app/dist/Makefile vendored
View File

@ -1,54 +1,39 @@
# compile task doesn't compile sources, but just copy some files
# this should be changed
#
# I put here some variables
# some variables
# path, where binaries are placed
# path, where all nessesary files are placed
# (they will be processed for making distribution)
export _UTT_DIST_DIR=$(shell pwd)/bin
# path, where distribution file should be placed
export _UTT_DIST_OUTPUT=$(shell pwd)
export UTT_DIST_DIR=$(UTT_DIR)
# path, where distribution package will be placed
export UTT_DIST_OUTPUT=$(UTT_DIR)/..
#temp path for making distribution
export UTT_DIST_TMP=$(shell pwd)/dist_tmp
# -----------------------------------------------------------
# default task should display options
.PHONY: default
defaul:
@echo "Using: make compile|tarball|rpm|deb"
# -----------------------------------------------------------
# -----------------------------------------------------------
# this task should compile utt application
.PHONY: compile
compile:
if test -d ${_UTT_DIST_DIR}; then rm -fr ${_UTT_DIST_DIR}; fi
mkdir -p ${_UTT_DIST_DIR}
@# fake compilation
cp -r ../utt-0.9/* ${_UTT_DIST_DIR}/
@# we add some extra file (required during instalation)
cp common/create_utt_config.pl ${_UTT_DIST_DIR}/
chmod 700 ${_UTT_DIST_DIR}/create_utt_config.pl
@echo "Using: make tarball|rpm|deb"
# -----------------------------------------------------------
# this task should compile utt (if nesessery) and create tar.gz version
.PHONY: tarball
tarball: compile
tarball:
cd tarball && make
# -----------------------------------------------------------
# this task should compile utt (if nesessery) and create rpm version
.PHONY: rpm
rpm: compile
rpm:
@#we build rpm (see spec/README for details)
cd spec && make
# -----------------------------------------------------------
# this task should compile utt (if nesessery) and create deb version
.PHONY: deb
deb: compile
deb:
@#we build deb (see deb/README for details)
cd deb && make
@ -57,5 +42,5 @@ deb: compile
.PHONY: clean
clean:
# finally the line below should be uncomment
rm -fr ${_UTT_DIST_DIR}
rm -fr ${UTT_DIST_TMP}

View File

@ -2,14 +2,22 @@
DIR=$(shell pwd)
ifndef _UTT_DIST_DIR
_UTT_DIST_DIR=${DIR}
ifndef UTT_DIST_DIR
UTT_DIST_DIR=${DIR}
endif
_RPM_FROOT=${DIR}/rmp_root
_UTT_ROOT=${_RPM_FROOT}/usr/local
# default task
.PHONY: rpm
rpm:
cd ${_UTT_DIST_DIR}; rpmbuild -bb ${DIR}/utt.spec
if test -d ${_RPM_FROOT}; then rm -fr ${_RMP_FROOT}; fi
mkdir -p ${_UTT_ROOT}
cp -rf ${UTT_DIST_DIR}/* ${_UTT_ROOT}/
cp ../common/utt_make_config.pl ${_UTT_ROOT}/bin/
chmod 755 ${_UTT_ROOT}/bin/utt_make_config.pl
cp ../files/* ${_UTT_ROOT}/
cd ${_RPM_FROOT}; rpmbuild -bb ${DIR}/utt.spec
rm -rf ${_RPM_FROOT}

View File

@ -10,20 +10,10 @@
%define _this_product UAM Text Tools
%define _this_summary Some tools for text processing
%define _this_name utt
%define _this_version %(cat ../common/version.def)
%define _this_release %(cat ../common/release.def)
%define _this_version %(cat ../../common/version.def)
%define _this_release %(cat ../../common/release.def)
%define _this_copyright Adam Mickiewicz University, Poland
#
# We need some paths
#
# Directory with utt binaries
%define _UTT_DIST_DIR %(pwd)
#Root directory in which utt will be installed
%define _UTT_DIR /usr/local/%_this_name
#Directory for rpm
%define _RPM_ROOT %_UTT_DIST_DIR/../rpm_root
#
# Default RPM header.
#
@ -39,7 +29,7 @@ License: GPL
Group: Development/Tools
URL: http://utt.amu.edu.pl
Vendor: Adam Mickiewicz University
BuildRoot: %_RPM_ROOT
BuildRoot: %(pwd)
#BuildArch: i586
# requirements for utt application
#AutoReq: no
@ -52,10 +42,10 @@ BuildRoot: %_RPM_ROOT
#Requires: libstdc++ >= 3.4.1
%description
%(cat ../common/description.def)
%(cat ../../common/description.def)
%description -l pl
%(cat ../common/description.pl.def)
%(cat ../../common/description.pl.def)
# -------------------------------------------------------------
@ -67,38 +57,23 @@ BuildRoot: %_RPM_ROOT
# rpm building
%install
%__mkdir_p $RPM_BUILD_ROOT%_UTT_DIR
cp -fr %_UTT_DIST_DIR/* $RPM_BUILD_ROOT%_UTT_DIR/
# cleaning after rpm build
%clean
rm -rf $RPM_BUILD_ROOT
# -------------------------------------------------------------
#before installation
%pre
#after installation
%post
# we need to create utt.conf file
%_UTT_DIR/create_utt_config.pl
rm -f %_UTT_DIR/create_utt_config.pl
# we need to create links in /usr/local/bin
find %_UTT_DIR/bin/ -type f -exec ln -f {} /usr/local/bin \;
#before uninstallation
%preun
# we delete links from /usr/local/bin
for fn in `find %_UTT_DIR/bin/ -type f -exec basename {} \;`; do rm -f /usr/local/bin/$fn; done
#after uninstallation
%postun
# we remove all extra files
rm -fr %_UTT_DIR
# -------------------------------------------------------------
%files

View File

@ -4,14 +4,16 @@
# Some variables
#
DIR=$(shell pwd)
# Directory with utt binaries
ifndef _UTT_DIST_DIR
_UTT_DIST_DIR=${DIR}
ifndef UTT_DIST_DIR
UTT_DIST_DIR=${DIR}
endif
# Where put result
ifndef _UTT_DIST_OUTPUT
_UTT_DIST_OUTPUT=${DIR}
ifndef UTT_DIST_OUTPUT
UTT_DIST_OUTPUT=${DIR}
endif
# Common info about version and release
@ -19,20 +21,23 @@ _UTT_VER=$(shell cat ../common/version.def)
_UTT_REL=$(shell cat ../common/release.def)
# Temp vars
DIR=$(shell pwd)
_TARBALL_ROOT=$(DIR)/utt_$(_UTT_VER)-$(_UTT_REL)
_TARBALL_ROOT=$(DIR)/utt-$(_UTT_VER).$(_UTT_REL)
_TAR_FILE_NAME=utt.$(_UTT_VER)_$(_UTT_REL).tar.gz
#defualt task
.PHONY: default
default:
@echo Build dir is ${_UTT_DIST_DIR}
@echo Change output for tarball as ${_UTT_DIST_OUTPUT}
@echo Build directory: ${UTT_DIST_DIR}
@echo Output directory for tarball: ${UTT_DIST_OUTPUT}
mkdir -p ${_TARBALL_ROOT}
cp -fr ${_UTT_DIST_DIR}/* ${_TARBALL_ROOT}
cp -fr ${UTT_DIST_DIR}/* ${_TARBALL_ROOT}
@# we add some extra files
cp ../common/utt_make_config.pl ${_TARBALL_ROOT}/bin/
chmod 755 ${_TARBALL_ROOT}/bin/utt_make_config.pl
cp ./INSTALL ${_TARBALL_ROOT}/
cp ../files/* ${_TARBALL_ROOT}/
tar -czf ${_UTT_DIST_OUTPUT}/${_TAR_FILE_NAME} utt*
tar -czf ${UTT_DIST_OUTPUT}/${_TAR_FILE_NAME} utt*
rm -rf ${_TARBALL_ROOT}

View File

@ -18,8 +18,17 @@ utt.ps: utt.dvi
copy:
ifdef UTT_DOC_DIR
cp utt.{info,ps,pdf,html} ${UTT_DOC_DIR}
ifdef UTT_SHARE_DIR
# tworzymy archiwa (wymagane przez programy)
gzip --best utt.info
mv utt.info.gz ${UTT_SHARE_DIR}/info/
# tworzymy archiwa (wymagane przez programy)
#gzip --best utt.man
#mv utt.man.gz ${UTT_SHARE_DIR}/man/man3/utt.gz.1
#pozostale dokumenty
mv utt.{ps,pdf,html} ${UTT_SHARE_DIR}/doc/utt/
endif
clean: