2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
13 # Copyright 2016-2021 Jim Klimov
14 # Copyright 2022 Till Wegmueller
16 include ..
/..
/..
/make-rules
/shared-macros.mk
18 # NOTE: Before bumping to the new core version, take a look at
19 # https://jenkins.io/changelog/ (weekly)
20 # https://jenkins.io/changelog-stable/ (LTS)
21 # for "weather report" (user votes on good/bad state of the release).
22 # At some point it may make sense to deliver packaged LTS releases,
23 # and the initial recipe supports that notion already just in case,
24 # but no LTS issued so far includes updated libzfs.jar (v0.8+ needed).
25 # Note that for LTS it would make sense to define indexed "additional
26 # source" variables below, see e.g. docbook for inspiration.
28 COMPONENT_NAME
= jenkins
29 JENKINS_RELEASE
= weekly
30 COMPONENT_MAJOR_VERSION
= 2
31 COMPONENT_MINOR_VERSION
= 487
32 COMPONENT_ARCHIVE_HASH
= sha256
:f5a7b25de5979101676efe43cf63629c275b787d1482057bc335498eb598a1c5
33 # See $(COMPONENT_ARCHIVE_URL).sha256 e.g. for current weekly release, run
34 # wget -O - http://mirrors.jenkins-ci.org/war/latest/jenkins.war.sha256
36 # wget -O - http://mirrors.jenkins.io/war-stable/latest/jenkins.war.sha256
38 COMPONENT_VERSION
= $(COMPONENT_MAJOR_VERSION
).
$(COMPONENT_MINOR_VERSION
)
39 COMPONENT_ARCHIVE
= $(COMPONENT_NAME
)-$(JENKINS_RELEASE
)-$(COMPONENT_VERSION
).war
40 COMPONENT_FMRI
= developer
/jenkins-core-
$(JENKINS_RELEASE
)
41 COMPONENT_CLASSIFICATION
= Development
/Java
42 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
43 COMPONENT_PROJECT_URL
= https
://jenkins.io
/changelog
/
44 COMPONENT_ARCHIVE_URL
= https
://get.jenkins.io
/war
/$(COMPONENT_VERSION
)/jenkins.war
45 COMPONENT_LICENSE
= MIT
46 COMPONENT_LICENSE_FILE
= jenkins.license
47 COMPONENT_SUMMARY
= Jenkins is a Java-based CI automation server
49 # Note: for the core, we only download a WAR - no unpacking, no building...
50 include $(WS_MAKE_RULES
)/prep-download.mk
51 include $(WS_MAKE_RULES
)/justmake.mk
52 include $(WS_MAKE_RULES
)/ips.mk
56 CLEAN_PATHS
+= $(SOURCE_DIR
)
60 $(SOURCE_DIR
)/.prep
: download
61 $(COMPONENT_PREP_ACTION
)
64 prep
:: $(SOURCE_DIR
)/.prep
68 $(RM
) -r
$(CLEAN_PATHS
)
71 $(RM
) -r
$(CLOBBER_PATHS
)
73 COMPONENT_PREP_ACTION
= ( $(MKDIR
) $(@D
)/ && ln
-sfr
$(USERLAND_ARCHIVES
)/$(COMPONENT_ARCHIVE
) $(COMPONENT_DIR
)/files
/Makefile
$(@D
)/ )
75 # This, and the symlinks in the custom Makefile, save quite a bit
76 # of storage overhead (do not need to copy the WAR 3 extra times)
77 COMPONENT_COPY_ACTION
= ( $(CLONEY
) $(SOURCE_DIR
)/ $(@D
)/ )
79 COMPONENT_INSTALL_ENV
+= JENKINS_VERSION
=$(COMPONENT_VERSION
)
80 COMPONENT_INSTALL_ENV
+= JENKINS_RELEASE
=$(JENKINS_RELEASE
)
84 install: $(INSTALL_32
)
88 # Auto-generated dependencies
89 REQUIRED_PACKAGES
+= runtime
/java
/openjdk17