* [Buildroot] [PATCH 0 of 3 v3] Support buildroot being located in /usr
@ 2014-06-21 15:01 Thomas De Schampheleire
2014-06-21 15:01 ` [Buildroot] [PATCH 1 of 3 v3] infra: support " Thomas De Schampheleire
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Thomas De Schampheleire @ 2014-06-21 15:01 UTC (permalink / raw)
To: buildroot
Hi,
This patch series (finally) fixes bug #5750 ("Doing a Buildroot build from
/usr doesn't work"). It makes sed replacements of /usr to $(STAGING_DIR)/usr
more careful.
pkgconf still generated double sysroot paths, which did not cause any harm,
but the issue was fixed nevertheless.
Tested by a large config that used to fail (see end of this mail)
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
v2: s/Jeremy Kerr/Ben Stoltz/ (no real changes)
v3: remove redundant replacement s/$(STAGING_DIR)/@STAGING_DIR@/ (Arnout)
package/pkg-autotools.mk | 7 ++-
package/pkg-generic.mk | 9 ++-
package/pkgconf/pkgconf-02-fix-double-sysroot.patch | 40 +++++++++++++++++
package/qt5/qt5.mk | 6 ++-
4 files changed, 56 insertions(+), 6 deletions(-)
Tested defconfig:
BR2_DL_DIR="/home/tdescham/repo/contrib/dl"
BR2_BACKUP_SITE="http://sources.buildroot.net/"
BR2_KERNEL_MIRROR="http://www.kernel.org/pub/"
BR2_CCACHE=y
BR2_PACKAGE_OVERRIDE_FILE="$(TOPDIR)/local.mk"
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ECLIPSE_REGISTER=y
BR2_TARGET_GENERIC_PASSWD_DES=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
BR2_ROOTFS_SKELETON_CUSTOM=y
BR2_BUSYBOX_VERSION_1_20_X=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_ALSA_UTILS_ALSACONF=y
# BR2_PACKAGE_ALSA_UTILS_ALSACTL is not set
# BR2_PACKAGE_ALSA_UTILS_ALSAMIXER is not set
BR2_PACKAGE_ALSA_UTILS_IECSET=y
BR2_PACKAGE_ALSA_UTILS_ASEQNET=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
# BR2_PACKAGE_FFMPEG_FFMPEG is not set
BR2_PACKAGE_FFMPEG_FFPLAY=y
# BR2_PACKAGE_FFMPEG_INDEVS is not set
# BR2_PACKAGE_FFMPEG_OUTDEVS is not set
BR2_PACKAGE_MPD=y
BR2_PACKAGE_MPD_BZIP2=y
BR2_PACKAGE_MPD_CURL=y
BR2_PACKAGE_MPD_FLAC=y
BR2_PACKAGE_MPD_LAME=y
BR2_PACKAGE_MPD_MUSEPACK=y
BR2_PACKAGE_MPD_SOUNDCLOUD=y
BR2_PACKAGE_MPD_SQLITE=y
BR2_PACKAGE_MPD_VORBIS=y
BR2_PACKAGE_OPUS_TOOLS=y
BR2_PACKAGE_TSTOOLS=y
BR2_PACKAGE_WAVPACK=y
BR2_PACKAGE_INFOZIP=y
BR2_PACKAGE_DHRYSTONE=y
BR2_PACKAGE_DMALLOC=y
BR2_PACKAGE_DSTAT=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_IOZONE=y
BR2_PACKAGE_LATENCYTOP=y
BR2_PACKAGE_LTP_TESTSUITE=y
BR2_PACKAGE_MEMSTAT=y
BR2_PACKAGE_PAX_UTILS=y
BR2_PACKAGE_RAMSMP=y
BR2_PACKAGE_RAMSPEED=y
BR2_PACKAGE_STRESS=y
BR2_PACKAGE_TINYMEMBENCH=y
BR2_PACKAGE_TRACE_CMD=y
BR2_PACKAGE_BSDIFF=y
BR2_PACKAGE_CVS=y
BR2_PACKAGE_CVS_SERVER=y
BR2_PACKAGE_GIT=y
BR2_PACKAGE_JQ=y
BR2_PACKAGE_MAKE=y
BR2_PACKAGE_PKGCONF=y
BR2_PACKAGE_TREE=y
BR2_PACKAGE_CURLFTPFS=y
# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set
# BR2_PACKAGE_E2FSPROGS_CHATTR is not set
# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set
# BR2_PACKAGE_E2FSPROGS_E2FSCK is not set
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set
BR2_PACKAGE_E2FSPROGS_E4DEFRAG=y
# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set
# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set
# BR2_PACKAGE_E2FSPROGS_LSATTR is not set
# BR2_PACKAGE_E2FSPROGS_MKE2FS is not set
# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set
# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set
# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set
BR2_PACKAGE_EXFAT=y
BR2_PACKAGE_FLASHBENCH=y
BR2_PACKAGE_GENROMFS=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_MTD_DOCFDISK=y
BR2_PACKAGE_MTD_DOC_LOADBIOS=y
# BR2_PACKAGE_MTD_FLASHCP is not set
# BR2_PACKAGE_MTD_FLASH_ERASE is not set
BR2_PACKAGE_MTD_FLASH_OTP_INFO=y
BR2_PACKAGE_MTD_FLASH_OTP_WRITE=y
# BR2_PACKAGE_MTD_FLASH_UNLOCK is not set
BR2_PACKAGE_MTD_FTL_CHECK=y
BR2_PACKAGE_MTD_JFFS2DUMP=y
BR2_PACKAGE_MTD_MKFSUBIFS=y
# BR2_PACKAGE_MTD_MTD_DEBUG is not set
# BR2_PACKAGE_MTD_NANDTEST is not set
# BR2_PACKAGE_MTD_NANDWRITE is not set
BR2_PACKAGE_MTD_NFTLDUMP=y
BR2_PACKAGE_MTD_NFTL_FORMAT=y
BR2_PACKAGE_MTD_RECV_IMAGE=y
BR2_PACKAGE_MTD_SERVE_IMAGE=y
BR2_PACKAGE_MTD_SUMTOOL=y
# BR2_PACKAGE_MTD_MTDINFO is not set
# BR2_PACKAGE_MTD_UBICRC32 is not set
# BR2_PACKAGE_MTD_UBIDETACH is not set
# BR2_PACKAGE_MTD_UBINFO is not set
# BR2_PACKAGE_MTD_UBINIZE is not set
# BR2_PACKAGE_MTD_UBIRMVOL is not set
# BR2_PACKAGE_MTD_UBIRSVOL is not set
BR2_PACKAGE_NFS_UTILS=y
BR2_PACKAGE_NFS_UTILS_RPCDEBUG=y
BR2_PACKAGE_SQUASHFS=y
BR2_PACKAGE_SQUASHFS_LZMA=y
BR2_PACKAGE_XFSPROGS=y
BR2_PACKAGE_GNUCHESS=y
BR2_PACKAGE_LTRIS=y
BR2_PACKAGE_FSWEBCAM=y
BR2_PACKAGE_RRDTOOL=y
BR2_PACKAGE_CEGUI06=y
BR2_PACKAGE_DIRECTFB=y
BR2_PACKAGE_DIRECTFB_DEBUG=y
# BR2_PACKAGE_DIRECTFB_LINUXINPUT is not set
# BR2_PACKAGE_DIRECTFB_KEYBOARD is not set
# BR2_PACKAGE_DIRECTFB_SERIALMOUSE is not set
BR2_PACKAGE_DIRECTFB_IMLIB2=y
# BR2_PACKAGE_DIRECTFB_JPEG is not set
BR2_PACKAGE_DIRECTFB_DITHER_RGB16=y
BR2_PACKAGE_DIRECTFB_EXAMPLES=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO=y
BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW=y
BR2_PACKAGE_FB_TEST_APP=y
BR2_PACKAGE_FBTERM=y
BR2_PACKAGE_FBV=y
# BR2_PACKAGE_FBV_JPEG is not set
BR2_PACKAGE_IMAGEMAGICK=y
BR2_PACKAGE_LITE=y
# BR2_PACKAGE_SDL_FBCON is not set
BR2_PACKAGE_SDL_DIRECTFB=y
BR2_PACKAGE_SDL_TTF=y
BR2_PACKAGE_EFL=y
BR2_PACKAGE_LIBECORE_FB=y
BR2_PACKAGE_LIBECORE_SDL=y
BR2_PACKAGE_LIBEFREET=y
BR2_PACKAGE_LIBEIO=y
BR2_PACKAGE_LIBEVAS_BUFFER=y
# BR2_PACKAGE_LIBEVAS_DIRECTFB is not set
BR2_PACKAGE_LIBEVAS_FB=y
BR2_PACKAGE_LIBEVAS_SDL=y
BR2_PACKAGE_LIBEVAS_PNG=y
BR2_PACKAGE_LIBEVAS_JPEG=y
BR2_PACKAGE_LIBEVAS_GIF=y
BR2_PACKAGE_LIBEVAS_PMAPS=y
BR2_PACKAGE_LIBEVAS_TIFF=y
BR2_PACKAGE_LIBEVAS_XPM=y
BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS=y
BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG=y
BR2_PACKAGE_LIBEDJE=y
BR2_PACKAGE_LIBEDJE_CC=y
BR2_PACKAGE_QT_DEBUG=y
BR2_PACKAGE_QT_STATIC=y
BR2_PACKAGE_QT_LICENSE_APPROVED=y
BR2_PACKAGE_QT_PIXEL_DEPTH_4=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_8 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_12=y
BR2_PACKAGE_QT_PIXEL_DEPTH_15=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_16 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_18=y
# BR2_PACKAGE_QT_FONT_HELVETICA is not set
BR2_PACKAGE_QT_FONT_UNIFONT=y
BR2_PACKAGE_QT_GIF=y
BR2_PACKAGE_QT_QTPNG=y
BR2_PACKAGE_QT_SYSTEMTIFF=y
BR2_PACKAGE_QT_SYSTEMZLIB=y
# BR2_PACKAGE_QT_GFX_LINUXFB is not set
BR2_PACKAGE_QT_GFX_TRANSFORMED=y
BR2_PACKAGE_QT_GFX_VNC=y
BR2_PACKAGE_QT_MOUSE_LINUXINPUT=y
BR2_PACKAGE_QT_MOUSE_TSLIB=y
BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT=y
BR2_PACKAGE_QT_KEYBOARD_QVFB=y
BR2_PACKAGE_QT_DBUS=y
# BR2_PACKAGE_QT_XML is not set
BR2_PACKAGE_QT_MULTIMEDIA=y
BR2_PACKAGE_QT_AUDIO_BACKEND=y
BR2_PACKAGE_QEXTSERIALPORT=y
BR2_PACKAGE_QWT=y
BR2_PACKAGE_QWT_SVG=y
# BR2_PACKAGE_LIBERATION_MONO is not set
# BR2_PACKAGE_LIBERATION_SERIF is not set
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y
BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260=y
BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8=y
BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
BR2_PACKAGE_LINUX_FIRMWARE_BNX2X=y
BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK=y
BR2_PACKAGE_ZD1211_FIRMWARE=y
BR2_PACKAGE_CRYPTSETUP=y
BR2_PACKAGE_CWIID=y
BR2_PACKAGE_DBUS_GLIB=y
BR2_PACKAGE_DVB_APPS=y
BR2_PACKAGE_DVBSNOOP=y
BR2_PACKAGE_EVEMU=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_FAN_CTRL=y
BR2_PACKAGE_FCONFIG=y
BR2_PACKAGE_FIS=y
BR2_PACKAGE_FMTOOLS=y
BR2_PACKAGE_GADGETFS_TEST=y
BR2_PACKAGE_GPM=y
BR2_PACKAGE_GPSD_OLDSTYLE=y
BR2_PACKAGE_GPSD_PROFILING=y
BR2_PACKAGE_GPSD_PPS=y
BR2_PACKAGE_GPSD_USER=y
BR2_PACKAGE_GPSD_MAX_DEV=y
# BR2_PACKAGE_GPSD_RECONFIGURE is not set
# BR2_PACKAGE_GPSD_CONTROLSEND is not set
BR2_PACKAGE_GPSD_EARTHMATE=y
BR2_PACKAGE_GPSD_EVERMORE=y
BR2_PACKAGE_GPSD_GARMIN=y
BR2_PACKAGE_GPSD_GEOSTAR=y
BR2_PACKAGE_GPSD_ITRAX=y
BR2_PACKAGE_GPSD_NMEA2000=y
BR2_PACKAGE_GPSD_NTRIP=y
BR2_PACKAGE_GPSD_OCEANSERVER=y
BR2_PACKAGE_GPSD_RTCM104V3=y
BR2_PACKAGE_GPSD_SUPERSTAR2=y
BR2_PACKAGE_GPSD_TRIMBLE_TSIP=y
BR2_PACKAGE_GPSD_TRIPMATE=y
BR2_PACKAGE_GPSD_UBX=y
BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_GDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y
BR2_PACKAGE_HWDATA=y
BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_INPUT_EVENT_DAEMON=y
BR2_PACKAGE_INPUT_TOOLS=y
BR2_PACKAGE_IOSTAT=y
BR2_PACKAGE_LSUIO=y
BR2_PACKAGE_LVM2_APP_LIBRARY=y
BR2_PACKAGE_MEMTESTER=y
BR2_PACKAGE_MINICOM=y
BR2_PACKAGE_NEARD=y
BR2_PACKAGE_NEARD_TOOLS=y
BR2_PACKAGE_OFONO=y
BR2_PACKAGE_OLA=y
BR2_PACKAGE_OLA_WEB=y
BR2_PACKAGE_OLA_RDM_TESTS=y
BR2_PACKAGE_OLA_PLUGIN_OPENDMX=y
BR2_PACKAGE_OLA_PLUGIN_ESPNET=y
BR2_PACKAGE_OLA_PLUGIN_PATHPORT=y
BR2_PACKAGE_OLA_PLUGIN_SANDNET=y
BR2_PACKAGE_OLA_PLUGIN_STAGEPROFI=y
BR2_PACKAGE_OPEN2300=y
BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SANE_BACKENDS=y
BR2_PACKAGE_SG3_UTILS=y
BR2_PACKAGE_SYSSTAT=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_PACKAGE_USBUTILS=y
BR2_PACKAGE_HASERL=y
BR2_PACKAGE_HASERL_WITH_LUA=y
BR2_PACKAGE_LUA_5_2=y
BR2_PACKAGE_CGILUA=y
BR2_PACKAGE_COPAS=y
BR2_PACKAGE_LUASQL_SQLITE3=y
BR2_PACKAGE_LUAPOSIX=y
BR2_PACKAGE_ORBIT=y
BR2_PACKAGE_PERL=y
BR2_PACKAGE_PHP=y
BR2_PACKAGE_PHP_EXT_FILEINFO=y
BR2_PACKAGE_PHP_EXT_OPENSSL=y
BR2_PACKAGE_PHP_EXT_DBA=y
BR2_PACKAGE_PHP_EXT_DBA_DB4=y
BR2_PACKAGE_PHP_EXT_MYSQL=y
BR2_PACKAGE_PHP_EXT_PDO=y
BR2_PACKAGE_PHP_EXT_PDO_MYSQL=y
BR2_PACKAGE_PHP_EXT_BCMATH=y
BR2_PACKAGE_PHP_EXT_JSON=y
BR2_PACKAGE_PHP_EXT_CURL=y
BR2_PACKAGE_PHP_EXT_PCNTL=y
# BR2_PACKAGE_PHP_EXT_POSIX is not set
BR2_PACKAGE_PHP_EXT_SHMOP=y
BR2_PACKAGE_PHP_EXT_SYSVMSG=y
BR2_PACKAGE_PHP_EXT_CTYPE=y
BR2_PACKAGE_PHP_EXT_FILTER=y
BR2_PACKAGE_PHP_EXT_SOAP=y
BR2_PACKAGE_PHP_EXT_XMLRPC=y
BR2_PACKAGE_PHP_EXT_SIMPLEXML=y
BR2_PACKAGE_PHP_EXT_WDDX=y
BR2_PACKAGE_PYTHON_PY_PYC=y
BR2_PACKAGE_PYTHON_BSDDB=y
BR2_PACKAGE_PYTHON_DIALOG=y
BR2_PACKAGE_PYTHON_ID3=y
BR2_PACKAGE_PYTHON_JSON_SCHEMA_VALIDATOR=y
BR2_PACKAGE_PYTHON_KEYRING=y
BR2_PACKAGE_PYTHON_MSGPACK=y
BR2_PACKAGE_PYTHON_NFC=y
BR2_PACKAGE_PYTHON_POSIX_IPC=y
BR2_PACKAGE_PYTHON_PYSNMP_MIBS=y
BR2_PACKAGE_PYTHON_PYUSB=y
BR2_PACKAGE_PYTHON_PYZMQ=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_PYTHON_SIMPLEJSON=y
BR2_PACKAGE_PYTHON_THRIFT=y
# BR2_PACKAGE_ALSA_LIB_ALOAD is not set
# BR2_PACKAGE_ALSA_LIB_RAWMIDI is not set
# BR2_PACKAGE_ALSA_LIB_ALISP is not set
BR2_PACKAGE_AUDIOFILE=y
BR2_PACKAGE_CELT051=y
BR2_PACKAGE_LIBAO=y
BR2_PACKAGE_LIBCUE=y
BR2_PACKAGE_LIBLO=y
BR2_PACKAGE_LIBMAD_OPTIMIZATION_SPEED=y
# BR2_PACKAGE_LIBMAD_ASO is not set
BR2_PACKAGE_LIBMODPLUG=y
BR2_PACKAGE_LIBMPD=y
BR2_PACKAGE_OPUS_FIXED_POINT=y
BR2_PACKAGE_SNAPPY=y
BR2_PACKAGE_LIBASSUAN=y
BR2_PACKAGE_LIBSHA1=y
BR2_PACKAGE_LIBSSH2=y
BR2_PACKAGE_OPENSSL_BIN=y
BR2_PACKAGE_GDBM=y
BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=y
BR2_PACKAGE_LOCKDEV=y
BR2_PACKAGE_ATK=y
BR2_PACKAGE_CAIRO_PS=y
BR2_PACKAGE_CAIRO_TEE=y
BR2_PACKAGE_CAIRO_XML=y
BR2_PACKAGE_GD_GD2COPYPAL=y
BR2_PACKAGE_GD_GD2TOGIF=y
BR2_PACKAGE_GD_GIFTOGD2=y
BR2_PACKAGE_HARFBUZZ=y
BR2_PACKAGE_IMLIB2_JPEG=y
BR2_PACKAGE_IMLIB2_PNG=y
BR2_PACKAGE_IMLIB2_TIFF=y
BR2_PACKAGE_IMLIB2_ID3=y
BR2_PACKAGE_JPEG_TURBO=y
BR2_PACKAGE_LIBSVG_CAIRO=y
BR2_PACKAGE_OPENCV=y
# BR2_PACKAGE_OPENCV_LIB_CALIB3D is not set
# BR2_PACKAGE_OPENCV_LIB_FEATURES2D is not set
# BR2_PACKAGE_OPENCV_LIB_HIGHGUI is not set
# BR2_PACKAGE_OPENCV_LIB_ML is not set
BR2_PACKAGE_OPENCV_LIB_NONFREE=y
# BR2_PACKAGE_OPENCV_LIB_OBJDETECT is not set
# BR2_PACKAGE_OPENCV_LIB_PHOTO is not set
BR2_PACKAGE_OPENCV_WITH_FFMPEG=y
BR2_PACKAGE_OPENCV_WITH_V4L=y
# BR2_PACKAGE_TIFF_CCITT is not set
# BR2_PACKAGE_TIFF_NEXT is not set
# BR2_PACKAGE_TIFF_JPEG is not set
# BR2_PACKAGE_TIFF_OLD_JPEG is not set
# BR2_PACKAGE_TIFF_JBIG is not set
BR2_PACKAGE_TIFF_TIFF2PDF=y
BR2_PACKAGE_WAYLAND=y
BR2_PACKAGE_WEBP=y
BR2_PACKAGE_ZXING=y
BR2_PACKAGE_DTC=y
BR2_PACKAGE_DTC_PROGRAMS=y
BR2_PACKAGE_LIBCEC=y
BR2_PACKAGE_LIBFREEFARE=y
BR2_PACKAGE_LIBFTDI=y
BR2_PACKAGE_LIBTFDI_CPP=y
BR2_PACKAGE_LIBLLCP=y
BR2_PACKAGE_LIBQMI=y
BR2_PACKAGE_LIBRAW1394=y
BR2_PACKAGE_LIBSOC=y
BR2_PACKAGE_LIBV4L_DECODE_TM6000=y
BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE=y
BR2_PACKAGE_LIBV4L_V4L2_DBG=y
BR2_PACKAGE_LIBXKBCOMMON=y
BR2_PACKAGE_MTDEV=y
BR2_PACKAGE_PCSC_LITE=y
BR2_PACKAGE_PCSC_LITE_EMBEDDED=y
BR2_PACKAGE_URG=y
BR2_PACKAGE_EXPLORERCANVAS=y
BR2_PACKAGE_FLOT=y
BR2_PACKAGE_FLOT_CANVAS=y
BR2_PACKAGE_FLOT_CROSSHAIR=y
BR2_PACKAGE_FLOT_FILLBETWEEN=y
BR2_PACKAGE_FLOT_NAVIGATE=y
BR2_PACKAGE_FLOT_RESIZE=y
BR2_PACKAGE_FLOT_SYMBOL=y
BR2_PACKAGE_FLOT_THRESHOLD=y
BR2_PACKAGE_FLOT_TIME=y
BR2_PACKAGE_JQUERY_KEYBOARD=y
BR2_PACKAGE_JQUERY_SPARKLINE=y
BR2_PACKAGE_JQUERY_VALIDATION=y
BR2_PACKAGE_JSMIN=y
BR2_PACKAGE_JSON_JAVASCRIPT=y
BR2_PACKAGE_CJSON=y
BR2_PACKAGE_JSON_GLIB=y
BR2_PACKAGE_LIBJSON=y
BR2_PACKAGE_LIBROXML=y
BR2_PACKAGE_TINYXML=y
BR2_PACKAGE_LOG4CPLUS=y
BR2_PACKAGE_LIBASS=y
BR2_PACKAGE_LIBEBML=y
BR2_PACKAGE_C_ARES=y
BR2_PACKAGE_GLIB_NETWORKING=y
BR2_PACKAGE_LIBCGI=y
BR2_PACKAGE_LIBCGICC=y
BR2_PACKAGE_LIBDNET=y
BR2_PACKAGE_LIBDNET_PYTHON=y
BR2_PACKAGE_LIBEXOSIP2=y
BR2_PACKAGE_LIBGSASL=y
BR2_PACKAGE_LIBISCSI=y
BR2_PACKAGE_LIBMICROHTTPD_SSL=y
BR2_PACKAGE_LIBMODBUS=y
BR2_PACKAGE_LIBNETFILTER_LOG=y
BR2_PACKAGE_LIBNFTNL=y
BR2_PACKAGE_LIBNFTNL_JSON=y
BR2_PACKAGE_LIBNFTNL_XML=y
BR2_PACKAGE_LIBOPING=y
BR2_PACKAGE_LIBSOCKETCAN=y
BR2_PACKAGE_LIBTORRENT=y
BR2_PACKAGE_LIBWEBSOCKETS=y
BR2_PACKAGE_NEON_SSL=y
BR2_PACKAGE_NEON_LIBXML2=y
BR2_PACKAGE_OPENPGM=y
BR2_PACKAGE_RTMPDUMP=y
BR2_PACKAGE_THRIFT=y
BR2_PACKAGE_USBREDIR=y
BR2_PACKAGE_USBREDIR_SERVER=y
BR2_PACKAGE_ZYRE=y
BR2_PACKAGE_APR_UTIL=y
BR2_PACKAGE_BOOST_CHRONO=y
BR2_PACKAGE_BOOST_DATE_TIME=y
BR2_PACKAGE_BOOST_FILESYSTEM=y
BR2_PACKAGE_BOOST_GRAPH=y
BR2_PACKAGE_BOOST_IOSTREAMS=y
BR2_PACKAGE_BOOST_LOCALE=y
BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
BR2_PACKAGE_BOOST_REGEX=y
BR2_PACKAGE_BOOST_SERIALIZATION=y
BR2_PACKAGE_BOOST_SIGNALS=y
BR2_PACKAGE_BOOST_SYSTEM=y
BR2_PACKAGE_BOOST_TIMER=y
BR2_PACKAGE_EIGEN=y
BR2_PACKAGE_ELFUTILS=y
BR2_PACKAGE_FFTW=y
BR2_PACKAGE_GLIBMM=y
BR2_PACKAGE_GSL=y
BR2_PACKAGE_LIBNSPR=y
BR2_PACKAGE_MPC=y
BR2_PACKAGE_POCO=y
BR2_PACKAGE_POCO_ZIP=y
BR2_PACKAGE_PROTOBUF_C=y
BR2_PACKAGE_ICU=y
BR2_PACKAGE_LIBENCA=y
BR2_PACKAGE_LINENOISE=y
BR2_PACKAGE_NCURSES_TARGET_FORM=y
BR2_PACKAGE_NCURSES_TARGET_MENU=y
BR2_PACKAGE_SLANG=y
BR2_PACKAGE_EMPTY=y
BR2_PACKAGE_MCRYPT=y
BR2_PACKAGE_LIBESMTP=y
BR2_PACKAGE_MSMTP=y
BR2_PACKAGE_AICCU=y
BR2_PACKAGE_ARGUS=y
BR2_PACKAGE_ARPTABLES=y
BR2_PACKAGE_AUTOSSH=y
BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AXEL=y
BR2_PACKAGE_BLUEZ_UTILS_AUDIO=y
BR2_PACKAGE_BMON=y
BR2_PACKAGE_BOA=y
BR2_PACKAGE_BRIDGE_UTILS=y
BR2_PACKAGE_CAN_UTILS=y
BR2_PACKAGE_CHRONY=y
BR2_PACKAGE_CONNTRACK_TOOLS=y
BR2_PACKAGE_CRDA=y
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS=y
BR2_PACKAGE_DROPBEAR_LASTLOG=y
BR2_PACKAGE_EBTABLES=y
BR2_PACKAGE_FPING=y
BR2_PACKAGE_GESFTPSERVER=y
BR2_PACKAGE_HIAWATHA=y
BR2_PACKAGE_HIAWATHA_SSL=y
BR2_PACKAGE_IFTOP=y
BR2_PACKAGE_IPSET=y
BR2_PACKAGE_IPUTILS=y
BR2_PACKAGE_KISMET=y
BR2_PACKAGE_KISMET_CLIENT=y
# BR2_PACKAGE_KISMET_SERVER is not set
BR2_PACKAGE_LFTP=y
# BR2_PACKAGE_LFTP_CMD_MIRROR is not set
# BR2_PACKAGE_LFTP_CMD_SLEEP is not set
BR2_PACKAGE_LFTP_CMD_TORRENT=y
BR2_PACKAGE_LFTP_PROTO_FISH=y
BR2_PACKAGE_LFTP_PROTO_HTTP=y
BR2_PACKAGE_LFTP_PROTO_SFTP=y
BR2_PACKAGE_LINKNX=y
BR2_PACKAGE_MONGOOSE=y
BR2_PACKAGE_MROUTED=y
BR2_PACKAGE_MTR=y
BR2_PACKAGE_NCFTP=y
# BR2_PACKAGE_NCFTP_GET is not set
# BR2_PACKAGE_NCFTP_BATCH is not set
BR2_PACKAGE_NGIRCD=y
BR2_PACKAGE_NMAP=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_NTP_SNTP=y
BR2_PACKAGE_NTP_NTP_WAIT=y
BR2_PACKAGE_NTP_NTPQ=y
BR2_PACKAGE_NUTTCP=y
BR2_PACKAGE_OPENSWAN=y
BR2_PACKAGE_OPENVPN=y
# BR2_PACKAGE_OPENVPN_LZO is not set
BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL=y
BR2_PACKAGE_P910ND=y
BR2_PACKAGE_PORTMAP=y
BR2_PACKAGE_PPPD=y
BR2_PACKAGE_PPPD_RADIUS=y
BR2_PACKAGE_PPTP_LINUX=y
BR2_PACKAGE_PROFTPD=y
BR2_PACKAGE_PROXYCHAINS_NG=y
BR2_PACKAGE_PTPD=y
BR2_PACKAGE_PTPD2=y
BR2_PACKAGE_QUAGGA=y
BR2_PACKAGE_QUAGGA_BGPD=y
BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE=y
BR2_PACKAGE_QUAGGA_ISISD=y
BR2_PACKAGE_QUAGGA_OSPF6D=y
BR2_PACKAGE_QUAGGA_RIPD=y
BR2_PACKAGE_QUAGGA_WATCHQUAGGA=y
BR2_PACKAGE_QUAGGA_SNMP=y
BR2_PACKAGE_SCONESERVER=y
BR2_PACKAGE_SCONESERVER_EXAMPLES=y
BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE=y
BR2_PACKAGE_SCONESERVER_MYSQL=y
BR2_PACKAGE_SCONESERVER_BLUETOOTH=y
BR2_PACKAGE_SCONESERVER_LOCATION=y
BR2_PACKAGE_SCONESERVER_TESTBUILDER=y
BR2_PACKAGE_SER2NET=y
BR2_PACKAGE_SOCKETCAND=y
BR2_PACKAGE_SQUID=y
BR2_PACKAGE_STRONGSWAN=y
BR2_PACKAGE_STRONGSWAN_OPENSSL=y
BR2_PACKAGE_STRONGSWAN_CURL=y
# BR2_PACKAGE_STRONGSWAN_CHARON is not set
# BR2_PACKAGE_STRONGSWAN_TOOLS is not set
BR2_PACKAGE_TCPING=y
BR2_PACKAGE_THTTPD=y
BR2_PACKAGE_TINYHTTPD=y
BR2_PACKAGE_UDPCAST=y
BR2_PACKAGE_UDPCAST_RECEIVER=y
BR2_PACKAGE_USHARE=y
BR2_PACKAGE_VPNC=y
BR2_PACKAGE_VSFTPD=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
BR2_PACKAGE_WVDIAL=y
BR2_PACKAGE_XL2TP=y
BR2_PACKAGE_DTACH=y
BR2_PACKAGE_LOCKFILE_PROGS=y
BR2_PACKAGE_LOGSURFER=y
BR2_PACKAGE_SCREEN=y
BR2_PACKAGE_XMLSTARLET=y
BR2_PACKAGE_ATTR=y
BR2_PACKAGE_KEYUTILS=y
BR2_PACKAGE_NCDU=y
BR2_PACKAGE_NUT=y
BR2_PACKAGE_QUOTA=y
BR2_PACKAGE_UTIL_LINUX_ARCH=y
BR2_PACKAGE_UTIL_LINUX_EJECT=y
BR2_PACKAGE_UTIL_LINUX_FALLOCATE=y
BR2_PACKAGE_UTIL_LINUX_FSCK=y
BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS=y
BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT=y
BR2_PACKAGE_UTIL_LINUX_RENAME=y
BR2_PACKAGE_UTIL_LINUX_RESET=y
BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS=y
BR2_PACKAGE_UTIL_LINUX_UNSHARE=y
BR2_PACKAGE_UTIL_LINUX_UUIDD=y
BR2_PACKAGE_WDCTL=y
BR2_PACKAGE_UTIL_LINUX_WRITE=y
BR2_PACKAGE_ED=y
BR2_PACKAGE_JOE=y
# BR2_PACKAGE_JOE_FULL is not set
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_TARGET_ROOTFS_UBIFS=y
BR2_TARGET_ROOTFS_UBIFS_BZIP2=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENPART=y
BR2_PACKAGE_HOST_LPC3250LOADER=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_OPENOCD=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
^ permalink raw reply [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 1 of 3 v3] infra: support buildroot being located in /usr 2014-06-21 15:01 [Buildroot] [PATCH 0 of 3 v3] Support buildroot being located in /usr Thomas De Schampheleire @ 2014-06-21 15:01 ` Thomas De Schampheleire 2014-06-25 21:26 ` Arnout Vandecappelle 2014-06-29 10:39 ` Thomas Petazzoni 2014-06-21 15:01 ` [Buildroot] [PATCH 2 of 3 v3] qt5: " Thomas De Schampheleire 2014-06-21 15:01 ` [Buildroot] [PATCH 3 of 3 v3] pkgconf: don't double prefix lib/include paths with sysroot Thomas De Schampheleire 2 siblings, 2 replies; 11+ messages in thread From: Thomas De Schampheleire @ 2014-06-21 15:01 UTC (permalink / raw) To: buildroot pkg-generic and pkg-autotools both perform sed replacements of /usr to $(STAGING_DIR)/usr, in .pc and .la files respectively. However, if buildroot itself is located in /usr, then STAGING_DIR also starts with /usr, and naive replacements of '/usr' can result in paths of the form: /usr/buildroot/.../sysroot/usr/buildroot/.../sysroot/... This patch makes the replacements more careful, by first replacing the known paths BASE_DIR and STAGING_DIR to tokens, then performing the actual replacement, and finally replacing the tokens with the corresponding paths. Additionally it removes the unnecessary making of a backup copy in pkg-autotools. Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) Partially-based-on-a-patch-from: Ben Stoltz <benstoltz@gmail.com> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> --- v3: remove redundant replacement s/$(STAGING_DIR)/@STAGING_DIR@/ (Arnout) v2: s/Jeremy Kerr/Ben Stoltz/ package/pkg-autotools.mk | 7 +++++-- package/pkg-generic.mk | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff -r a59338f65a46 -r f9dbe1c9d761 package/pkg-autotools.mk --- a/package/pkg-autotools.mk Wed Jun 18 20:22:00 2014 +0400 +++ b/package/pkg-autotools.mk Sat Jun 21 11:08:31 2014 +0200 @@ -268,8 +268,11 @@ define $(2)_INSTALL_STAGING_CMDS $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_INSTALL_STAGING_OPT) -C $$($$(PKG)_SRCDIR) for i in $$$$(find $$(STAGING_DIR)/usr/lib* -name "*.la"); do \ - cp -f $$$$i $$$$i~; \ - $$(SED) "s:\(['= ]\)/usr:\\1$$(STAGING_DIR)/usr:g" $$$$i; \ + $$(SED) "s:$$(BASE_DIR):@BASE_DIR@:g" \ + -e "s:\(['= ]\)/usr:\\1 at STAGING_DIR@/usr:g" \ + -e "s:@STAGING_DIR@:$$(STAGING_DIR):g" \ + -e "s:@BASE_DIR@:$$(BASE_DIR):g" \ + $$$$i; \ done endef endif diff -r a59338f65a46 -r f9dbe1c9d761 package/pkg-generic.mk --- a/package/pkg-generic.mk Wed Jun 18 20:22:00 2014 +0400 +++ b/package/pkg-generic.mk Sat Jun 21 11:08:31 2014 +0200 @@ -201,9 +201,12 @@ $(foreach hook,$($(PKG)_POST_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep)) $(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \ $(call MESSAGE,"Fixing package configuration files") ;\ - $(SED) "s,^\(exec_\)\?prefix=.*,\1prefix=$(STAGING_DIR)/usr,g" \ - -e "s,-I/usr/,-I$(STAGING_DIR)/usr/,g" \ - -e "s,-L/usr/,-L$(STAGING_DIR)/usr/,g" \ + $(SED) "s,$(BASE_DIR), at BASE_DIR@,g" \ + -e "s,^\(exec_\)\?prefix=.*,\1prefix=@STAGING_DIR@/usr,g" \ + -e "s,-I/usr/,-I at STAGING_DIR@/usr/,g" \ + -e "s,-L/usr/,-L at STAGING_DIR@/usr/,g" \ + -e "s, at STAGING_DIR@,$(STAGING_DIR),g" \ + -e "s, at BASE_DIR@,$(BASE_DIR),g" \ $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\ fi $(Q)touch $@ ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1 of 3 v3] infra: support buildroot being located in /usr 2014-06-21 15:01 ` [Buildroot] [PATCH 1 of 3 v3] infra: support " Thomas De Schampheleire @ 2014-06-25 21:26 ` Arnout Vandecappelle 2014-06-29 10:39 ` Thomas Petazzoni 1 sibling, 0 replies; 11+ messages in thread From: Arnout Vandecappelle @ 2014-06-25 21:26 UTC (permalink / raw) To: buildroot On 21/06/14 17:01, Thomas De Schampheleire wrote: > pkg-generic and pkg-autotools both perform sed replacements of /usr to > $(STAGING_DIR)/usr, in .pc and .la files respectively. However, if buildroot > itself is located in /usr, then STAGING_DIR also starts with /usr, and naive > replacements of '/usr' can result in paths of the form: > /usr/buildroot/.../sysroot/usr/buildroot/.../sysroot/... > > This patch makes the replacements more careful, by first replacing the known > paths BASE_DIR and STAGING_DIR to tokens, then performing the actual > replacement, and finally replacing the tokens with the corresponding paths. > > Additionally it removes the unnecessary making of a backup copy in > pkg-autotools. > > Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) > > Partially-based-on-a-patch-from: Ben Stoltz <benstoltz@gmail.com> > Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Still... > > --- > v3: remove redundant replacement s/$(STAGING_DIR)/@STAGING_DIR@/ (Arnout) > v2: s/Jeremy Kerr/Ben Stoltz/ > > package/pkg-autotools.mk | 7 +++++-- > package/pkg-generic.mk | 9 ++++++--- > 2 files changed, 11 insertions(+), 5 deletions(-) > > diff -r a59338f65a46 -r f9dbe1c9d761 package/pkg-autotools.mk > --- a/package/pkg-autotools.mk Wed Jun 18 20:22:00 2014 +0400 > +++ b/package/pkg-autotools.mk Sat Jun 21 11:08:31 2014 +0200 > @@ -268,8 +268,11 @@ > define $(2)_INSTALL_STAGING_CMDS > $$(TARGET_MAKE_ENV) $$($$(PKG)_MAKE_ENV) $$($$(PKG)_MAKE) $$($$(PKG)_INSTALL_STAGING_OPT) -C $$($$(PKG)_SRCDIR) > for i in $$$$(find $$(STAGING_DIR)/usr/lib* -name "*.la"); do \ > - cp -f $$$$i $$$$i~; \ > - $$(SED) "s:\(['= ]\)/usr:\\1$$(STAGING_DIR)/usr:g" $$$$i; \ > + $$(SED) "s:$$(BASE_DIR):@BASE_DIR@:g" \ > + -e "s:\(['= ]\)/usr:\\1 at STAGING_DIR@/usr:g" \ > + -e "s:@STAGING_DIR@:$$(STAGING_DIR):g" \ There is in fact no reason to do this in two steps, except that it looks a bit more symmetric. Is there? Anyway, I'm OK with how it is now, it looks pretty. BTW, now that you've reduced the body of the loop to a single statement, you can actually avoid the $$$$ hell by using xargs instead of for. > + -e "s:@BASE_DIR@:$$(BASE_DIR):g" \ > + $$$$i; \ Perhaps there should be an explanatory comment of what happens here (before the define): # Most autotools packages install libtool .la files alongside any installed # libraries. These .la files sometimes refer to paths relative to the sysroot, # which libtool will interpret as absolute paths to host libraries instead of # the target libraries. Since we configure with --prefix=/usr, such absolute # paths start with /usr. So we add $(STAGING_DIR) in front of any path that # starts with /usr. # To protect against the case that the output directory itself is under /usr, # we first substitute away any occurences of the output directory to @BASE_DIR at . > done > endef > endif > diff -r a59338f65a46 -r f9dbe1c9d761 package/pkg-generic.mk > --- a/package/pkg-generic.mk Wed Jun 18 20:22:00 2014 +0400 > +++ b/package/pkg-generic.mk Sat Jun 21 11:08:31 2014 +0200 > @@ -201,9 +201,12 @@ > $(foreach hook,$($(PKG)_POST_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep)) > $(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \ > $(call MESSAGE,"Fixing package configuration files") ;\ > - $(SED) "s,^\(exec_\)\?prefix=.*,\1prefix=$(STAGING_DIR)/usr,g" \ > - -e "s,-I/usr/,-I$(STAGING_DIR)/usr/,g" \ > - -e "s,-L/usr/,-L$(STAGING_DIR)/usr/,g" \ > + $(SED) "s,$(BASE_DIR), at BASE_DIR@,g" \ > + -e "s,^\(exec_\)\?prefix=.*,\1prefix=@STAGING_DIR@/usr,g" \ > + -e "s,-I/usr/,-I at STAGING_DIR@/usr/,g" \ > + -e "s,-L/usr/,-L at STAGING_DIR@/usr/,g" \ > + -e "s, at STAGING_DIR@,$(STAGING_DIR),g" \ > + -e "s, at BASE_DIR@,$(BASE_DIR),g" \ > $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\ This one is sufficiently self-explanatory, so no additional comment is needed IMHO. The @STAGING_DIR@ is still redundant, though :-) Regards, Arnout > fi > $(Q)touch $@ > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1 of 3 v3] infra: support buildroot being located in /usr 2014-06-21 15:01 ` [Buildroot] [PATCH 1 of 3 v3] infra: support " Thomas De Schampheleire 2014-06-25 21:26 ` Arnout Vandecappelle @ 2014-06-29 10:39 ` Thomas Petazzoni 2014-06-29 11:07 ` Thomas De Schampheleire 1 sibling, 1 reply; 11+ messages in thread From: Thomas Petazzoni @ 2014-06-29 10:39 UTC (permalink / raw) To: buildroot Dear Thomas De Schampheleire, On Sat, 21 Jun 2014 17:01:47 +0200, Thomas De Schampheleire wrote: > pkg-generic and pkg-autotools both perform sed replacements of /usr to > $(STAGING_DIR)/usr, in .pc and .la files respectively. However, if buildroot > itself is located in /usr, then STAGING_DIR also starts with /usr, and naive > replacements of '/usr' can result in paths of the form: > /usr/buildroot/.../sysroot/usr/buildroot/.../sysroot/... > > This patch makes the replacements more careful, by first replacing the known > paths BASE_DIR and STAGING_DIR to tokens, then performing the actual > replacement, and finally replacing the tokens with the corresponding paths. > > Additionally it removes the unnecessary making of a backup copy in > pkg-autotools. > > Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) > > Partially-based-on-a-patch-from: Ben Stoltz <benstoltz@gmail.com> > Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> I've applied this patch, after adding the explanation comment proposed by Arnout. However, I haven't implemented the other possible improvements suggested by Arnout, which I believe can be proposed as followup patches. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1 of 3 v3] infra: support buildroot being located in /usr 2014-06-29 10:39 ` Thomas Petazzoni @ 2014-06-29 11:07 ` Thomas De Schampheleire 2014-06-29 11:22 ` Thomas Petazzoni 0 siblings, 1 reply; 11+ messages in thread From: Thomas De Schampheleire @ 2014-06-29 11:07 UTC (permalink / raw) To: buildroot Hi Thomas, On Sun, Jun 29, 2014 at 12:39 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Dear Thomas De Schampheleire, > > On Sat, 21 Jun 2014 17:01:47 +0200, Thomas De Schampheleire wrote: >> pkg-generic and pkg-autotools both perform sed replacements of /usr to >> $(STAGING_DIR)/usr, in .pc and .la files respectively. However, if buildroot >> itself is located in /usr, then STAGING_DIR also starts with /usr, and naive >> replacements of '/usr' can result in paths of the form: >> /usr/buildroot/.../sysroot/usr/buildroot/.../sysroot/... >> >> This patch makes the replacements more careful, by first replacing the known >> paths BASE_DIR and STAGING_DIR to tokens, then performing the actual >> replacement, and finally replacing the tokens with the corresponding paths. >> >> Additionally it removes the unnecessary making of a backup copy in >> pkg-autotools. >> >> Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) >> >> Partially-based-on-a-patch-from: Ben Stoltz <benstoltz@gmail.com> >> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> > > I've applied this patch, after adding the explanation comment proposed > by Arnout. However, I haven't implemented the other possible > improvements suggested by Arnout, which I believe can be proposed as > followup patches. Yesterday I started implementing these changes and the test build just finished successfully. I will submit the delta now... Thanks for applying! Best regards, Thomas ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1 of 3 v3] infra: support buildroot being located in /usr 2014-06-29 11:07 ` Thomas De Schampheleire @ 2014-06-29 11:22 ` Thomas Petazzoni 2014-06-29 11:44 ` Thomas De Schampheleire 0 siblings, 1 reply; 11+ messages in thread From: Thomas Petazzoni @ 2014-06-29 11:22 UTC (permalink / raw) To: buildroot Dear Thomas De Schampheleire, On Sun, 29 Jun 2014 13:07:25 +0200, Thomas De Schampheleire wrote: > > I've applied this patch, after adding the explanation comment proposed > > by Arnout. However, I haven't implemented the other possible > > improvements suggested by Arnout, which I believe can be proposed as > > followup patches. > > Yesterday I started implementing these changes and the test build just > finished successfully. > I will submit the delta now... Ah, sorry about that. Since the patches were OK as is, I thought it was better to apply the current patches and do the rest as followup patches. Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1 of 3 v3] infra: support buildroot being located in /usr 2014-06-29 11:22 ` Thomas Petazzoni @ 2014-06-29 11:44 ` Thomas De Schampheleire 0 siblings, 0 replies; 11+ messages in thread From: Thomas De Schampheleire @ 2014-06-29 11:44 UTC (permalink / raw) To: buildroot On Sun, Jun 29, 2014 at 1:22 PM, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > Dear Thomas De Schampheleire, > > On Sun, 29 Jun 2014 13:07:25 +0200, Thomas De Schampheleire wrote: > >> > I've applied this patch, after adding the explanation comment proposed >> > by Arnout. However, I haven't implemented the other possible >> > improvements suggested by Arnout, which I believe can be proposed as >> > followup patches. >> >> Yesterday I started implementing these changes and the test build just >> finished successfully. >> I will submit the delta now... > > Ah, sorry about that. Since the patches were OK as is, I thought it was > better to apply the current patches and do the rest as followup patches. No problem at all. I should have mentioned that I would rework yesterday, my fault. Best regards, Thomas ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 2 of 3 v3] qt5: support buildroot being located in /usr 2014-06-21 15:01 [Buildroot] [PATCH 0 of 3 v3] Support buildroot being located in /usr Thomas De Schampheleire 2014-06-21 15:01 ` [Buildroot] [PATCH 1 of 3 v3] infra: support " Thomas De Schampheleire @ 2014-06-21 15:01 ` Thomas De Schampheleire 2014-06-29 10:40 ` Thomas Petazzoni 2014-06-21 15:01 ` [Buildroot] [PATCH 3 of 3 v3] pkgconf: don't double prefix lib/include paths with sysroot Thomas De Schampheleire 2 siblings, 1 reply; 11+ messages in thread From: Thomas De Schampheleire @ 2014-06-21 15:01 UTC (permalink / raw) To: buildroot qt5 performs sed replacements of /usr to $(STAGING_DIR)/usr in .la files. However, if buildroot itself is located in /usr, then STAGING_DIR also starts with /usr, and naive replacements of '/usr' can result in paths of the form: /usr/buildroot/.../sysroot/usr/buildroot/.../sysroot/... This patch makes the replacements more careful, by first replacing the known paths BASE_DIR and STAGING_DIR to tokens, then performing the actual replacement, and finally replacing the tokens with the corresponding paths. Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> --- v3: remove redundent replacement s/$(STAGING_DIR)/@STAGING_DIR@/ (Arnout) v2: no changes package/qt5/qt5.mk | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff -r f9dbe1c9d761 -r b3e4c074d9f7 package/qt5/qt5.mk --- a/package/qt5/qt5.mk Sat Jun 21 11:08:31 2014 +0200 +++ b/package/qt5/qt5.mk Thu Jun 19 21:16:12 2014 +0200 @@ -5,7 +5,11 @@ define QT5_LA_PRL_FILES_FIXUP for i in $$(find $(STAGING_DIR)/usr/lib* -name "libQt5*.la"); do \ - $(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$i; \ + $(SED) "s:$(BASE_DIR):@BASE_DIR@:g" \ + -e "s:\(['= ]\)/usr:\\1 at STAGING_DIR@/usr:g" \ + -e "s:@STAGING_DIR@:$(STAGING_DIR):g" \ + -e "s:@BASE_DIR@:$(BASE_DIR):g" \ + $$i ; \ $(SED) "/^dependency_libs=/s%-L/usr/lib %%g" $$i ; \ done for i in $$(find $(STAGING_DIR)/usr/lib* -name "libQt5*.prl"); do \ ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 2 of 3 v3] qt5: support buildroot being located in /usr 2014-06-21 15:01 ` [Buildroot] [PATCH 2 of 3 v3] qt5: " Thomas De Schampheleire @ 2014-06-29 10:40 ` Thomas Petazzoni 0 siblings, 0 replies; 11+ messages in thread From: Thomas Petazzoni @ 2014-06-29 10:40 UTC (permalink / raw) To: buildroot Dear Thomas De Schampheleire, On Sat, 21 Jun 2014 17:01:48 +0200, Thomas De Schampheleire wrote: > qt5 performs sed replacements of /usr to $(STAGING_DIR)/usr in .la files. > However, if buildroot itself is located in /usr, then STAGING_DIR also > starts with /usr, and naive replacements of '/usr' can result in paths of > the form: > /usr/buildroot/.../sysroot/usr/buildroot/.../sysroot/... > > This patch makes the replacements more careful, by first replacing the known > paths BASE_DIR and STAGING_DIR to tokens, then performing the actual > replacement, and finally replacing the tokens with the corresponding paths. > > Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) > > Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Applied, thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 3 of 3 v3] pkgconf: don't double prefix lib/include paths with sysroot 2014-06-21 15:01 [Buildroot] [PATCH 0 of 3 v3] Support buildroot being located in /usr Thomas De Schampheleire 2014-06-21 15:01 ` [Buildroot] [PATCH 1 of 3 v3] infra: support " Thomas De Schampheleire 2014-06-21 15:01 ` [Buildroot] [PATCH 2 of 3 v3] qt5: " Thomas De Schampheleire @ 2014-06-21 15:01 ` Thomas De Schampheleire 2014-06-29 10:41 ` Thomas Petazzoni 2 siblings, 1 reply; 11+ messages in thread From: Thomas De Schampheleire @ 2014-06-21 15:01 UTC (permalink / raw) To: buildroot A .pc file could contain statements of the form: -L/usr/lib but also: -L/path/to/sysroot/usr/lib The latter form typically occurs when the dependency was configured with a statement like --with-xxx=$(STAGING_DIR)/usr. pkgconf only expects the first form, and prefixes it with the specified sysroot. However, this strategy would result in a double sysroot in the second case: -L/path/to/sysroot/path/to/sysroot/usr/lib This patch checks for the presence of the sysroot in the specified -L or -I directives, and only adds the sysroot when not already present. Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> --- v3: no changes v2: no changes package/pkgconf/pkgconf-02-fix-double-sysroot.patch | 40 +++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff -r b3e4c074d9f7 -r 5aefddc71a6f package/pkgconf/pkgconf-02-fix-double-sysroot.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package/pkgconf/pkgconf-02-fix-double-sysroot.patch Thu Jun 19 21:16:17 2014 +0200 @@ -0,0 +1,40 @@ +pkgconf: don't double prefix lib/include paths with sysroot + +A .pc file could contain statements of the form: + -L/usr/lib +but also: + -L/path/to/sysroot/usr/lib + +The latter form typically occurs when the dependency was configured with a +statement like --with-xxx=$(STAGING_DIR)/usr. + +pkgconf only expects the first form, and prefixes it with the specified +sysroot. However, this strategy would result in a double sysroot in the +second case: + -L/path/to/sysroot/path/to/sysroot/usr/lib + +This patch checks for the presence of the sysroot in the specified -L or -I +directives, and only adds the sysroot when not already present. + +Upstream-status: will be submitted + +Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> + +--- + main.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + + +diff -r 16865d81819f -r 9d8e1737687f main.c +--- a/main.c Mon Jun 16 19:47:52 2014 +0200 ++++ b/main.c Mon Jun 16 19:48:15 2014 +0200 +@@ -82,7 +82,8 @@ + { + case 'L': + case 'I': +- return sysroot_dir; ++ if (strncmp(sysroot_dir, frag->data, strlen(sysroot_dir)) != 0) ++ return sysroot_dir; + default: + break; + } ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 3 of 3 v3] pkgconf: don't double prefix lib/include paths with sysroot 2014-06-21 15:01 ` [Buildroot] [PATCH 3 of 3 v3] pkgconf: don't double prefix lib/include paths with sysroot Thomas De Schampheleire @ 2014-06-29 10:41 ` Thomas Petazzoni 0 siblings, 0 replies; 11+ messages in thread From: Thomas Petazzoni @ 2014-06-29 10:41 UTC (permalink / raw) To: buildroot Dear Thomas De Schampheleire, On Sat, 21 Jun 2014 17:01:49 +0200, Thomas De Schampheleire wrote: > A .pc file could contain statements of the form: > -L/usr/lib > but also: > -L/path/to/sysroot/usr/lib > > The latter form typically occurs when the dependency was configured with a > statement like --with-xxx=$(STAGING_DIR)/usr. > > pkgconf only expects the first form, and prefixes it with the specified > sysroot. However, this strategy would result in a double sysroot in the > second case: > -L/path/to/sysroot/path/to/sysroot/usr/lib > > This patch checks for the presence of the sysroot in the specified -L or -I > directives, and only adds the sysroot when not already present. > > Partially fixes bug #5750 (https://bugs.busybox.net/show_bug.cgi?id=5750) > > Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> > Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Applied, thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-06-29 11:44 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-06-21 15:01 [Buildroot] [PATCH 0 of 3 v3] Support buildroot being located in /usr Thomas De Schampheleire 2014-06-21 15:01 ` [Buildroot] [PATCH 1 of 3 v3] infra: support " Thomas De Schampheleire 2014-06-25 21:26 ` Arnout Vandecappelle 2014-06-29 10:39 ` Thomas Petazzoni 2014-06-29 11:07 ` Thomas De Schampheleire 2014-06-29 11:22 ` Thomas Petazzoni 2014-06-29 11:44 ` Thomas De Schampheleire 2014-06-21 15:01 ` [Buildroot] [PATCH 2 of 3 v3] qt5: " Thomas De Schampheleire 2014-06-29 10:40 ` Thomas Petazzoni 2014-06-21 15:01 ` [Buildroot] [PATCH 3 of 3 v3] pkgconf: don't double prefix lib/include paths with sysroot Thomas De Schampheleire 2014-06-29 10:41 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox