All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH v4 0/4] Update installation docs
@ 2020-05-15  9:32 Petr Vorel
  2020-05-15  9:32 ` [LTP] [PATCH v4 1/4] INSTALL: Update requirements, modernise text Petr Vorel
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Petr Vorel @ 2020-05-15  9:32 UTC (permalink / raw)
  To: ltp

Hi,

changes v3->v4:
* improve note about other library dependencies in 1st commit (Jan)
* remove also "What's in a Path?" in 3rd commit

It'd need more cleanup, but enough now :).

Kind regards,
Petr

Petr Vorel (4):
  INSTALL: Update requirements, modernise text
  INSTALL: Document 32bit and cross-compilation setup
  INSTALL: Remove uClinux and "What's in a Path?" sections
  doc: Remove links to README.mk-devel

 INSTALL                 | 88 ++++++++++++++++-------------------------
 README.md               |  5 ++-
 include/mk/config.mk.in |  2 +-
 3 files changed, 38 insertions(+), 57 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 1/4] INSTALL: Update requirements, modernise text
  2020-05-15  9:32 [LTP] [PATCH v4 0/4] Update installation docs Petr Vorel
@ 2020-05-15  9:32 ` Petr Vorel
  2020-05-15  9:32 ` [LTP] [PATCH v4 2/4] INSTALL: Document 32bit and cross-compilation setup Petr Vorel
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2020-05-15  9:32 UTC (permalink / raw)
  To: ltp

* replace links to several years old versions with installation commands
  for various distros
* mention pkgconf in both INSTALL and README.md (many distros migrated
  from pkg-config to pkgconf)
* remove make version requirement (make 3.81 is in CentOS 6, which
  support were going to drop)
* remove CVS tag :)

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 INSTALL   | 46 +++++++++++++++++-----------------------------
 README.md |  5 +++--
 2 files changed, 20 insertions(+), 31 deletions(-)

diff --git a/INSTALL b/INSTALL
index 8bf6fe005..dccf7a072 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,42 +1,30 @@
-$Id: INSTALL,v 1.36 2010/01/18 23:46:09 yaberauneya Exp $
-
 Requirements
 -------------------
 
-1. In order to compile ltp you must have make 3.80+ (make 3.81 preferred).
-2. In order to compile and use ltp-scanner (a utility in the pan directory),
-   you must have bison/yacc, and flex installed.
-
-bison can be obtained here:
-- http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
-
-Berkeley yacc can be obtained here:
-- ftp://invisible-island.net/byacc/byacc.tar.gz
+Tools are needed for LTP compilation. They should be available as a
+package in any Linux distribution (no specific version is required).
 
-flex can be obtained here:
-- http://downloads.sourceforge.net/project/flex/flex/flex-2.5.33/flex-2.5.33.tar.bz2
+Debian / Ubuntu
+# apt install gcc git make pkgconf autoconf automake bison flex m4 linux-headers-$(uname -r) libc6-dev
 
-make 3.81 can be obtained here:
-- http://ftp.gnu.org/gnu/make/make-3.81.tar.bz2
+OpenSUSE / SLES
+# zypper install gcc git make pkgconf autoconf automake bison flex m4 linux-glibc-devel glibc-devel
 
-If you want to use auto configuration you also need autoconf-2.61+, automake-1.10+
-and pkg-config.
+Fedora / CentOS / RHEL
+# yum install gcc git make pkgconf autoconf automake bison flex m4 kernel-headers glibc-headers
 
-automake-1.10.2's sources can be downloaded from:
-- ftp://ftp.gnu.org/gnu/automake/automake-1.10.2.tar.bz2
-- ftp://ftp.gnu.org/gnu/automake/automake-1.10.2.tar.gz
+These are minimal build requirements for git compilation. Some tests require
+extra development files of some libraries, see travis/*.sh. There is also
+support for other Linux distributions not listed here.
 
-autoconf-2.61's sources can be downloaded from:
-- ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.bz2
-- ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz
+autoconf, automake, m4 (autoconf requirement), git and pkgconf (or pkg-config
+on older distros) are required only for compilation from git (used for creating
+configure file).
 
-autoconf-2.61 also requires m4-1.4.7+ be installed. Its sources can be
-downloaded from:
-- http://ftp.gnu.org/gnu/m4/m4-1.4.7.tar.bz2
-- http://ftp.gnu.org/gnu/m4/m4-1.4.7.tar.gz
+pkgconf is recommended also for compilation from tarball as it
+does automatic detection of some library support.
 
-pkg-config can be downloaded from:
-- https://pkg-config.freedesktop.org/releases/
+GNU Bison / Berkeley Yacc is required for ltp-scanner.
 
 Configuration
 -------------------
diff --git a/README.md b/README.md
index a2a623f40..56d10d450 100644
--- a/README.md
+++ b/README.md
@@ -37,8 +37,9 @@ on properly functioning systems, they are intended to find (or cause) problems.
 Quick guide to running the tests
 ================================
 
-If you have git, autoconf, automake, m4 and pkg-config, the linux headers and
-the common developer packages installed, the chances are the following will work:
+If you have git, autoconf, automake, m4, pkgconf / pkg-config, libc headers,
+linux kernel headers and other common development packages installed (see
+INSTALL and travis/*.sh), the chances are the following will work:
 
 ```
 $ git clone https://github.com/linux-test-project/ltp.git
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 2/4] INSTALL: Document 32bit and cross-compilation setup
  2020-05-15  9:32 [LTP] [PATCH v4 0/4] Update installation docs Petr Vorel
  2020-05-15  9:32 ` [LTP] [PATCH v4 1/4] INSTALL: Update requirements, modernise text Petr Vorel
@ 2020-05-15  9:32 ` Petr Vorel
  2020-05-15  9:32 ` [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections Petr Vorel
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2020-05-15  9:32 UTC (permalink / raw)
  To: ltp

which requires also to set pkg-config environment variables.

This setup is needed since c7d2a7458 ("rpc-tirpc: Detect libtirpc with
pkg-config")

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 INSTALL | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/INSTALL b/INSTALL
index dccf7a072..d493c523c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -214,14 +214,28 @@ contributions are welcome.
 
 Cross compiling
 ---------------
-
 To cross compile, you must specify the correct variables when running configure.
-e.g. CC, LDFLAGS, etc...
+e.g. CC, LDFLAGS, etc.
+For correct pkgconf / pkg-config detection you need to set
+PKG_CONFIG_SYSROOT_DIR=$SYSROOT
 
 After configure has run, it will generate include/mk/config.mk. You can tweak
 settings in there if need be, but you should not specificy settings on the
 command-line when running make.
 
+32 bit build on 64 bit machine
+------------------------------
+You need to set CFLAGS=-m32 LDFLAGS=-m32 and PKG_CONFIG_LIBDIR
+
+* RPM based distributions (openSUSE, Fedora, etc.)
+PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig CFLAGS=-m32 LDFLAGS=-m32 ./configure
+
+* Debian / Ubuntu and derivates
+PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig CFLAGS=-m32 LDFLAGS=-m32 ./configure
+
+* Arch Linux
+PKG_CONFIG_LIBDIR=/usr/lib32/pkgconfig CFLAGS=-m32 LDFLAGS=-m32 ./configure
+
 uClinux Users
 --------------
 Specify UCLINUX=1 when calling make; -DUCLINUX=1 use is deprecated and highly
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections
  2020-05-15  9:32 [LTP] [PATCH v4 0/4] Update installation docs Petr Vorel
  2020-05-15  9:32 ` [LTP] [PATCH v4 1/4] INSTALL: Update requirements, modernise text Petr Vorel
  2020-05-15  9:32 ` [LTP] [PATCH v4 2/4] INSTALL: Document 32bit and cross-compilation setup Petr Vorel
@ 2020-05-15  9:32 ` Petr Vorel
  2020-05-15 11:31   ` Cyril Hrubis
  2020-05-15  9:32 ` [LTP] [PATCH v4 4/4] doc: Remove links to README.mk-devel Petr Vorel
  2020-05-15 12:11 ` [LTP] [PATCH v4 0/4] Update installation docs Jan Stancek
  4 siblings, 1 reply; 8+ messages in thread
From: Petr Vorel @ 2020-05-15  9:32 UTC (permalink / raw)
  To: ltp

uClinux is not active project any more.
And we have started to remove the code anyway.

Note about reasonable PATH it's kind of obvious, we don't have to
point that out.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 INSTALL | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/INSTALL b/INSTALL
index d493c523c..89ee81e8d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -45,24 +45,6 @@ what to do next.
 Compiling LTP
 -------------------
 
-"What's in a Path?"
--------------------
-
-Before getting started, you should make sure that your build directory and
-source directory are as basic as possible: no commas, colons, semicolons,
-spaces, etc. In fact, this is a relatively good rule of thumb when dealing
-with any [Gnu?] make based opensource project.
-
-We won't `fix' the `issues' associated with these particular set of build
-errors resulting from non-sane pathnames, because it would introduce unneeded
-complexity into the build system and would require non-trivial effort to fix
-and validate the third-party packages, and thus wouldn't be a sustainable
-model to follow.
-
-So, we apologize for the inconvenience, but using other characters like
-underscores and dashes should help when disambiguating words between build
-and source pathnames.
-
 In-build-tree
 -------------------
 In-build-tree support is when you build binaries (applications, binary objects)
