[MERGED] osmo-ci[master]: Use stow for dependency management

2018-01-12 Thread Alexander Huemer
Alexander Huemer has submitted this change and it was merged.

Change subject: Use stow for dependency management
..


Use stow for dependency management

This commit introduces the usage of GNU stow[1] for dependency
management.
Stow uses symlinks to make dependencies available in a single directory
althoguh they were installed in distinct directories.
Keeping installation directories seperate has the advantage of letting the
build fail if AM_CFLAGS and LDADD do not contain all dependencies which are
actually used.
Installing multiple dependencies into a single directory causes x_CFLAGS
and x_LIBS variables to magically point where other dependencies are
found as well, therefore missing entries can be overlooked.

Stow acts as a convenience layer here, making it unnecessary to supply a
list of locations in LD_LIBRARY_PATH, PKG_CONFIG_PATH and so forth for
building when dependencies are installed in distinct directories
manually.
Stow has to be present on the jenkins build nodes for successful executing of
osmo-build-dep.sh.

[1] https://www.gnu.org/software/stow/

Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
---
M scripts/osmo-build-dep.sh
1 file changed, 9 insertions(+), 1 deletion(-)

Approvals:
  Alexander Huemer: Verified
  Neels Hofmeyr: Looks good to me, approved
  Harald Welte: Looks good to me, approved



diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh
index 6e9ef86..35cb373 100755
--- a/scripts/osmo-build-dep.sh
+++ b/scripts/osmo-build-dep.sh
@@ -43,6 +43,14 @@
 osmo-deps.sh "$project" "$branch"
 cd "$project"
 
+# Keep the installation targets of the dependencies in a seperate directory
+# hierarchy before stowing them to avoid wrongly suggesting that they are part
+# of the -I and -L search paths
+mkdir -p "$inst/stow"
+
 autoreconf --install --force
-./configure --prefix="$inst" $cfg
+./configure --prefix="$inst/stow/$project" $cfg
 $MAKE $PARALLEL_MAKE install
+
+# Make the dependencies available through symlinks in $deps ($PWD/..).
+STOW_DIR="$inst/stow" stow --restow $project

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 5
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 


osmo-ci[master]: Use stow for dependency management

2018-01-12 Thread Alexander Huemer

Patch Set 4: Verified+1

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 4
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2018-01-12 Thread Neels Hofmeyr

Patch Set 4:

> yes, we need a +V vote that someone verifies that the patch works
 > when applied to current master. In the lack of an automatic test on
 > jenkins, someone should run this manually and add V+1

bump: Alexander, I assumed you could verify and add your V+1 vote?

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 4
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-12-06 Thread Neels Hofmeyr

Patch Set 3:

yes, we need a +V vote that someone verifies that the patch works when applied 
to current master. In the lack of an automatic test on jenkins, someone should 
run this manually and add V+1

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-12-02 Thread Alexander Huemer

Patch Set 3:

> stow is now installed on all build slaves, wiki also lists stow
 > now.

Is there anything I can do to move forward with change?

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-11-10 Thread Neels Hofmeyr

Patch Set 3:

stow is now installed on all build slaves, wiki also lists stow now.

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-11-10 Thread Neels Hofmeyr

Patch Set 3: Code-Review+2

We need someone to add a +V vote, I'd be fine with doing the installation of 
stow and editing the osmocom servers wiki

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-09-06 Thread Neels Hofmeyr

Patch Set 3:

what holds me back now is that we need to install stow on the build slaves, 
right? If I merge this, all our builds will fall on their faces otherwise.

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-08-09 Thread Harald Welte

Patch Set 3: Code-Review+2

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-07-27 Thread Neels Hofmeyr

Patch Set 3:

hmm, can we get someone else to approve as well?

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-07-05 Thread Alexander Huemer

Patch Set 3:

> (1 comment)

Abstract the fact away whether the dependency was provided by compilation from 
source or by extraction of an artifact tar-ball.
One artifact tar-ball should contain the result of a make install run of a 
single library to an empty directory.
>From a dependency consummation perspective the rest does not change.
You extract the content of an artifact tar file (or make install) to a distinct 
directory and do that for all artifacts.
Those directories are then stowed to a final destination directory which is 
then the sole directory where the package to be built searches for its 
dependencies.

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-06-28 Thread André Boddenberg

