* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.