On 07/03/2013 01:45 AM, Alain Kalker wrote:
On 07/02/2013 11:07 PM, Dave Reisner wrote:
You make zero mention of makepkg or any external build tool in that environment. I'm not sure how you expect anyone to pick up your veil and dispute your method of compilation. Quite frankly, this is rude of you, regardless of whether or not makepkg is at fault. Please take this kind of musdlinging somewhere else, IRC, 4chan, a muddy beach, or whatever.
My final try at proving my point is the following script: it takes a logfile from makepkg -L (with my patch applied), and an optional makepkg.conf file (defaulting to /etc/makepkg), then generates a script containing selected environment variables from the configfile, followed by a replay of all commands executed during the build or package phase (determined by the name of the logfile. Script is self-documenting, but here is the gist of how to use it for TL;DR: Here is an example script generated for the example logfile (for RRTL;DR:) ---[file: clean-build.sh]--- #!/bin/bash
# replay-build.sh - Replay commands from a makepkg logfile # This script was created using the following configuration: # Log file: libxcb-1.9.1-1-x86_64-build.log # Build settings: /etc/makepkg.conf # Debug build: no # Example usage: # $ cd <directory containing PKGBUILD> # $ rm -rf pkg src # $ mkdir pkg src # $ makepkg -o # # Do a clean build or install # $ cd src/<top of source tree> # $ ../../replay-build.sh 2>&1 | tee ../../libxcb-1.9.1-1-x86_64-build.log.clean # # Then compare the logs # $ cd ../.. # $ diff -u libxcb-1.9.1-1-x86_64-build.log{,.clean} # Set up environment export CPPFLAGS="-D_FORTIFY_SOURCE=2" export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4" export CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4" export LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro" # Set up command logging restoreps4=$PS4 PS4='$ ' set -x # Replay commands from logfile cd /home/miki/pkg/abs/extra/libxcb/src/libxcb-1.9.1 patch -Np1 -i /home/miki/pkg/abs/extra/libxcb/src/libxcb-1.1-no-pthread-stubs.patch patch -Np1 -i /home/miki/pkg/abs/extra/libxcb/src/libxcb-1.9.1-configure-ac-reorder.patch ./autogen.sh --prefix=/usr --enable-xinput --enable-xkb --disable-static make # Restore command logging set +x PS4= ---[end: clean-build.sh]--- Clean, concise, easily adaptable for submission upstream, methinks. Kind regards, Alain