Patch Set 3:

(1 comment)

https://gerrit.osmocom.org/#/c/2691/3/scripts/osmo-build-dep.sh
File scripts/osmo-build-dep.sh:

PS3, Line 60: # Make the dependencies available through symlinks in $deps 
($PWD/..).
: STOW_DIR="$inst/stow" stow --restow $project
Currently we are working on a script[1] to reuse dependency artifacts to speed 
up builds. 

How could we make the dependencies available through symlinks, in case we just 
fetched the dependencies as tar and simple untar them (tar basically holds the 
deps folder).

Right now that's possible by simply setting LD_LIBRARY_PATH and 
PKG_CONFIG_PATH, but I didn't figure out how to "restow" such dependencies 
deployed by untaring "artifacts.tar.gz"

[1] https://gerrit.osmocom.org/#/c/2465/


-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: André Boddenberg 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: Yes


osmo-ci[master]: Use stow for dependency management

2017-06-25 Thread Holger Freyther

Patch Set 3:

Clean/good AM_CFLAGS is a nice goal.

@blobb: Does this interfere with how we will save artifacts with your scripts?

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: blobb 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-06-22 Thread Neels Hofmeyr

Patch Set 3: Code-Review+1

(1 comment)

I'd accept this, can someone else also approve please?

https://gerrit.osmocom.org/#/c/2691/3/scripts/osmo-build-dep.sh
File scripts/osmo-build-dep.sh:

Line 54: mkdir -p "$inst/stow"
> Yes, it does.
ah ok, that explains it.


-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: neels 
Gerrit-HasComments: Yes


osmo-ci[master]: Use stow for dependency management

2017-06-15 Thread Alexander Huemer

Patch Set 3:

(1 comment)

> (1 comment)
 > 
 > When I read this, I still have a question. So we install to
 > separate dirs, then stow creates symlinks to combine the installed
 > files in one dir again? But then we need to pass only one
 > LD_LIBRARY_PATH and one PKG_CONFIG_PATH with the symlinks? So how
 > then does it make us find errors like forgotten dep dirs? Or
 > otherwise, why the symlinks?

The reason is that the .pc files point to the original install locations, not 
to the one where stow aggregates the installations. That makes the difference 
during the build.
Just give it a try with the openbsc repository.
Revert commit 5265bea76c90427d70257b7fac0f0b7d40a015cb and run 
contrib/jenkins.sh without this changeset applied to osmo-ci.

https://gerrit.osmocom.org/#/c/2691/3/scripts/osmo-build-dep.sh
File scripts/osmo-build-dep.sh:

Line 54: mkdir -p "$inst/stow"
> I still don't understand why a separate 'stow' subdir is needed. $inst is a
Yes, it does.
>From the manpage:
> the target directory is assumed to be the parent of the current directory


-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: neels 
Gerrit-HasComments: Yes


osmo-ci[master]: Use stow for dependency management

2017-06-14 Thread Neels Hofmeyr

Patch Set 3:

(1 comment)

When I read this, I still have a question. So we install to separate dirs, then 
stow creates symlinks to combine the installed files in one dir again? But then 
we need to pass only one LD_LIBRARY_PATH and one PKG_CONFIG_PATH with the 
symlinks? So how then does it make us find errors like forgotten dep dirs? Or 
otherwise, why the symlinks?

https://gerrit.osmocom.org/#/c/2691/3/scripts/osmo-build-dep.sh
File scripts/osmo-build-dep.sh:

Line 54: mkdir -p "$inst/stow"
I still don't understand why a separate 'stow' subdir is needed. $inst is an 
empty directory intended for storing installation files. Does stow put things 
in "$STOW_DIR/.." or why the extra path element?


-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: neels 
Gerrit-HasComments: Yes


osmo-ci[master]: Use stow for dependency management

2017-06-13 Thread Alexander Huemer

Patch Set 2:

(4 comments)

https://gerrit.osmocom.org/#/c/2691/2//COMMIT_MSG
Commit Message:

Line 12: has the advantage of letting the build fail if not all location 
listings
> I find this really hard to read. "Installing dependent libraries in..."? Ra
Done


