Project

General

Profile

« Previous | Next » 

Revision a90f1c9b

Added by Renato Botelho about 9 years ago

Rework the way repo packages work

- Distribute only a single pfSense-repo package containing all templates
- Create a symlink pointing to selected repo
- Do not limit it only to pfSense-repo and pfSense-repo-devel

View differences:

tools/builder_common.sh
1136 1136

  
1137 1137
	# Include a sample pkg stable conf to base
1138 1138
	setup_pkg_repo \
1139
		${PKG_REPO_DEFAULT} \
1139 1140
		${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo.conf \
1140 1141
		${TARGET} \
1141 1142
		${TARGET_ARCH} \
1142
		${PKG_REPO_CONF_BRANCH} \
1143
		"release"
1144

  
1145
	# Include a sample pkg devel conf to base
1146
	setup_pkg_repo \
1147
		${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo-devel.conf \
1148
		${TARGET} \
1149
		${TARGET_ARCH} \
1150 1143
		${PKG_REPO_CONF_BRANCH}
1151 1144

  
1152 1145
	mtree \
......
1161 1154
		-X ${_exclude_files} \
1162 1155
		.
1163 1156

  
1164
	mkdir -p $(dirname ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}) >/dev/null 2>&1
1165

  
1166
	# Create repo and repo-devel packages
1157
	local _share_repos_path="${SCRATCHDIR}/repo-tmp/${PRODUCT_SHARE_DIR}/pkg/repos"
1158
	rm -rf ${SCRATCHDIR}/repo-tmp >/dev/null 2>&1
1159
	mkdir -p ${_share_repos_path} >/dev/null 2>&1
1167 1160
	cp -f ${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo.conf \
1168
		${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
1161
		${_share_repos_path}
1162
	cp -f ${PKG_REPO_DEFAULT%%.conf}.descr ${_share_repos_path}
1169 1163

  
1170
	core_pkg_create repo "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
1171

  
1172
	cp -f ${STAGE_CHROOT_DIR}${PRODUCT_SHARE_DIR}/${PRODUCT_NAME}-repo-devel.conf \
1173
		${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
1174

  
1175
	core_pkg_create repo-devel "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
1164
	# Add additional repos
1165
	for _template in ${PKG_REPO_BASE}/${PRODUCT_NAME}-repo-*.conf; do
1166
		_template_filename=$(basename ${_template})
1167
		setup_pkg_repo \
1168
			${_template} \
1169
			${_share_repos_path}/${_template_filename} \
1170
			${TARGET} \
1171
			${TARGET_ARCH} \
1172
			${PKG_REPO_CONF_BRANCH}
1173
		cp -f ${_template%%.conf}.descr ${_share_repos_path}
1174
	done
1176 1175

  
1177
	rm -f ${STAGE_CHROOT_DIR}${PKG_REPO_PATH}
1176
	core_pkg_create repo "" ${CORE_PKG_VERSION} ${SCRATCHDIR}/repo-tmp
1178 1177

  
1179 1178
	core_pkg_create rc "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
1180 1179
	core_pkg_create base "" ${CORE_PKG_VERSION} ${STAGE_CHROOT_DIR}
......
1277 1276
		pkg_chroot_add ${FINAL_CHROOT_DIR} base
1278 1277
	fi
1279 1278

  
1280
	if [ -n "${IS_RELEASE}" ]; then
1281
		pkg_chroot_add ${FINAL_CHROOT_DIR} repo
1282
	else
1283
		pkg_chroot_add ${FINAL_CHROOT_DIR} repo-devel
1284
	fi
1279
	pkg_chroot_add ${FINAL_CHROOT_DIR} repo
1285 1280

  
1286 1281
	if [ "${_image_type}" = "iso" -o \
1287 1282
	     "${_image_type}" = "memstick" -o \
......
1510 1505
		return
1511 1506
	fi
1512 1507

  
1513
	local _target="${1}"
1514
	local _arch="${2}"
1515
	local _target_arch="${3}"
1516
	local _branch="${4}"
1517
	local _release="${5}"
1518

  
1519
	if [ -n "${_release}" ]; then
1520
		local _template="${PKG_REPO_TEMPLATE}"
1521
	else
1522
		local _template="${PKG_REPO_DEVEL_TEMPLATE}"
1523
	fi
1508
	local _template="${1}"
1509
	local _target="${2}"
1510
	local _arch="${3}"
1511
	local _target_arch="${4}"
1512
	local _branch="${5}"
1524 1513

  
1525 1514
	if [ -z "${_template}" -o ! -f "${_template}" ]; then
1526 1515
		echo ">>> ERROR: It was not possible to find pkg conf template ${_template}"
......
1554 1543

  
1555 1544
		local _arch=$(uname -m)
1556 1545
		setup_pkg_repo \
1546
			${PKG_REPO_DEFAULT} \
1557 1547
			${PKG_REPO_PATH} \
1558 1548
			${_arch} \
1559 1549
			${_arch} \
1560
			${PKG_REPO_CONF_BRANCH} \
1561
			${IS_RELEASE}
1550
			${PKG_REPO_CONF_BRANCH}
1562 1551

  
1563 1552
		# Use fingerprint keys from repo
1564 1553
		sed -i '' -e "/fingerprints:/ s,\"/,\"${BUILDER_ROOT}/src/," \
......
1671 1660
	local _root=${1:-"${STAGE_CHROOT_DIR}"}
1672 1661

  
1673 1662
	setup_pkg_repo \
1663
		${PKG_REPO_DEFAULT} \
1674 1664
		${_root}${PKG_REPO_PATH} \
1675 1665
		${TARGET} \
1676 1666
		${TARGET_ARCH} \
1677
		${PKG_REPO_CONF_BRANCH} \
1678
		${IS_RELEASE}
1667
		${PKG_REPO_CONF_BRANCH}
1679 1668

  
1680 1669
	pkg_chroot ${_root} bootstrap -f
1681 1670
}

Also available in: Unified diff