[pacman-dev] [PATCH] makepkg: remove ability to build individual packages

Dave Reisner d at falconindy.com
Tue Sep 22 14:41:15 UTC 2015


On Tue, Sep 22, 2015 at 04:20:45PM +0200, Pierre Neidhardt wrote:
> I might have missed something in the previous messages, but is there any
> rationale on this, beside debatable worthiness?

It's terribly broken as implemented (overwriting the pkgname array from
the PKGBUILD), and it's a misfeature. We should not allow cherrypicking
random packages out of a PKGBUILD. If you don't want to install all of
them, that's fine.  But we should force everything to be built.

Not doing this means that there can silently exist package order
dependencies between package functions. And really, what does this save
you? The build is generally the longest step of any packaging task --
not the packaging itself.

> On 15-09-23 00:04:23, Allan McRae wrote:
> > Signed-off-by: Allan McRae <allan at archlinux.org>
> > ---
> >  scripts/makepkg.sh.in | 8 --------
> >  1 file changed, 8 deletions(-)
> > 
> > diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> > index 793d42c..6ededa3 100644
> > --- a/scripts/makepkg.sh.in
> > +++ b/scripts/makepkg.sh.in
> > @@ -76,7 +76,6 @@ NOBUILD=0
> >  NODEPS=0
> >  NOEXTRACT=0
> >  PKGFUNC=0
> > -PKGLIST=()
> >  PKGVERFUNC=0
> >  PREPAREFUNC=0
> >  REPKG=0
> > @@ -1718,7 +1717,6 @@ usage() {
> >  	printf -- "$(gettext "  --noprepare      Do not run the %s function in the %s")\n" "prepare()" "$BUILDSCRIPT"
> >  	printf -- "$(gettext "  --nosign         Do not create a signature for the package")\n"
> >  	printf -- "$(gettext "  --packagelist    Only list packages that would be produced, without PKGEXT")\n"
> > -	printf -- "$(gettext "  --pkg <list>     Only build listed packages from a split package")\n"
> >  	printf -- "$(gettext "  --printsrcinfo   Print the generated SRCINFO and exit")\n"
> >  	printf -- "$(gettext "  --sign           Sign the resulting package with %s")\n" "gpg"
> >  	printf -- "$(gettext "  --skipchecksums  Do not verify checksums of the source files")\n"
> > @@ -1808,7 +1806,6 @@ while true; do
> >  		--nosign)         SIGNPKG='n' ;;
> >  		-o|--nobuild)     NOBUILD=1 ;;
> >  		-p)               shift; BUILDFILE=$1 ;;
> > -		--pkg)            shift; IFS=, read -ra p <<<"$1"; PKGLIST+=("${p[@]}"); unset p ;;
> >  		--packagelist)    PACKAGELIST=1 IGNOREARCH=1;;
> >  		--printsrcinfo)   PRINTSRCINFO=1 ;;
> >  		-r|--rmdeps)      RMDEPS=1 ;;
> > @@ -2060,11 +2057,6 @@ elif [[ $SPLITPKG -eq 0 ]] && have_function package_${pkgname}; then
> >  	SPLITPKG=1
> >  fi
> >  
> > -if [[ -n "${PKGLIST[@]}" ]]; then
> > -	unset pkgname
> > -	pkgname=("${PKGLIST[@]}")
> > -fi
> > -
> >  # check if gpg signature is to be created and if signing key is valid
> >  if { [[ -z $SIGNPKG ]] && check_buildenv "sign" "y"; } || [[ $SIGNPKG == 'y' ]]; then
> >  	SIGNPKG='y'
> > -- 
> > 2.5.3
> 
> -- 
> Pierre Neidhardt
> 
> Q:	Why was Stonehenge abandoned?
> A:	It wasn't IBM compatible.


More information about the pacman-dev mailing list