@@ -236,11 +218,6 @@ PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig CFLAGS=-m32 LDFLAGS=-m32 ./c
 * Arch Linux
 PKG_CONFIG_LIBDIR=/usr/lib32/pkgconfig CFLAGS=-m32 LDFLAGS=-m32 ./configure
 
-uClinux Users
---------------
-Specify UCLINUX=1 when calling make; -DUCLINUX=1 use is deprecated and highly
-discouraged.
-
 Android Users
 -------------
 Specify ANDROID=1 when calling make. Many tests which would otherwise work are
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 4/4] doc: Remove links to README.mk-devel
  2020-05-15  9:32 [LTP] [PATCH v4 0/4] Update installation docs Petr Vorel
                   ` (2 preceding siblings ...)
  2020-05-15  9:32 ` [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections Petr Vorel
@ 2020-05-15  9:32 ` Petr Vorel
  2020-05-15 12:11 ` [LTP] [PATCH v4 0/4] Update installation docs Jan Stancek
  4 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2020-05-15  9:32 UTC (permalink / raw)
  To: ltp

It was removed in f7f66820c ("Update some docs."),
mention doc/build-system-guide.txt instead.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 INSTALL                 | 3 ++-
 include/mk/config.mk.in | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/INSTALL b/INSTALL
index 89ee81e8d..120f030b5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -241,7 +241,8 @@ LDFLAGS  - linker flags, e.g. "-L$SYSROOT/usr/lib" "-L$SYSROOT/lib". DO NOT
 LDLIBS   - libraries listed after objects during link, e.g. -lc, -lpthread,
 	   -lltp.
 
-See README.mk-devel for a more terse description of what's available.
+For other variables and more info about the build systems see
+doc/build-system-guide.txt.
 
 Common Issues
 ----------------------
diff --git a/include/mk/config.mk.in b/include/mk/config.mk.in
index 87b2c833d..427608a17 100644
--- a/include/mk/config.mk.in
+++ b/include/mk/config.mk.in
@@ -62,7 +62,7 @@ LDFLAGS			:= @LDFLAGS@
 
 DEBUG_CFLAGS		?= -g
 
-# Please see README.mk-devel about -fstrict-aliasing.
+# for -fstrict-aliasing see doc/build-system-guide.txt
 OPT_CFLAGS		?= -O2 -fno-strict-aliasing -pipe
 
 WCFLAGS			?= -Wall -W @GCC_WARN_OLDSTYLE@
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections
  2020-05-15  9:32 ` [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections Petr Vorel
@ 2020-05-15 11:31   ` Cyril Hrubis
  2020-05-15 12:26     ` Petr Vorel
  0 siblings, 1 reply; 8+ messages in thread
From: Cyril Hrubis @ 2020-05-15 11:31 UTC (permalink / raw)
  To: ltp

Hi!
> Note about reasonable PATH it's kind of obvious, we don't have to
> point that out.

Well that comment is there becuase of openSUSE build service that
creates a directories with colon in the middle for home directories and
LTP fails to build in such scenario, which wasn't that obvious, at least
if I remmeber correctly. And I do not think that other GNU software
fails to build in such scenario, I think it's really LTP fault because
we operate on absolute paths because of the out-of-tree build support.

Anyways the patchset looks fine, and changes to documentation are
considered low risk, so let's get this into the release.

-- 
Cyril Hrubis
chrubis@suse.cz

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 0/4] Update installation docs
  2020-05-15  9:32 [LTP] [PATCH v4 0/4] Update installation docs Petr Vorel
                   ` (3 preceding siblings ...)
  2020-05-15  9:32 ` [LTP] [PATCH v4 4/4] doc: Remove links to README.mk-devel Petr Vorel
@ 2020-05-15 12:11 ` Jan Stancek
  4 siblings, 0 replies; 8+ messages in thread
From: Jan Stancek @ 2020-05-15 12:11 UTC (permalink / raw)
  To: ltp



----- Original Message -----
> Hi,
> 
> changes v3->v4:
> * improve note about other library dependencies in 1st commit (Jan)
> * remove also "What's in a Path?" in 3rd commit
> 
> It'd need more cleanup, but enough now :).

ACK


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections
  2020-05-15 11:31   ` Cyril Hrubis
@ 2020-05-15 12:26     ` Petr Vorel
  0 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2020-05-15 12:26 UTC (permalink / raw)
  To: ltp

Hi Cyril,

> > Note about reasonable PATH it's kind of obvious, we don't have to
> > point that out.

> Well that comment is there becuase of openSUSE build service that
> creates a directories with colon in the middle for home directories and
> LTP fails to build in such scenario, which wasn't that obvious, at least
> if I remmeber correctly. And I do not think that other GNU software
> fails to build in such scenario, I think it's really LTP fault because
> we operate on absolute paths because of the out-of-tree build support.
Interesting, thanks for info.

> Anyways the patchset looks fine, and changes to documentation are
> considered low risk, so let's get this into the release.
Thanks, merged.

You can merge pty04 fix and we can release :).

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-05-15 12:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-15  9:32 [LTP] [PATCH v4 0/4] Update installation docs Petr Vorel
2020-05-15  9:32 ` [LTP] [PATCH v4 1/4] INSTALL: Update requirements, modernise text Petr Vorel
2020-05-15  9:32 ` [LTP] [PATCH v4 2/4] INSTALL: Document 32bit and cross-compilation setup Petr Vorel
2020-05-15  9:32 ` [LTP] [PATCH v4 3/4] INSTALL: Remove uClinux and "What's in a Path?" sections Petr Vorel
2020-05-15 11:31   ` Cyril Hrubis
2020-05-15 12:26     ` Petr Vorel
2020-05-15  9:32 ` [LTP] [PATCH v4 4/4] doc: Remove links to README.mk-devel Petr Vorel
2020-05-15 12:11 ` [LTP] [PATCH v4 0/4] Update installation docs Jan Stancek

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.