From b2647ded51d1c3f8e4a856396ea16c7afd54b9e6 Mon Sep 17 00:00:00 2001 From: pawelk Date: Mon, 17 Mar 2008 10:35:12 +0000 Subject: [PATCH] =?UTF-8?q?Poprawi=C5=82em=20skrypty,=20generuj=C4=85ce=20?= =?UTF-8?q?dystrybucj=C4=99=20tarball=20oraz=20rpm.=20Mo=C5=BCna=20testowa?= =?UTF-8?q?=C4=87:=20make=20dist=5Ftarball=20oraz=20make=20dist=5Frpm.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://atos.wmid.amu.edu.pl/utt@11 e293616e-ec6a-49c2-aa92-f4a8b91c5d16 --- app/Makefile | 47 +++++++++++++++++++++++++++------------ app/dist/Makefile | 39 ++++++++++---------------------- app/dist/spec/Makefile | 18 ++++++++++----- app/dist/spec/utt.spec | 35 +++++------------------------ app/dist/tarball/Makefile | 25 ++++++++++++--------- app/doc/Makefile | 13 +++++++++-- 6 files changed, 89 insertions(+), 88 deletions(-) diff --git a/app/Makefile b/app/Makefile index 8c60ac5..58675dd 100644 --- a/app/Makefile +++ b/app/Makefile @@ -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) # ------------------------------------------------------------------ diff --git a/app/dist/Makefile b/app/dist/Makefile index 090400d..a5093d6 100644 --- a/app/dist/Makefile +++ b/app/dist/Makefile @@ -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} diff --git a/app/dist/spec/Makefile b/app/dist/spec/Makefile index 0a4571e..765bd28 100644 --- a/app/dist/spec/Makefile +++ b/app/dist/spec/Makefile @@ -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} - diff --git a/app/dist/spec/utt.spec b/app/dist/spec/utt.spec index 71e69e5..fe68039 100644 --- a/app/dist/spec/utt.spec +++ b/app/dist/spec/utt.spec @@ -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 diff --git a/app/dist/tarball/Makefile b/app/dist/tarball/Makefile index c033c59..0117218 100644 --- a/app/dist/tarball/Makefile +++ b/app/dist/tarball/Makefile @@ -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} + diff --git a/app/doc/Makefile b/app/doc/Makefile index 7cca627..f2300ed 100644 --- a/app/doc/Makefile +++ b/app/doc/Makefile @@ -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: