Skip to content

Commit

Permalink
Merge branch 'dev' into feature/mdbf-930
Browse files Browse the repository at this point in the history
  • Loading branch information
cvicentiu authored Feb 2, 2025
2 parents bf59b10 + d87d796 commit 8d8b28d
Show file tree
Hide file tree
Showing 8 changed files with 323 additions and 226 deletions.
2 changes: 1 addition & 1 deletion ci_build_images/bintar.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ RUN ./libzstd.sh
RUN ./gnutls.sh

FROM buildeps AS bintar
COPY --from=staticlibs /scripts/local/lib /scripts/local/lib
COPY --from=staticlibs /scripts/local /scripts/local
COPY --from=staticlibs /root/gnutlsa.tar.bz2 /scripts/

WORKDIR /scripts
Expand Down
77 changes: 74 additions & 3 deletions ci_build_images/scripts/ncurses.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,80 @@
#!/bin/bash
# shellcheck disable=SC2086
# shellcheck disable=SC2098
# shellcheck disable=SC2097
# shellcheck disable=SC2046

set -e

### TODO Healthy approach. Doesn't work.

#------------------------------------------------------------------------------
# This is basically following the SPEC file steps through Install
# One cannot disable --with-shared because the SPEC file assumes shared is enabled
# and it will fail if not.
# Although we rsync the static libraries / headers from BUILDROOT
# and ${CURSES_INCLUDE_PATH} is OK i.e. CURSES_INCLUDE_PATH:/scripts/local/include
# I still cannot find several functions in libncurses.a

#-- Found Curses: /scripts/local/lib/libcurses.a
#-- Looking for tputs in /scripts/local/lib/libcurses.a
#-- Looking for tputs in /scripts/local/lib/libcurses.a - not found
#-- Looking for tputs in tinfo
#-- Looking for tputs in tinfo - found
#-- Looking for setupterm in tinfo
#-- Looking for setupterm in tinfo - found
#-- Looking for vidattr in tinfo
#-- Looking for vidattr in tinfo - not found
#-- Looking for include files curses.h, term.h
#-- Looking for include files curses.h, term.h - found

# So I suppose there's something in the spec file that I'm not aware of
# This is what I've tried

#yumdownloader --source ncurses-devel
#yum-builddep -y ncurses-*.src.rpm
#rpm -ivh ncurses-*.src.rpm
## Make functions available in libncurses.a
#sed -i '/--with-terminfo-dirs/d' $HOME/rpmbuild/SPECS/ncurses.spec
#sed -i '/--with-termlib=tinfo/d' $HOME/rpmbuild/SPECS/ncurses.spec
#sed -i '/--disable-wattr-macros/d' $HOME/rpmbuild/SPECS/ncurses.spec
## Build the package
#rpmbuild -bi $HOME/rpmbuild/SPECS/ncurses.spec
## Remove unwanted files
#rm -rf $HOME/rpmbuild/BUILDROOT/ncurses-*/usr/lib
#rm -rf $HOME/rpmbuild/BUILDROOT/ncurses-*/usr/src
#rm -rf $HOME/rpmbuild/BUILDROOT/ncurses-*/usr/usr
## lib64 dir is the one we want but without .so files
#mv $HOME/rpmbuild/BUILDROOT/ncurses-*/usr/lib64 $HOME/rpmbuild/BUILDROOT/ncurses-*/usr/lib
#rsync -av --exclude='*.so.*' $HOME/rpmbuild/BUILDROOT/ncurses-*/usr/* /scripts/local
## Further cleanup
#rm -rf $HOME/rpmbuild
#rm -f /scripts/ncurses-*.src.rpm

#------------------------------------------------------------------------------


# Second approach. Current.
# In this approach we only prepare the source dir with applied patches
# by using rpmbuild -bp

# Then we manually configure it, with /scripts/local/ as the target,
# This way we bypass the rest of the steps in the SPEC file
# This is why we need to manually symlink the include/ncurses headers to ../
# The above operation was managed by packaging, so that CMAKE
# can find the headers in ${CURSES_INCLUDE_PATH} i.e. /scripts/local/include

yumdownloader --source ncurses-devel
yum-builddep -y ncurses-*.src.rpm
rpmbuild --recompile ncurses-*.src.rpm
mv -v ~/rpmbuild/BUILDROOT/ncurses-*/usr/lib64/*.a local/lib
rm -rf ~/rpmbuild ncurses-*.src.rpm
rpm -ivh ncurses-*.src.rpm
rpmbuild -bp $HOME/rpmbuild/SPECS/ncurses.spec
cd $HOME/rpmbuild/BUILD/ncurses-*/

CFLAGS="-fpic -fPIC" CXXFLAGS=${CFLAGS} ./configure --without-manpages --without-tests --without-progs --prefix=/scripts/local/
make -j"$(nproc)" install
mv /scripts/local/include/ncurses/* /scripts/local/include/
# Snippet from spec file %INSTALL
for l in /scripts/local/include/*.h; do
ln -s ../$(basename $l) /scripts/local/include/ncurses
done
cd /scripts/local/lib && ln -s libncurses.a libcurses.a
26 changes: 13 additions & 13 deletions docker-compose/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: master-nonlatent
hostname: dev_master-nonlatent
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -162,7 +162,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: master-libvirt
hostname: dev_master-libvirt
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -201,7 +201,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: autogen_aarch64-master-0
hostname: dev_autogen_aarch64-master-0
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -240,7 +240,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: autogen_amd64-master-0
hostname: dev_autogen_amd64-master-0
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -279,7 +279,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: autogen_amd64-master-1
hostname: dev_autogen_amd64-master-1
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -318,7 +318,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: autogen_ppc64le-master-0
hostname: dev_autogen_ppc64le-master-0
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -357,7 +357,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: autogen_s390x-master-0
hostname: dev_autogen_s390x-master-0
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -396,7 +396,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: autogen_x86-master-0
hostname: dev_autogen_x86-master-0
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -435,7 +435,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: master-docker-nonstandard
hostname: dev_master-docker-nonstandard
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -475,7 +475,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: master-galera
hostname: dev_master-galera
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -514,7 +514,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: master-protected-branches
hostname: dev_master-protected-branches
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand Down Expand Up @@ -553,7 +553,7 @@ services:
- TITLE
- TITLE_URL
stop_grace_period: 5m
hostname: master-docker-nonstandard-2
hostname: dev_master-docker-nonstandard-2
volumes:
- ./logs:/var/log/buildbot
- ./buildbot/:/srv/buildbot/master
Expand All @@ -567,4 +567,4 @@ services:
mariadb:
condition: service_healthy
crossbar:
condition: service_started
condition: service_started
8 changes: 6 additions & 2 deletions docker-compose/generate-config.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
restart: unless-stopped
container_name: {master_name}
stop_grace_period: {buildbot_stop_grace_period}
hostname: {master_name}
hostname: {master_hostname}
{volumes}
entrypoint:
- /bin/bash
Expand Down Expand Up @@ -212,10 +212,14 @@ def main(args):
port = starting_port
for master_directory in MASTER_DIRECTORIES:
master_name = master_directory.replace("/", "_")

if args.env == "dev":
master_hostname = "dev_" + master_name
else:
master_hostname = master_name
# Generate Docker Compose piece
docker_compose_piece = docker_compose_template.format(
master_name=master_name,
master_hostname=master_hostname,
master_directory=master_directory,
port=port,
mc_host=mc_host,
Expand Down
2 changes: 1 addition & 1 deletion master-docker-nonstandard/master.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1678,7 +1678,7 @@ c["builders"].append(
nextBuild=nextBuild,
canStartBuild=canStartBuild,
locks=getLocks,
properties={"additional_args": '-DEXTRA_FILES="${WSREP_PROVIDER}=lib;${WSREP_PROVIDER}=lib/galera;"'},
properties={"additional_args": '-DEXTRA_FILES="${WSREP_PROVIDER}=lib;"'},
factory=f_bintar,
)
)
Expand Down
Loading

0 comments on commit 8d8b28d

Please sign in to comment.