Line 18: building when dependencies are installed in distinct directories
> what so forth? AFAIK those two are all that is needed? Does it also manage 
Correct, those two are all that is needed. Commit message corrected.
AM_CFLAGS is handled via pkg-config.


https://gerrit.osmocom.org/#/c/2691/2/scripts/osmo-build-dep.sh
File scripts/osmo-build-dep.sh:

Line 51: mkdir -p "$inst/stow"
> $inst is already an empty folder intended as prefix target. Do you really n
I added a comment in the script as justification.


Line 56: STOW_DIR="$inst/stow" stow --restow $project
> I'm curious what this does. Could it get a single line comment?
Done


-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: neels 
Gerrit-HasComments: Yes


[PATCH] osmo-ci[master]: Use stow for dependency management

2017-06-13 Thread Alexander Huemer
Hello Neels Hofmeyr, Harald Welte,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/2691

to look at the new patch set (#3).

Use stow for dependency management

This commit introduces the usage of GNU stow[1] for dependency
management.
Stow uses symlinks to make dependencies available in a single directory
althoguh they were installed in distinct directories.
Keeping installation directories seperate has the advantage of letting the
build fail if AM_CFLAGS and LDADD do not contain all dependencies which are
actually used.
Installing multiple dependencies into a single directory causes x_CFLAGS
and x_LIBS variables to magically point where other dependencies are
found as well, therefore missing entries can be overlooked.

Stow acts as a convenience layer here, making it unnecessary to supply a
list of locations in LD_LIBRARY_PATH, PKG_CONFIG_PATH and so forth for
building when dependencies are installed in distinct directories
manually.
Stow has to be present on the jenkins build nodes for successful executing of
osmo-build-dep.sh.

[1] https://www.gnu.org/software/stow/

Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
---
M scripts/osmo-build-dep.sh
1 file changed, 9 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/91/2691/3

diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh
index 2a107ed..9c55498 100755
--- a/scripts/osmo-build-dep.sh
+++ b/scripts/osmo-build-dep.sh
@@ -48,6 +48,14 @@
 fi
 git rev-parse HEAD # log current HEAD
 
+# Keep the installation targets of the dependencies in a seperate directory
+# hierarchy before stowing them to avoid wrongly suggesting that they are part
+# of the -I and -L search paths
+mkdir -p "$inst/stow"
+
 autoreconf --install --force
-./configure --prefix="$inst" $cfg
+./configure --prefix="$inst/stow/$project" $cfg
 $MAKE $PARALLEL_MAKE install
+
+# Make the dependencies available through symlinks in $deps ($PWD/..).
+STOW_DIR="$inst/stow" stow --restow $project

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 3
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: neels 


osmo-ci[master]: Use stow for dependency management

2017-06-12 Thread Neels Hofmeyr

Patch Set 2: Code-Review-1

(4 comments)

adding stow seems to be really simple. I'm generally in favor, because this 
finds errors in our installation targets. Let's resolve the questions though 
(marking -1 for that).

Generally it could be helpful to put explanations as a comment in the build 
script instead of / in addition to the commit log, so future readers of the 
code can benefit.

https://gerrit.osmocom.org/#/c/2691/2//COMMIT_MSG
Commit Message:

Line 12: has the advantage of letting the build fail if not all location 
listings
I find this really hard to read. "Installing dependent libraries in..."? Rather 
write more and shorter sentences?


Line 18: building when dependencies are installed in distinct directories
what so forth? AFAIK those two are all that is needed? Does it also manage 
CFLAGS=$include_dir somehow?


https://gerrit.osmocom.org/#/c/2691/2/scripts/osmo-build-dep.sh
File scripts/osmo-build-dep.sh:

Line 51: mkdir -p "$inst/stow"
$inst is already an empty folder intended as prefix target. Do you really need 
another subfolder?


Line 56: STOW_DIR="$inst/stow" stow --restow $project
I'm curious what this does. Could it get a single line comment?


-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: neels 
Gerrit-HasComments: Yes


osmo-ci[master]: Use stow for dependency management

2017-05-29 Thread Harald Welte

Patch Set 2:

I think it's up to the developers maintaininig our jenkins setup to decide here

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: neels 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-05-29 Thread Harald Welte

Patch Set 2:

I independently found the mailing list thread now (I had flagged it as 
something to read later but only got around doing that now), sorry for missing 
it.  In any case, it's good to have a verbose change log and the link in the 
message. Thanks

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-HasComments: No


osmo-ci[master]: Use stow for dependency management

2017-05-28 Thread Alexander Huemer

Patch Set 2:

> What I'm missing here is some more background.  Call me old, but I
 > didn't even know what stow was prior to doing a search after seeing
 > this commit. Unless I'm the only one on the planet not knowing
 > stow, it deserves some description in the commitlog, with a pointer
 > to more information.  Most importantly, it should explain what the
 > benefit is, and also  what kind of implications it has (e.g. people
 > have to unconditionally install it, ...?)

The commit message was indeed quite sparse, I amended it.
Please also see [1] and the following short thread for additional reasoning 
behind the change.

[1] http://lists.osmocom.org/pipermail/openbsc/2017-May/010690.html

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-HasComments: No


[PATCH] osmo-ci[master]: Use stow for dependency management

2017-05-28 Thread Alexander Huemer
Hello Harald Welte,

I'd like you to reexamine a change.  Please visit

https://gerrit.osmocom.org/2691

to look at the new patch set (#2).

Use stow for dependency management

This commit introduces the usage of GNU stow[1] for dependency
management.
Having libraries a build depends on installed in distinct directories
has the advantage of letting the build fail if not all location listings
in AM_CFLAGS and LDADD listings contain all correcponding entries to
used dependencies since then those dependencies (header files and
libraries) won't be found by coincidence.
Stow acts as a convenience layer here, making it unnecessary to supply a
list of locations in LD_LIBRARY_PATH, PKG_CONFIG_PATH and so forth for
building when dependencies are installed in distinct directories
manually.
Stow has to be present on the jenkins build nodes for successful executing of
osmo-build-dep.sh.

[1] https://www.gnu.org/software/stow/

Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
---
M scripts/osmo-build-dep.sh
1 file changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/91/2691/2

diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh
index 2a107ed..cdfbc45 100755
--- a/scripts/osmo-build-dep.sh
+++ b/scripts/osmo-build-dep.sh
@@ -48,6 +48,9 @@
 fi
 git rev-parse HEAD # log current HEAD
 
+mkdir -p "$inst/stow"
+
 autoreconf --install --force
-./configure --prefix="$inst" $cfg
+./configure --prefix="$inst/stow/$project" $cfg
 $MAKE $PARALLEL_MAKE install
+STOW_DIR="$inst/stow" stow --restow $project

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 2
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 


osmo-ci[master]: Use stow for dependency management

2017-05-28 Thread Harald Welte

Patch Set 1: Code-Review-1

What I'm missing here is some more background.  Call me old, but I didn't even 
know what stow was prior to doing a search after seeing this commit. Unless I'm 
the only one on the planet not knowing stow, it deserves some description in 
the commitlog, with a pointer to more information.  Most importantly, it should 
explain what the benefit is, and also  what kind of implications it has (e.g. 
people have to unconditionally install it, ...?)

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer 
Gerrit-Reviewer: Harald Welte 
Gerrit-HasComments: No


[PATCH] osmo-ci[master]: Use stow for dependency management

2017-05-20 Thread Alexander Huemer

Review at  https://gerrit.osmocom.org/2691

Use stow for dependency management

Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
---
M scripts/osmo-build-dep.sh
1 file changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/91/2691/1

diff --git a/scripts/osmo-build-dep.sh b/scripts/osmo-build-dep.sh
index 2a107ed..cdfbc45 100755
--- a/scripts/osmo-build-dep.sh
+++ b/scripts/osmo-build-dep.sh
@@ -48,6 +48,9 @@
 fi
 git rev-parse HEAD # log current HEAD
 
+mkdir -p "$inst/stow"
+
 autoreconf --install --force
-./configure --prefix="$inst" $cfg
+./configure --prefix="$inst/stow/$project" $cfg
 $MAKE $PARALLEL_MAKE install
+STOW_DIR="$inst/stow" stow --restow $project

-- 
To view, visit https://gerrit.osmocom.org/2691
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f5012419495a656912b7b71e4f76ce102c6b63a
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Owner: Alexander Huemer