mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
.deb support: File enumeration now uses 'find'. Fixed problem where files outside 'Local' were being accidentally dropped from the package. Symlinks are now also included in the installed file list.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@37122 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
0ed6664c19
commit
dca2fba72f
3 changed files with 16 additions and 26 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2013-09-20 Ivan Vucica <ivan@vucica.net>
|
||||
|
||||
* Master/deb.make: File enumeration now uses 'find'. Fixed
|
||||
problem where files outside 'Local' were being accidentally
|
||||
dropped from the package. Symlinks are now also included
|
||||
in the installed file list.
|
||||
|
||||
* GNUmakefile.in: Symlinks are now also included in the
|
||||
installed file list.
|
||||
|
||||
2013-09-20 Ivan Vucica <ivan@vucica.net>
|
||||
|
||||
* deb-equivs-control.template: Added forgotten file.
|
||||
|
|
|
@ -411,7 +411,7 @@ gnustep-make.debequivs:
|
|||
DEB_ARCHITECTURE=all ; \
|
||||
GNUSTEP_FILE_LIST=/tmp/gsmake-deb.list ; \
|
||||
echo -n 'Files:' > $${GNUSTEP_FILE_LIST} ; \
|
||||
find /tmp/gsmake-deb -type f | sed 's,/tmp/gsmake-deb\(.*\)/\(.*\), /tmp/gsmake-deb\1/\2 \1,' >> $${GNUSTEP_FILE_LIST} ; \
|
||||
find /tmp/gsmake-deb -type l -or -type f | sed 's,/tmp/gsmake-deb\(.*\)/\(.*\), /tmp/gsmake-deb\1/\2 \1,' >> $${GNUSTEP_FILE_LIST} ; \
|
||||
sed -e :t \
|
||||
-e "s,@gs_domain@,$${DEB_DOMAIN},;t t" \
|
||||
-e "s,@gs_name@,$${DEB_LOWERCASE_PACKAGE_NAME},;t t" \
|
||||
|
|
|
@ -65,14 +65,16 @@ DEB_BUILD=equivs-build
|
|||
# so we need to match these regardless of the local filesystem layout
|
||||
# Hackish way to get the installation dir/domain
|
||||
DEB_DOMAIN=System
|
||||
DEB_BASE=$(dir $(GNUSTEP_SYSTEM_ROOT))
|
||||
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), LOCAL)
|
||||
DEB_DOMAIN=Local
|
||||
DEB_BASE=$(dir $(GNUSTEP_LOCAL_ROOT))
|
||||
endif
|
||||
# Which user would we install in? Use Local instead.
|
||||
ifeq ($(GNUSTEP_INSTALLATION_DOMAIN), USER)
|
||||
DEB_DOMAIN=Local
|
||||
DEB_BASE=$(dir $(GNUSTEP_LOCAL_ROOT))
|
||||
endif
|
||||
DEB_BASE=$(dir $(GNUSTEP_APPS))
|
||||
|
||||
ABS_OBJ_DIR=$(shell (cd "$(GNUSTEP_BUILD_DIR)"; pwd))/obj
|
||||
GNUSTEP_FILE_LIST = $(ABS_OBJ_DIR)/package/file-list
|
||||
|
@ -108,30 +110,8 @@ deb_build_filelist::
|
|||
# and that's what counts.
|
||||
$(ECHO_NOTHING)rm -f $(GNUSTEP_FILE_LIST)$(END_ECHO)
|
||||
$(ECHO_NOTHING)echo -n "Files:" > $(GNUSTEP_FILE_LIST)$(END_ECHO)
|
||||
$(ECHO_NOTHING)cdir="nosuchdirectory"; \
|
||||
for file in `$(TAR) Pcf - $(REL_INSTALL_DIR) | $(TAR) t`; do \
|
||||
wfile=`echo $$file | sed "s,$(REL_INSTALL_DIR),,"`; \
|
||||
wodir=`readlink -f $(REL_INSTALL_DIR)`; \
|
||||
wodir="$$wodir/"; \
|
||||
slashsuffix=`basename $${file}yes`; \
|
||||
if [ "$$slashsuffix" = yes ]; then \
|
||||
newdir=`dirname $$file`/`basename $$file`; \
|
||||
else \
|
||||
newdir=`dirname $$file`; \
|
||||
fi; \
|
||||
if [ "$$file" = "$(REL_INSTALL_DIR)/" ]; then \
|
||||
:; \
|
||||
elif [ -d "$$file" ]; then \
|
||||
cdir=$$newdir; \
|
||||
wdir=$$wfile; \
|
||||
elif [ $$cdir != $$newdir ]; then \
|
||||
cdir=$$newdir; \
|
||||
wdir=`dirname "$$wfile"`; \
|
||||
echo " $$wodir$$wfile $(DEB_DESTINATION)/$(DEB_DOMAIN)/$$wdir" >> $(GNUSTEP_FILE_LIST); \
|
||||
else \
|
||||
echo " $$wodir$$wfile $(DEB_DESTINATION)/$(DEB_DOMAIN)/$$wdir" >> $(GNUSTEP_FILE_LIST); \
|
||||
fi; \
|
||||
done$(END_ECHO)
|
||||
$(ECHO_NOTHING)find $(REL_INSTALL_DIR) -type l -or -type f | sed 's,'$(REL_INSTALL_DIR)'\(.*\)/\(.*\), '$(REL_INSTALL_DIR)'\1/\2 '$(DEB_DESTINATION)'/\1,' >> $(GNUSTEP_FILE_LIST)$(END_ECHO)
|
||||
|
||||
|
||||
#
|
||||
# The user will type `make debfile' to generate the equivs control file
|
||||
|
|
Loading…
Reference in a new issue