summaryrefslogtreecommitdiff
path: root/sysui/CustomTarget_slackware.mk
blob: 75daa65f39bbf1529be41910e3ab7ceb99fca93a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

slack_WORKDIR := $(call gb_CustomTarget_get_workdir,sysui/slackware)
slack_SRCDIR := $(SRCDIR)/sysui/desktop/slackware

$(eval $(call gb_CustomTarget_CustomTarget,sysui/slackware))

$(eval $(call gb_CustomTarget_register_targets,sysui/slackware,\
	empty.tar \
$(foreach product,$(PRODUCTLIST),\
	$(product)/install/doinst.sh \
	$(product)/install/slack-desc \
	$(product)$(PRODUCTVERSION)-slackware-menus-$(PKGVERSION)-noarch-$(LIBO_VERSION_PATCH).tgz) \
))


$(slack_WORKDIR)/empty.tar:
	mkdir $(slack_WORKDIR)/empty
	$(GNUTAR) -C $(slack_WORKDIR)/empty --owner=root $(if $(filter-out MACOSX,$(OS)),--group=root) --same-owner -cf $@ .

$(slack_WORKDIR)/%/install/doinst.sh: $(slack_SRCDIR)/update-script $(call gb_CustomTarget_get_workdir,sysui/share)/%/launcherlist
	echo "( cd etc; rm -rf $(UNIXFILENAME.$*) )" > $@
	echo "( cd etc; ln -snf /opt/$(UNIXFILENAME.$*) $(UNIXFILENAME.$*) )" >> $@
	echo "( cd usr/bin; rm -rf soffice )" >> $@
	echo "( cd usr/bin; ln -sf /etc/$(UNIXFILENAME.$*)/program/soffice soffice )" >> $@
	for i in `cat $(call gb_CustomTarget_get_workdir,sysui/share)/$*/launcherlist`; do \
	echo "(cd usr/share/applications; rm -rf $(UNIXFILENAME.$*)-$$i)" >> $@; \
	echo "(cd usr/share/applications; ln -sf /etc/$(UNIXFILENAME.$*)/share/xdg/$$i $(UNIXFILENAME.$*)-$$i)" >> $@; \
		done
	cat $< >> $@

$(slack_WORKDIR)/%/install/slack-desc: $(slack_SRCDIR)/slack-desc
	sed -e "s/PKGNAME/$*-slackware-menus/g" \
	-e "s/PKGVERSION/$(PKGVERSION)/g" \
	-e "s/LONGPRODUCTNAME/$(PRODUCTNAME.$*) $(PRODUCTVERSION)/g" \
	-e "s/PRODUCTNAME/$(PRODUCTNAME.$*)/g" \
	-e "s/UNIXFILENAME/$(UNIXFILENAME.$*)/g" \
		$< > $@

$(slack_WORKDIR)/%$(PRODUCTVERSION)-slackware-menus-$(PKGVERSION)-noarch-$(LIBO_VERSION_PATCH).tgz: $(slack_WORKDIR)/empty.tar $(slack_WORKDIR)/%/install/doinst.sh $(slack_WORKDIR)/%/install/slack-desc $(call gb_CustomTarget_get_workdir,sysui/share)/%/create_tree.sh
	cd $(call gb_CustomTarget_get_workdir,sysui/share)/$* \
           && DESTDIR=$(slack_WORKDIR)/$* \
           ICON_PREFIX=$(UNIXFILENAME.$*) \
           KDEMAINDIR=/opt/kde \
           GNOMEDIR="" \
           ./create_tree.sh
	cp $(slack_WORKDIR)/empty.tar $@.tmp
	$(GNUTAR) -C $(slack_WORKDIR)/$* --owner=root $(if $(filter-out MACOSX,$(OS)),--group=root) --same-owner \
		-rf $@.tmp install usr opt
	gzip < $@.tmp > $@

# vim: set noet sw=4 ts=4: