Skip to content

Commit 6ee5186

Browse files
author
Phus Lu
committed
CA-172846: Tools installed out of date when a Linux VM is freshly installed from templates
This commit also fix top level Makefile Signed-off-by: Phus Lu <phus.lu@citrix.com>
1 parent 1a15e03 commit 6ee5186

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

Makefile

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
2-
PRODUCT_VERSION = 6.6.80
1+
PRODUCT_MAJOR_VERSION=6
2+
PRODUCT_MINOR_VERSION=6
3+
PRODUCT_MICRO_VERSION=80
4+
PRODUCT_VERSION = $(PRODUCT_MAJOR_VERSION).$(PRODUCT_MINOR_VERSION).$(PRODUCT_MICRO_VERSION)
35

46
GO_BUILD = go build
57
GO_FLAGS = -a -x
68

79
REPO = $(shell pwd)
810
SOURCEDIR = $(REPO)/mk
911
BUILDDIR = $(REPO)/build
12+
GOBUILDDIR = $(BUILDDIR)/gobuild
1013
STAGEDIR = $(BUILDDIR)/stage
1114
OBJECTDIR = $(BUILDDIR)/obj
1215
DISTDIR = $(BUILDDIR)/dist
@@ -25,14 +28,14 @@ ifeq ($(ARCH), amd64)
2528
endif
2629

2730
XE_DAEMON_SOURCES :=
28-
XE_DAEMON_SOURCES += $(REPO)/xe-daemon/xe-daemon.go
29-
XE_DAEMON_SOURCES += $(REPO)/guestmetric/guestmetric.go
30-
XE_DAEMON_SOURCES += $(REPO)/guestmetric/guestmetric_linux.go
31-
XE_DAEMON_SOURCES += $(REPO)/xenstoreclient/xenstore.go
31+
XE_DAEMON_SOURCES += ./xe-daemon/xe-daemon.go
32+
XE_DAEMON_SOURCES += ./guestmetric/guestmetric.go
33+
XE_DAEMON_SOURCES += ./guestmetric/guestmetric_linux.go
34+
XE_DAEMON_SOURCES += ./xenstoreclient/xenstore.go
3235

3336
XENSTORE_SOURCES :=
34-
XENSTORE_SOURCES += $(REPO)/xenstore/xenstore.go
35-
XENSTORE_SOURCES += $(REPO)/xenstoreclient/xenstore.go
37+
XENSTORE_SOURCES += ./xenstore/xenstore.go
38+
XENSTORE_SOURCES += ./xenstoreclient/xenstore.go
3639

3740
.PHONY: build
3841
build: $(DISTDIR)/$(PACKAGE)_$(VERSION)-$(RELEASE)_$(ARCH).tgz
@@ -50,21 +53,30 @@ $(DISTDIR)/$(PACKAGE)_$(VERSION)-$(RELEASE)_$(ARCH).tgz: $(OBJECTS)
5053
install -m 755 $(OBJECTDIR)/xe-daemon $(STAGEDIR)/usr/sbin/xe-daemon ; \
5154
install -d $(STAGEDIR)/usr/bin/ ; \
5255
install -m 755 $(OBJECTDIR)/xenstore $(STAGEDIR)/usr/bin/xenstore ; \
53-
ln -s /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-read ; \
54-
ln -s /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-write ; \
55-
ln -s /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-exists ; \
56-
ln -s /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-rm ; \
56+
ln -sf /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-read ; \
57+
ln -sf /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-write ; \
58+
ln -sf /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-exists ; \
59+
ln -sf /usr/bin/xenstore $(STAGEDIR)/usr/bin/xenstore-rm ; \
5760
install -d $(STAGEDIR)/etc/udev/rules.d/ ; \
5861
install -m 644 $(SOURCEDIR)/xen-vcpu-hotplug.rules $(STAGEDIR)/etc/udev/rules.d/z10_xen-vcpu-hotplug.rules ; \
5962
cd $(STAGEDIR) ; \
6063
tar cf $@ * \
6164
)
6265

63-
$(OBJECTDIR)/xe-daemon: $(XE_DAEMON_SOURCES)
66+
$(OBJECTDIR)/xe-daemon: $(XE_DAEMON_SOURCES:%=$(GOBUILDDIR)/%)
6467
mkdir -p $(OBJECTDIR)
6568
$(GO_BUILD) $(GO_FLAGS) -o $@ $<
6669

67-
$(OBJECTDIR)/xenstore: $(XENSTORE_SOURCES)
70+
$(OBJECTDIR)/xenstore: $(XENSTORE_SOURCES:%=$(GOBUILDDIR)/%) $(GOROOT)
6871
mkdir -p $(OBJECTDIR)
6972
$(GO_BUILD) $(GO_FLAGS) -o $@ $<
7073

74+
$(GOBUILDDIR)/%: $(REPO)/%
75+
mkdir -p $$(dirname $@)
76+
cat $< | \
77+
sed -e "s/@PRODUCT_MAJOR_VERSION@/$(PRODUCT_MAJOR_VERSION)/g" | \
78+
sed -e "s/@PRODUCT_MINOR_VERSION@/$(PRODUCT_MINOR_VERSION)/g" | \
79+
sed -e "s/@PRODUCT_MICRO_VERSION@/$(PRODUCT_MICRO_VERSION)/g" | \
80+
sed -e "s/@NUMERIC_BUILD_NUMBER@/$(RELEASE)/g" \
81+
> $@
82+

0 commit comments

Comments
 (0)