Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (2)
Rename C and CPP api packages to force a transition
· 52b5fe58
Gilles Filippini
authored
May 08, 2019
52b5fe58
Upload release 1.10.5+repack-1~exp6 to experimental
· cafd4395
Gilles Filippini
authored
May 08, 2019
cafd4395
Show whitespace changes
Inline
Side-by-side
debian/changelog
View file @
cafd4395
hdf5 (1.10.5+repack-1~exp6) experimental; urgency=medium
* Rename C and CPP api packages to force a transition: the sonames for
these apis are unchanged from the previous upstream release (1.10.4)
-- Gilles Filippini <pini@debian.org> Wed, 08 May 2019 15:49:59 +0200
hdf5 (1.10.5+repack-1~exp5) experimental; urgency=medium
* Fix debian rules to run dh_install for -java and -jni packages
...
...
debian/control
View file @
cafd4395
...
...
@@ -23,7 +23,7 @@ Vcs-Browser: https://salsa.debian.org/debian-gis-team/hdf5
Vcs-Git: https://salsa.debian.org/debian-gis-team/hdf5.git
Homepage: http://hdfgroup.org/HDF5/
Package: libhdf5-103
Package: libhdf5-103
-1
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -88,7 +88,7 @@ Description: HDF5 High Level Fortran runtime files - serial version
This package contains the high level Fortran API runtime files for serial
platforms.
Package: libhdf5-cpp-103
Package: libhdf5-cpp-103
-1
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -123,11 +123,11 @@ Description: HDF5 High Level C++ runtime files - serial version
Package: libhdf5-dev
Architecture: any
Section: libdevel
Depends: libhdf5-103 (= ${binary:Version}),
Depends: libhdf5-103
-1
(= ${binary:Version}),
libhdf5-fortran-102 (= ${binary:Version}),
libhdf5-hl-100 (= ${binary:Version}),
libhdf5-hl-fortran-100 (= ${binary:Version}),
libhdf5-cpp-103 (= ${binary:Version}),
libhdf5-cpp-103
-1
(= ${binary:Version}),
libhdf5-hl-cpp-100 (= ${binary:Version}),
zlib1g-dev,
libjpeg-dev,
...
...
@@ -146,7 +146,7 @@ Description: HDF5 - development files - serial version
.
This package contains development files for serial platforms.
Package: libhdf5-openmpi-103
Package: libhdf5-openmpi-103
-1
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -211,7 +211,7 @@ Description: HDF5 High Level Fortran runtime files - OpenMPI version
This package contains the high level Fortran API runtime files for openmpi
platforms.
Package: libhdf5-openmpi-cpp-103
Package: libhdf5-openmpi-cpp-103
-1
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -252,11 +252,11 @@ Description: HDF5 High Level C++ runtime files - OpenMPI version - unsupported
Package: libhdf5-openmpi-dev
Architecture: any
Section: libdevel
Depends: libhdf5-openmpi-103 (= ${binary:Version}),
Depends: libhdf5-openmpi-103
-1
(= ${binary:Version}),
libhdf5-openmpi-fortran-102 (= ${binary:Version}),
libhdf5-openmpi-hl-100 (= ${binary:Version}),
libhdf5-openmpi-hl-fortran-100 (= ${binary:Version}),
libhdf5-openmpi-cpp-103 (= ${binary:Version}),
libhdf5-openmpi-cpp-103
-1
(= ${binary:Version}),
libhdf5-openmpi-hl-cpp-100 (= ${binary:Version}),
zlib1g-dev,
libaec-dev,
...
...
@@ -272,7 +272,7 @@ Description: HDF5 - development files - OpenMPI version
.
This package contains development files for use with OpenMPI.
Package: libhdf5-mpich-103
Package: libhdf5-mpich-103
-1
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -337,7 +337,7 @@ Description: HDF5 High Level Fortran runtime files - MPICH2 version
This package contains the high level Fortran API runtime files for mpich
platforms.
Package: libhdf5-mpich-cpp-103
Package: libhdf5-mpich-cpp-103
-1
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -378,11 +378,11 @@ Description: HDF5 High Level C++ runtime files - MPICH2 version - unsupported
Package: libhdf5-mpich-dev
Architecture: any
Section: libdevel
Depends: libhdf5-mpich-103 (= ${binary:Version}),
Depends: libhdf5-mpich-103
-1
(= ${binary:Version}),
libhdf5-mpich-fortran-102 (= ${binary:Version}),
libhdf5-mpich-hl-100 (= ${binary:Version}),
libhdf5-mpich-hl-fortran-100 (= ${binary:Version}),
libhdf5-mpich-cpp-103 (= ${binary:Version}),
libhdf5-mpich-cpp-103
-1
(= ${binary:Version}),
libhdf5-mpich-hl-cpp-100 (= ${binary:Version}),
zlib1g-dev,
libaec-dev,
...
...
debian/control.in
View file @
cafd4395
...
...
@@ -23,7 +23,7 @@ Vcs-Browser: https://salsa.debian.org/debian-gis-team/hdf5
Vcs-Git: https://salsa.debian.org/debian-gis-team/hdf5.git
Homepage: http://hdfgroup.org/HDF5/
Package: libhdf5-@SONAME@
Package: libhdf5-@SONAME@
@EXT@
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -88,7 +88,7 @@ Description: HDF5 High Level Fortran runtime files - serial version
This package contains the high level Fortran API runtime files for serial
platforms.
Package: libhdf5-cpp-@SONAME_CXX@
Package: libhdf5-cpp-@SONAME_CXX@
@EXT@
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -123,11 +123,11 @@ Description: HDF5 High Level C++ runtime files - serial version
Package: libhdf5-dev
Architecture: any
Section: libdevel
Depends: libhdf5-@SONAME@ (= ${binary:Version}),
Depends: libhdf5-@SONAME@
@EXT@
(= ${binary:Version}),
libhdf5-fortran-@SONAME_F@ (= ${binary:Version}),
libhdf5-hl-@SONAME_HL@ (= ${binary:Version}),
libhdf5-hl-fortran-@SONAME_HL_F@ (= ${binary:Version}),
libhdf5-cpp-@SONAME_CXX@ (= ${binary:Version}),
libhdf5-cpp-@SONAME_CXX@
@EXT@
(= ${binary:Version}),
libhdf5-hl-cpp-@SONAME_HL_CXX@ (= ${binary:Version}),
zlib1g-dev,
libjpeg-dev,
...
...
@@ -146,7 +146,7 @@ Description: HDF5 - development files - serial version
.
This package contains development files for serial platforms.
Package: libhdf5-openmpi-@SONAME@
Package: libhdf5-openmpi-@SONAME@
@EXT@
Architecture: @OMPIARCHS@
Multi-Arch: same
Section: libs
...
...
@@ -211,7 +211,7 @@ Description: HDF5 High Level Fortran runtime files - OpenMPI version
This package contains the high level Fortran API runtime files for openmpi
platforms.
Package: libhdf5-openmpi-cpp-@SONAME_CXX@
Package: libhdf5-openmpi-cpp-@SONAME_CXX@
@EXT@
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -252,11 +252,11 @@ Description: HDF5 High Level C++ runtime files - OpenMPI version - unsupported
Package: libhdf5-openmpi-dev
Architecture: @OMPIARCHS@
Section: libdevel
Depends: libhdf5-openmpi-@SONAME@ (= ${binary:Version}),
Depends: libhdf5-openmpi-@SONAME@
@EXT@
(= ${binary:Version}),
libhdf5-openmpi-fortran-@SONAME_F@ (= ${binary:Version}),
libhdf5-openmpi-hl-@SONAME_HL@ (= ${binary:Version}),
libhdf5-openmpi-hl-fortran-@SONAME_HL_F@ (= ${binary:Version}),
libhdf5-openmpi-cpp-@SONAME_CXX@ (= ${binary:Version}),
libhdf5-openmpi-cpp-@SONAME_CXX@
@EXT@
(= ${binary:Version}),
libhdf5-openmpi-hl-cpp-@SONAME_HL_CXX@ (= ${binary:Version}),
zlib1g-dev,
libaec-dev,
...
...
@@ -272,7 +272,7 @@ Description: HDF5 - development files - OpenMPI version
.
This package contains development files for use with OpenMPI.
Package: libhdf5-mpich-@SONAME@
Package: libhdf5-mpich-@SONAME@
@EXT@
Architecture: @MPICHARCHS@
Multi-Arch: same
Section: libs
...
...
@@ -337,7 +337,7 @@ Description: HDF5 High Level Fortran runtime files - MPICH2 version
This package contains the high level Fortran API runtime files for mpich
platforms.
Package: libhdf5-mpich-cpp-@SONAME_CXX@
Package: libhdf5-mpich-cpp-@SONAME_CXX@
@EXT@
Architecture: any
Multi-Arch: same
Section: libs
...
...
@@ -378,11 +378,11 @@ Description: HDF5 High Level C++ runtime files - MPICH2 version - unsupported
Package: libhdf5-mpich-dev
Architecture: @MPICHARCHS@
Section: libdevel
Depends: libhdf5-mpich-@SONAME@ (= ${binary:Version}),
Depends: libhdf5-mpich-@SONAME@
@EXT@
(= ${binary:Version}),
libhdf5-mpich-fortran-@SONAME_F@ (= ${binary:Version}),
libhdf5-mpich-hl-@SONAME_HL@ (= ${binary:Version}),
libhdf5-mpich-hl-fortran-@SONAME_HL_F@ (= ${binary:Version}),
libhdf5-mpich-cpp-@SONAME_CXX@ (= ${binary:Version}),
libhdf5-mpich-cpp-@SONAME_CXX@
@EXT@
(= ${binary:Version}),
libhdf5-mpich-hl-cpp-@SONAME_HL_CXX@ (= ${binary:Version}),
zlib1g-dev,
libaec-dev,
...
...
debian/libhdf5-103.symbols
→
debian/libhdf5-103
-1
.symbols
View file @
cafd4395
libhdf5_serial.so.103 libhdf5-103
libhdf5_serial.so.103 libhdf5-103
-1
H5AC_BT2_HDR@HDF5_SERIAL_1.8.7 1.8.13
H5AC_BT2_INT@HDF5_SERIAL_1.8.7 1.8.13
H5AC_BT2_LEAF@HDF5_SERIAL_1.8.7 1.8.13
...
...
debian/libhdf5-cpp-103.symbols
→
debian/libhdf5-cpp-103
-1
.symbols
View file @
cafd4395
libhdf5_serial_cpp.so.103 libhdf5-cpp-103 #MINVER#
libhdf5_serial_cpp.so.103 libhdf5-cpp-103
-1
#MINVER#
(optional|c++)"H5::AbstractDs::AbstractDs()@HDF5_CPP_1.8.9" 1.10.5
(optional|c++)"H5::AbstractDs::getArrayType() const@HDF5_CPP_1.8.9" 1.10.5
(optional|c++)"H5::AbstractDs::getCompType() const@HDF5_CPP_1.8.9" 1.10.5
...
...
debian/libhdf5-mpich-103.symbols
→
debian/libhdf5-mpich-103
-1
.symbols
View file @
cafd4395
libhdf5_mpich.so.103 libhdf5-mpich-103 #MINVER#
libhdf5_mpich.so.103 libhdf5-mpich-103
-1
#MINVER#
H5AC_BT2_HDR@HDF5_MPI_1.8.7 1.8.13
H5AC_BT2_INT@HDF5_MPI_1.8.7 1.8.13
H5AC_BT2_LEAF@HDF5_MPI_1.8.7 1.8.13
...
...
debian/libhdf5-mpich-cpp-103.symbols
→
debian/libhdf5-mpich-cpp-103
-1
.symbols
View file @
cafd4395
libhdf5_mpich_cpp.so.103 libhdf5-mpich-cpp-103 #MINVER#
libhdf5_mpich_cpp.so.103 libhdf5-mpich-cpp-103
-1
#MINVER#
(optional|c++)"H5::AbstractDs::AbstractDs()@HDF5_CPP_MPI_1.8.9" 1.10.5
(optional|c++)"H5::AbstractDs::getArrayType() const@HDF5_CPP_MPI_1.8.9" 1.10.5
(optional|c++)"H5::AbstractDs::getCompType() const@HDF5_CPP_MPI_1.8.9" 1.10.5
...
...
debian/libhdf5-openmpi-103.symbols
→
debian/libhdf5-openmpi-103
-1
.symbols
View file @
cafd4395
libhdf5_openmpi.so.103 libhdf5-openmpi-103 #MINVER#
libhdf5_openmpi.so.103 libhdf5-openmpi-103
-1
#MINVER#
H5AC_BT2_HDR@HDF5_MPI_1.8.7 1.8.13
H5AC_BT2_INT@HDF5_MPI_1.8.7 1.8.13
H5AC_BT2_LEAF@HDF5_MPI_1.8.7 1.8.13
...
...
debian/libhdf5-openmpi-cpp-103.symbols
→
debian/libhdf5-openmpi-cpp-103
-1
.symbols
View file @
cafd4395
libhdf5_openmpi_cpp.so.103 libhdf5-openmpi-cpp-103 #MINVER#
libhdf5_openmpi_cpp.so.103 libhdf5-openmpi-cpp-103
-1
#MINVER#
(optional|c++)"H5::AbstractDs::AbstractDs()@HDF5_CPP_MPI_1.8.9" 1.10.5
(optional|c++)"H5::AbstractDs::getArrayType() const@HDF5_CPP_MPI_1.8.9" 1.10.5
(optional|c++)"H5::AbstractDs::getCompType() const@HDF5_CPP_MPI_1.8.9" 1.10.5
...
...
debian/make-version-scripts
View file @
cafd4395
...
...
@@ -8,9 +8,10 @@ debian_dir="$(dirname "$(readlink -f "$0")")"
cd
"
$debian_dir
"
# 2- Get sonames
soname
=
$(
cd
..
&&
./debian/rules SONAME
)
ext
=
$(
cd
..
&&
./debian/rules EXT
)
soname
=
$(
cd
..
&&
./debian/rules SONAME
)
$ext
soname_f
=
$(
cd
..
&&
./debian/rules SONAME_F
)
soname_cxx
=
$(
cd
..
&&
./debian/rules SONAME_CXX
)
soname_cxx
=
$(
cd
..
&&
./debian/rules SONAME_CXX
)
$ext
soname_hl
=
$(
cd
..
&&
./debian/rules SONAME_HL
)
soname_hl_f
=
$(
cd
..
&&
./debian/rules SONAME_HL_F
)
soname_hl_cxx
=
$(
cd
..
&&
./debian/rules SONAME_HL_CXX
)
...
...
debian/process-symbols-files
View file @
cafd4395
...
...
@@ -50,7 +50,12 @@ for flavor in serial openmpi mpich; do
for
api
in
C fortran hl hl-fortran cpp hl-cpp
;
do
pkgapi
=
$(
echo
$api
|
sed
-E
's/C//;s/^(.)/-\1/'
)
sonamevar
=
soname
$(
echo
$api
|
sed
-E
's/C//;s/fortran/f/;s/cpp/cxx/;s/-/_/g;s/^(.)/_\1/'
)
symbols_filenames
=
"
$symbols_filenames
libhdf5
${
pkgflavor
}${
pkgapi
}
-
${
!sonamevar
}
.symbols"
if
[
"
$api
"
=
C
-o
"
$api
"
=
cpp
]
;
then
ext
=
-1
else
ext
=
fi
symbols_filenames
=
"
$symbols_filenames
libhdf5
${
pkgflavor
}${
pkgapi
}
-
${
!sonamevar
}${
ext
}
.symbols"
done
done
...
...
debian/rules
View file @
cafd4395
...
...
@@ -13,6 +13,9 @@ pkgversion ?= $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
upstreamversion ?= $(shell echo $(pkgversion) | sed -r 's/^([0-9\.]*)([-~][^-~+]*)?(\+repack[0-9]*)?-[^-]*$$/\1\2/')
libversion ?= $(shell echo $(pkgversion) | sed -r 's/^([0-9\.]*)([-~][^-~+]*)?(\+repack[0-9]*)?-[^-]*$$/\1/')
# Pkg name extension to force transition
EXT := -1
# BEGIN - Get sonames from config/lt_vers.am
include config/lt_vers.am
INTERFACES := @ _CXX _F _HL _HL_CXX _HL_F
...
...
@@ -29,14 +32,16 @@ $(foreach interface,$(INTERFACES),$(eval \
SONAM%: interface = $(subst SONAME,,$@)
SONAM%:
@echo $(SONAME$(istr))
EXT:
@echo $(EXT)
# END - Get sonames from config/lt_vers.am
INTERFACE_TO_API = $(subst -f,-fortran,$(subst -cxx,-cpp,$(shell echo "$(1)" | tr '[:upper:]_' '[:lower:]-')))
serpack = $(package)-$(SONAME)
serpack = $(package)-$(SONAME)
$(EXT)
serpackdev = $(package)-dev
sercpppack = $(package)-cpp-$(SONAME_CXX)
openmpipack = $(package)-openmpi-$(SONAME)
mpichpack = $(package)-mpich-$(SONAME)
sercpppack = $(package)-cpp-$(SONAME_CXX)
$(EXT)
openmpipack = $(package)-openmpi-$(SONAME)
$(EXT)
mpichpack = $(package)-mpich-$(SONAME)
$(EXT)
# Crossbuild and multiarch variables
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
...
...
@@ -130,8 +135,8 @@ SERIAL_ENV += JAVACFLAGS="-source 1.8 -target 1.8"
# END - Configure flags and environment variables
PACKAGES_serial := $(serpack) $(package)-fortran-$(SONAME_F) $(package)-hl-$(SONAME_HL) $(package)-hl-fortran-$(SONAME_HL_F) $(package)-dev hdf5-helpers hdf5-tools $(sercpppack) $(package)-hl-cpp-$(SONAME_HL_CXX) $(PACKAGES_java)
PACKAGES_openmpi := $(openmpipack) $(package)-openmpi-fortran-$(SONAME_F) $(package)-openmpi-hl-$(SONAME_HL) $(package)-openmpi-hl-fortran-$(SONAME_HL_F) $(package)-openmpi-cpp-$(SONAME_CXX) $(package)-openmpi-hl-cpp-$(SONAME_HL_CXX) $(package)-openmpi-dev
PACKAGES_mpich := $(mpichpack) $(package)-mpich-fortran-$(SONAME_F) $(package)-mpich-hl-$(SONAME_HL) $(package)-mpich-hl-fortran-$(SONAME_HL_F) $(package)-mpich-cpp-$(SONAME_CXX) $(package)-mpich-hl-cpp-$(SONAME_HL_CXX) $(package)-mpich-dev
PACKAGES_openmpi := $(openmpipack) $(package)-openmpi-fortran-$(SONAME_F) $(package)-openmpi-hl-$(SONAME_HL) $(package)-openmpi-hl-fortran-$(SONAME_HL_F) $(package)-openmpi-cpp-$(SONAME_CXX)
$(EXT)
$(package)-openmpi-hl-cpp-$(SONAME_HL_CXX) $(package)-openmpi-dev
PACKAGES_mpich := $(mpichpack) $(package)-mpich-fortran-$(SONAME_F) $(package)-mpich-hl-$(SONAME_HL) $(package)-mpich-hl-fortran-$(SONAME_HL_F) $(package)-mpich-cpp-$(SONAME_CXX)
$(EXT)
$(package)-mpich-hl-cpp-$(SONAME_HL_CXX) $(package)-mpich-dev
# Compose the packages' name flavor part from $(flavor)
flavorpkg = $(subst -serial,,-$(flavor))
...
...
@@ -147,8 +152,8 @@ DEBIAN_OUT := $(shell \
gsub("soname_hl_f","$(SONAME_HL_F)",$$0); \
gsub("soname_hl_cxx","$(SONAME_HL_CXX)",$$0); \
gsub("soname_hl","$(SONAME_HL)",$$0); \
gsub("soname_cxx","$(SONAME_CXX)",$$0); \
gsub("soname","$(SONAME)",$$0); \
gsub("soname_cxx","$(SONAME_CXX)
$(EXT)
",$$0); \
gsub("soname","$(SONAME)
$(EXT)
",$$0); \
} \
/-flavor/{helpers=$$0; for (f in flavor) {helper=$$0; gsub("-flavor",flavor[f],helper); helpers=helpers" "helper}; $$0=helpers} \
!/control/ {print $$0} \
...
...
@@ -163,6 +168,7 @@ DEBIAN_OUT := $(shell \
# Print sonames
sonames:
@$(foreach interface,$(INTERFACES),echo "SONAME$(istr)=$(SONAME$(istr))" &&) true
@echo "EXT=$(EXT)"
# Informative target
info: VARIABLES := package pkgversion upstreamversion libversion $(foreach interface,$(INTERFACES),SONAME$(istr))
...
...
@@ -185,13 +191,14 @@ debian/%: debian/%.in
-e "s/@OMPIARCHS@/$(filter-out !%,$(OMPIARCHS))/" \
-e "s/@MPICHARCHS@/$(filter-out !%,$(MPICHARCHS))/" \
-e "s/@NODOCARCHS@/$(NODOCARCHS)/g" \
-e "s/@EXT@/$(EXT)/g" \
$< >$@
define helper_soname_rule
debian/libhdf5-flavor$(1)-$($(2))%: debian/libhdf5-flavor$(1)-$(shell echo $(2) | tr '[:upper:]' '[:lower:]')%
debian/libhdf5-flavor$(1)-$($(2))
$(3)
%: debian/libhdf5-flavor$(1)-$(shell echo $(2) | tr '[:upper:]' '[:lower:]')%
ln -s $$$$(basename $$<) $$@
endef
$(foreach interface,$(INTERFACES),$(eval $(call helper_soname_rule,$(call INTERFACE_TO_API,$(istr)),SONAME$(istr))))
$(foreach interface,$(INTERFACES),$(eval $(call helper_soname_rule,$(call INTERFACE_TO_API,$(istr)),SONAME$(istr)
,$(if $(filter $(interface),@ _CXX),$(EXT),)
)))
define helper_flavor_rule
debian/libhdf5$(2)-%: flavor = $(1)
...
...
debian/update-symbols-files-soname
View file @
cafd4395
...
...
@@ -12,14 +12,17 @@ for flavor in serial openmpi mpich; do
fi
for
interface
in
""
_F _CXX _HL _HL_F _HL_CXX
;
do
api
=
$(
echo
$interface
|
tr
'A-Z_'
'a-z-'
|
sed
's/-f/-fortran/;s/-cxx/-cpp/'
)
_api
=
$(
echo
--
"
$api
"
|
sed
's/-/_/g;s/^_hl_fortran/hl_fortran/'
)
_api
=
$(
echo
"
@
$api
"
|
sed
's/
^@//;s/
-/_/g;s/^_hl_fortran/hl_fortran/'
)
soname
=
$(
eval echo
'$'
SONAME
$interface
)
symbols_file
=
debian/libhdf5
${
flavor_string
}${
api
}
-
$soname
.symbols
old_symbols_file
=
debian/libhdf5
${
flavor_string
}${
api
}
-[0-9]
*
.symbols
sonamepkg
=
"
$soname
"
if
[
"
$interface
"
=
""
-o
"
$interface
"
=
"_CXX"
]
;
then
sonamepkg
=
"
$sonamepkg$EXT
"
fi
symbols_file
=
debian/libhdf5
${
flavor_string
}${
api
}
-
$sonamepkg
.symbols
old_symbols_file
=
debian/libhdf5
${
flavor_string
}${
api
}
-[0-9
\-
]
*
.symbols
[
-f
"
$symbols_file
"
]
||
mv
$old_symbols_file
"
$symbols_file
"
sed
-ri
\
-e
"/^libhdf5_
${
flavor
}${
_api
}
.so/{s/
\.
[0-9]+/.
$soname
/;s/-[0-9]+/-
$soname
/}"
\
-e
"/^libhdf5_
${
flavor
}${
_api
}
.so/{s/
\.
[0-9]+/.
$soname
/;s/-[0-9]+
(-[0-9]+)?( |
$)
/-
$soname
pkg
\2
/}"
\
$symbols_file
done
done