From ec29ff9f0b0806b8647d9dcf4491936c45ff81b3 Mon Sep 17 00:00:00 2001 From: "Tom G. Christensen" Date: Sat, 12 Apr 2008 14:48:05 +0000 Subject: [PATCH] Create relnotes for all sections in pkgdef Correctly remove version lines from the depend file when extracting deps for the relnotes file Correctly match on packagenames when finding deps in the shared depend file --- buildpkg.packaging.solaris | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/buildpkg.packaging.solaris b/buildpkg.packaging.solaris index d1512b1..d5f46c1 100644 --- a/buildpkg.packaging.solaris +++ b/buildpkg.packaging.solaris @@ -320,20 +320,21 @@ add_dir() } # auto_rel(): Fix up and add releasenotes to stagedir -# params: none +# params: $1 = secname # This will make some substitutions on a release note template # and then copy the result to $stagedir/${metainstalldir}relnotes/$topdir-$version-$pkgver.txt auto_rel() { + local secname=$1 local i local rn - for i in relnotes relnotes.${_os} + for i in relnotes relnotes.${_os} relnotes.$secname relnotes.${_os}.$secname do [ -r ${metadir}/${i} ] && rn=$i done if [ -r ${metadir}/${rn} ]; then - local relmetadir=${stagedir}${metainstalldir}relnotes/$topdir-$version-$pkgver + local relmetadir=${stagedir}${metainstalldir}relnotes/$secname-$version-$pkgver ### compute configure info for relnotes local cf="$(_upls $configure_args)" [ -n "$ac_overrides" ] && local aco="$(for ar in $ac_overrides; do echo $ar; done | $AWK '{ printf "%s \\\\ \\n",$0 }')" @@ -357,8 +358,8 @@ auto_rel() fi fi ### - local pkgnam=$(get_pkgname $relnotes_secname) - local vendor=$(get_pkgvendor $relnotes_secname) + local pkgnam=$(get_pkgname $secname) + local vendor=$(get_pkgvendor $secname) local packager="${pkgedby} <${email}>" ### Compute SHA1 sums for all source entries local s @@ -393,7 +394,7 @@ auto_rel() local extracted_env="${temp_extracted_env%\\*}" ### ### Add dependencies - local temp_deps="$($CAT $metadir/depend.*.all | $GREP -v 'REV=' | $SORT -u | $AWK '{ printf "%s\\n",$0 }')" + local temp_deps="$($CAT $metadir/depend.$secname.all | $SED -e '/^ /d' | $SORT -u | $AWK '{ printf "%s\\n",$0 }')" local deps="${temp_deps%\\*}" ### $MKDIR -p $relmetadir @@ -406,11 +407,10 @@ auto_rel() -e "s;%%SOURCE_SHA1SUM%%;${source_sha1sum};g" \ -e "s;%%ENVIRONMENT%%;${extracted_env};g" \ -e "s;%%DEPENDENCIES%%;${deps};g" \ - ${metadir}/${rn} > "$relmetadir/${topdir}.txt" + ${metadir}/${rn} > "$relmetadir/${secname}.txt" ### Add the relnotes to the prototype file - #add_dir $defaultperms $defaultuid $defaultgid "relnotes/$topdir-$version-$pkgver" $relnotes_secname # Add dir entry - add_proto $defaultperms $defaultuid $defaultgid "relnotes" $relnotes_secname + add_proto $defaultperms $defaultuid $defaultgid "relnotes" $secname else echo "auto_rel: No release notes found!" fi @@ -509,7 +509,7 @@ auto_deps() for j in $(list_pkgs) do temp=$(get_pkgname $j) - deps=$(echo $deps | sed -e "/$temp/d") + deps=$(echo $deps | $SED -e "/$temp/d") done # Parse any speciel depends # We don't do ignore_deps processing for these deps @@ -517,7 +517,7 @@ auto_deps() local extra_pkgname # Package that should have the depend local extra_dep_pkgname # The name of depend (either a pkgname or a secname) local extra_dep_version # version of the depend (or auto keyword) - $SED -n "/^$pkgname/p" $metadir/depend | + $SED -n "/^$pkgname /p" $metadir/depend | while read extra_pkgname extra_dep_pkgname extra_dep_version do local internal_dep=0 @@ -601,8 +601,6 @@ parse_def() legalend=0 # Set default value for maxinst for the new section maxinst=1 - # By default relnotes will end up in the first package section found - [ -z "$relnotes_secname" ] && relnotes_secname=$secname fi ;; '') @@ -844,9 +842,7 @@ generic_pack() do auto_deps $i add_scripts $i - # auto_rel should only run once, when relnotes_secname comes up - # however it depends on depend.*.all generated above so must be inside the loop - [ "$i" = "$relnotes_secname" ] && auto_rel + auto_rel $i make_pkg $i done }