catalinux / Conn (public) (License: LGPLv2) (since 2016-03-01) (hash sha1)
Net library for easy building ipv4/ipv6 network daemons/clients
List of commits:
Subject Hash Author Date (UTC)
Prepared to use duilder (my custom builder). 058d181795e64c0d1a82d587e7b1d858b7af87b2 Catalin(ux) M. BOIE 2008-03-21 13:37:19
Populated .gitignore file. e549ac0271ac654f039d5a04a0708d25030b0ed6 Catalin(ux) M. BOIE 2008-03-21 13:12:49
Replaced umbrella with embedromix. 6b6671cce7f0a2c98ac27705ad638c4e1bc52213 Catalin(ux) M. BOIE 2007-10-03 21:56:40
Incremented revision. e79bace79bb15f59133841a144ef1ff04e516cd5 Catalin(ux) M. BOIE 2007-10-03 21:55:25
Changed changelog. 00c9dba4e97d924299fd992ff8f4e20fce5c770e Catalin(ux) M. BOIE 2007-10-03 20:43:21
First import. 5ad0e7b8aa527aaebab52c53b45c36257fce5d0a Catalin(ux) M. BOIE 2007-10-03 20:20:26
Commit 058d181795e64c0d1a82d587e7b1d858b7af87b2 - Prepared to use duilder (my custom builder).
Author: Catalin(ux) M. BOIE
Author date (UTC): 2008-03-21 13:37
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2008-03-21 13:37
Parent(s): e549ac0271ac654f039d5a04a0708d25030b0ed6
Signer:
Signing key:
Signing status: N
Tree: e98f043bc9bbb706c7a56948fee47840b3dfdd9b
File Lines added Lines deleted
Changelog.pre109 0 0
Conn.spec.in 4 4
Makefile.head 0 26
Makefile.in 4 4
Makefile.tail 0 16
PROJECT 0 1
PROJECT_EXCLUDE 0 0
PROJECT_REV 0 1
PROJECT_TARGETS 0 1
PROJECT_VER 0 1
configure 2 117
duilder 342 0
duilder.conf 12 0
File Changelog.pre109 renamed from Changelog (similarity 100%)
File Conn.spec.in changed (mode: 100644) (index 1394784..3b4f683)
... ... License: LGPL
6 6 Group: Applications/Network Group: Applications/Network
7 7 Source: http://kernel.umbrella.ro/us/Conn/%{name}-%{version}.tar.gz Source: http://kernel.umbrella.ro/us/Conn/%{name}-%{version}.tar.gz
8 8 URL: http://kernel.umbrella.ro/us/ URL: http://kernel.umbrella.ro/us/
9 Packager: Catalin(uk aka Dino) BOIE <catab@umbrella.ro>
9 Packager: Catalin(ux aka Dino) BOIE <catab@umbrella.ro>
10 10 BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
11 11
12 12
 
... ... rm -rf ${RPM_BUILD_ROOT}
34 34
35 35 %files %files
36 36 %attr (-,root,root) %attr (-,root,root)
37 %dir /usr/include/*
38 %dir /usr/lib/*
39 %doc README Changelog examples
37 %dir @USR_INCLUDE@/*
38 %dir @USR_LIB@/*
39 %doc README Changelog examples INSTALL
File Makefile.head deleted (index 9b760aa..0000000)
1 export PRJ := @PRJ@
2 export VER := @VER@
3 export REV := @REV@
4 export DESTDIR
5
6 export ETC := @ETC@
7 export SBIN := @SBIN@
8
9 export I_ETC := $(DESTDIR)/$(ETC)
10 export I_SBIN := $(DESTDIR)/$(SBIN)
11 export I_LOG := $(DESTDIR)/var/log/$(PRJ)
12 export I_INC := $(DESTDIR)/usr/include
13 export I_LIB := $(DESTDIR)/usr/lib
14
15 # DB stuff
16 export DB_SUPPORT := @DB_SUPPORT@
17 # PG
18 export PG_FOUND := @PG_FOUND@
19 export PG_INC := @PG_INC@
20 export PG_LIB := @PG_LIB@
21
22 .PHONY: xxx_all
23 xxx_all: @MAKEFILE_TARGETS@
24
25 # HEAD END #
26
File Makefile.in changed (mode: 100644) (index 570276f..73073f4)
... ... clean:
32 32
33 33
34 34 install: all install: all
35 @mkdir -p $(I_LIB)
36 @cp -vd libConn* $(I_LIB)
37 @mkdir -p $(I_INC)
38 @cp -vd *.h $(I_INC)
35 @mkdir -p $(I_USR_LIB)
36 @cp -vd libConn* $(I_USR_LIB)
37 @mkdir -p $(I_USR_INC)
38 @cp -vd *.h $(I_USR_INC)
File Makefile.tail deleted (index 1b23184..0000000)
1
2 # TAIL START #
3
4 dist: clean
5 @echo "Generate tarball..."
6 cd .. && rm -f $(PRJ)-$(VER) && ln -s $(PRJ) $(PRJ)-$(VER)
7 tar czhvf $(PRJ)-$(VER).tar.gz \
8 --exclude $(PRJ)-$(VER).tar.gz \
9 --exclude-from PROJECT_EXCLUDE \
10 -C .. $(PRJ)-$(VER)
11 rm -f ../$(PRJ)-$(VER)
12 @echo "Build SRPM..."
13 rpmbuild -ts $(PRJ)-$(VER).tar.gz
14 @echo "Copy to my repository..."
15 mv /usr/src/redhat/SRPMS/$(PRJ)-$(VER)-$(REV)* ../dinorepo/fedora/SRPMS/
16 rm -f $(PRJ)-$(VER).tar.gz
File PROJECT deleted (index c484660..0000000)
1 Conn
File PROJECT_EXCLUDE deleted (index e69de29..0000000)
File PROJECT_REV deleted (index 8f92bfd..0000000)
1 35
File PROJECT_TARGETS deleted (index 0702cb5..0000000)
1 all
File PROJECT_VER deleted (index b0f3d96..0000000)
1 1.0.8
File configure changed (mode: 100755) (index 11e05cc..d33bb6c)
1 #!/bin/sh
1 #!/bin/bash
2 2
3 if [ ! -r "PROJECT" ]; then
4 echo "ERRRO: You must have a PROJECT file in the current directory!"
5 exit 1
6 fi
7
8 PRJ="`cat PROJECT`"
9
10 if [ -r "PROJECT_VER" ]; then
11 VER="`cat PROJECT_VER`"
12 else
13 VER="0.1.0"
14 echo "${VER}" > PROJECT_VER
15 fi
16
17 if [ -r PROJECT_REV ]; then
18 REV=`cat PROJECT_REV`
19 else
20 REV="1"
21 echo ${REV} > PROJECT_REV
22 fi
23
24 echo "PRJ=${PRJ}, VER=${VER}, REV=${REV}"
25
26 ETC="/etc"
27 BIN="/usr/bin"
28 SBIN="/usr/sbin"
29 LOG="/var/log/${PRJ}"
30 INC="/usr/include"
31 LIB="/usr/lib"
32
33 while [ "${1}" != "" ]; do
34 VAR="`echo ${1} | cut -d'=' -f1`"
35 VAL="`echo ${1} | cut -d'=' -f2`"
36 case ${VAR} in
37 --sysconfdir)
38 ETC="${VAL}"
39 ;;
40 --bindir)
41 BIN="${VAL}"
42 ;;
43 --sbindir)
44 SBIN="${VAL}"
45 ;;
46 --includedir)
47 INC="${VAL}"
48 ;;
49 --libdir)
50 LIB="${VAL}"
51 ;;
52 esac
53 shift
54 done
55
56 DB_SUPPORT=0
57
58 echo -n "Search for PostgreSQL..."
59 PG_FOUND=0
60 PG_VERSION="`pg_config --version`"
61 if [ -z "${PG_VERSION}" ]; then
62 echo " not found!"
63 else
64 echo " found version ${PG_VERSION}!"
65 PG_FOUND=1
66 PG_INC="${DB_INC} -I`pg_config --includedir`"
67 PG_LIB="${DB_INC} -L`pg_config --libdir` -lpq"
68 DB_SUPPORT=1
69 fi
70
71 echo "Find out targets for Makefile..."
72 if [ -r PROJECT_TARGETS ]; then
73 MAKEFILE_TARGETS="`cat PROJECT_TARGETS`"
74 fi
75
76
77 # generic stuff
78 echo "s#@PRJ@#${PRJ}#g" >> tmp.sed
79 echo "s#@VER@#${VER}#g" >> tmp.sed
80 echo "s#@REV@#${REV}#g" >> tmp.sed
81 echo "s#@ETC@#${ETC}#g" >> tmp.sed
82 echo "s#@BIN@#${BIN}#g" >> tmp.sed
83 echo "s#@SBIN@#${SBIN}#g" >> tmp.sed
84 echo "s#@LOG@#${LOG}#g" >> tmp.sed
85 echo "s#@INC@#${INC}#g" >> tmp.sed
86 echo "s#@LIB@#${LIB}#g" >> tmp.sed
87 # PG stuff
88 echo "s#@PG_VERSION@#${PG_VERSION}#g" >> tmp.sed
89 echo "s#@PG_FOUND@#${PG_FOUND}#g" >> tmp.sed
90 echo "s#@PG_INC@#${PG_INC}#g" >> tmp.sed
91 echo "s#@PG_LIB@#${PG_LIB}#g" >> tmp.sed
92 # DB stuff
93 echo "s#@DB_SUPPORT@#${DB_SUPPORT}#g" >> tmp.sed
94 # makefile stuff
95 echo "s#@MAKEFILE_TARGETS@#${MAKEFILE_TARGETS}#g" >> tmp.sed
96
97
98 echo "Build Makefile..."
99 sed --file tmp.sed Makefile.head > Makefile
100 if [ -r Makefile.in ]; then
101 sed --file tmp.sed Makefile.in >> Makefile
102 fi
103 sed --file tmp.sed Makefile.tail >> Makefile
104
105
106 echo "Generate .spec file..."
107 sed --file tmp.sed ${PRJ}.spec.in > ${PRJ}.spec
108
109
110 if [ -r config.h.in ]; then
111 echo "Generate config.h file..."
112 sed --file tmp.sed config.h.in > config.h
113 fi
114
115
116 rm -f tmp.sed
117
118 echo "Done. Run make."
3 ./duilder
File duilder added (mode: 100755) (index 0000000..4366629)
1 #!/bin/bash
2
3 set -e
4
5 function duilder_docs()
6 {
7 PRJ="${1}"
8 VER="${2}"
9 EXPORT_PATH="${3}"
10
11 echo "Copying docs to [${EXPORT_PATH}]..."
12 for f in README License LICENCE Changelog TODO FAQ; do
13 if [ -r "${f}" ]; then
14 cp -vp "${f}" "${EXPORT_PATH}/"
15 fi
16 done
17
18 if [ -d "screenshot" ]; then
19 echo "Copying screenshots..."
20 mkdir -p "${EXPORT_PATH}"
21 cp -vp screenshot/* "${EXPORT_PATH}/"
22 fi
23 }
24
25 function duilder_git()
26 {
27 PRJ="${1}"
28 GIT_DEST="${2}"
29 EXPORT_GIT="${3}"
30 EXPORT_PATH="${4}"
31 GIT_CHANGELOG="${5}"
32
33 if [ "${EXPORT_GIT}" != "1" ]; then
34 exit 0
35 fi
36
37 if [ ! -d .git ]; then
38 exit 0
39 fi
40
41 if [ -z "${GIT_DEST}" ]; then
42 GIT_DEST="${EXPORT_PATH}"
43 fi
44
45 echo "Generate GIT tree for HTTP transport..."
46 if [ ! -d "${GIT_DEST}/${PRJ}.git" ]; then
47 git-clone --bare . "${GIT_DEST}/${PRJ}.git"
48 chmod a+x "${GIT_DEST}/${PRJ}.git/hooks/post-update"
49 echo "${PRJ}" > "${GIT_DEST}/${PRJ}.git/description"
50 # allow export by git daemon?
51 #touch "${GIT_DEST}/${PRJ}.git/git-daemon-export-ok
52 else
53 # --force?
54 git-push -v --all "${GIT_DEST}/${PRJ}.git"
55 git-push -v --tags "${GIT_DEST}/${PRJ}.git"
56 fi
57 (cd "${GIT_DEST}/${PRJ}.git" && git-update-server-info)
58
59
60 if [ "${GIT_CHANGELOG}" = "1" ]; then
61 echo "Generating Changelog from git..."
62 echo -n > Changelog
63 prev=""
64 git-tag -l | sort -r | \
65 while read tag; do
66 if [ "${tag:0:1}" != "v" ]; then
67 # skip other kind of tags beside versions
68 continue
69 fi
70 if [ ! -z "${prev}" ]; then
71 echo "[${tag} -> ${prev}]" >> Changelog
72 echo >> Changelog
73 git-shortlog ${tag}..${prev} >> Changelog
74 echo >> Changelog
75 fi
76 prev=${tag}
77 done
78 fi
79 }
80
81 function duilder_srpm()
82 {
83 PRJ="${1}"
84 VER="${2}"
85 EXPORT_PATH="${3}"
86 BUILD_SRPM="${4}"
87 SRPM_DEST="${5}"
88
89 P="${PRJ}-${VER}"
90
91 if [ "${BUILD_SRPM}" != "1" ]; then
92 exit 0
93 fi
94
95 echo "Building SRPM..."
96 rpmbuild -ts "${P}.tar.gz"
97
98 if [ ! -z "${SRPM_DEST}" ]; then
99 echo "Copying to [${SRPM_DEST}]..."
100 cp -vp /usr/src/redhat/SRPMS/${P}* "${SRPM_DEST}/"
101 fi
102
103 echo "Copying to export dir [${EXPORT_PATH}]..."
104 mkdir -p "${EXPORT_PATH}"
105 cp -vp /usr/src/redhat/SRPMS/${P}* "${EXPORT_PATH}/"
106 }
107
108 function duilder_tar()
109 {
110 PRJ="${1}"
111 VER="${2}"
112 EXPORT_PATH="${3}"
113 EXCLUDE="${4}"
114
115 P="${PRJ}-${VER}"
116
117 echo "Generating tarball [${P}.tar.gz]..."
118 ADD=""
119 if [ ! -z "${EXCLUDE}" ]; then
120 ADD="--exclude-from \"${EXCLUDE}\""
121 fi
122
123 (cd .. && rm -f "${P}" && ln -s "${PRJ}" "${P}")
124 tar czhf "${P}.tar.gz" \
125 --exclude '.git' \
126 --exclude "${P}.tar.gz" \
127 ${ADD} \
128 -C .. "${P}"
129 echo "Done generating tarball!"
130
131 rm -f "../${P}"
132
133 echo "Copying source to ${EXPORT_PATH}/..."
134 mkdir -p "${EXPORT_PATH}"
135 cp -vp "${P}.tar.gz" "${EXPORT_PATH}/"
136 }
137
138 ####################################################################
139
140 ###### Multiplexer
141 if [ "${1}" = "docs" ]; then
142 shift
143 duilder_docs "$@"
144 exit $?
145 fi
146
147 if [ "${1}" = "tar" ]; then
148 shift
149 duilder_tar "$@"
150 exit $?
151 fi
152
153 if [ "${1}" = "git" ]; then
154 shift
155 duilder_git "$@"
156 exit $?
157 fi
158
159 if [ "${1}" = "srpm" ]; then
160 shift
161 duilder_srpm "$@"
162 exit $?
163 fi
164
165 if [ ! -r duilder.conf ]; then
166 echo "You must build a duilder.conf file!"
167 exit 1
168 fi
169
170
171 ###### Main stuff
172
173 source ${PWD}/duilder.conf
174
175 if [ -z "${PRJ}" ]; then
176 echo "ERROR: PRJ= parameter is missing."
177 exit 1
178 fi
179
180 if [ -z "${VER}" ]; then
181 echo "ERROR: PRJ= parameter is missing."
182 exit 1
183 fi
184
185 if [ -z "${REV}" ]; then
186 echo "ERROR: REV= parameter is missing."
187 exit 1
188 fi
189
190 echo
191 echo "Duilder builder script"
192 echo "Copyright Catalin(ux) M BOIE"
193 echo
194 echo "PRJ=${PRJ}, VER=${VER}, REV=${REV}"
195 echo "System: `uname -a`"
196
197 ETC="/etc"
198 BIN="/bin"
199 USR_BIN="/usr/bin"
200 USR_SBIN="/usr/sbin"
201 USR_INCLUDE="/usr/include"
202 USR_LIB="/usr/lib"
203 USR_SHARE_DOC="/usr/share/doc/${PRJ}-${VER}"
204 SBIN="/usr/sbin"
205 VAR_LOG="/var/log/${PRJ}"
206
207 while [ "${1}" != "" ]; do
208 VAR="`echo ${1} | cut -d'=' -f1`"
209 VAL="`echo ${1} | cut -d'=' -f2`"
210 case ${VAR} in
211 --sysconfdir)
212 ETC="${VAL}"
213 ;;
214 --bindir)
215 USR_BIN="${VAL}"
216 ;;
217 --sbindir)
218 USR_SBIN="${VAL}"
219 ;;
220 --includedir)
221 USR_INCLUDE="${VAL}"
222 ;;
223 --libdir)
224 USR_LIB="${VAL}"
225 ;;
226 esac
227 shift
228 done
229
230
231 DB_SUPPORT=0
232
233 echo -n "Searching for PostgreSQL..."
234 PG_FOUND=0
235 PG_VERSION=""
236 set +e
237 PG_VERSION="`pg_config --version 2>/dev/null`"
238 set -e
239 if [ -z "${PG_VERSION}" ]; then
240 echo " not found!"
241 else
242 echo " found version ${PG_VERSION}!"
243 PG_FOUND=1
244 PG_INC="${DB_INC} -I`pg_config --includedir`"
245 PG_LIB="${DB_INC} -L`pg_config --libdir` -lpq"
246 DB_SUPPORT=1
247 fi
248
249 # generic stuff
250 echo "s#@PRJ@#${PRJ}#g" >> tmp.sed
251 echo "s#@VER@#${VER}#g" >> tmp.sed
252 echo "s#@REV@#${REV}#g" >> tmp.sed
253 echo "s#@ETC@#${ETC}#g" >> tmp.sed
254 echo "s#@BIN@#${BIN}#g" >> tmp.sed
255 echo "s#@USR_BIN@#${USR_BIN}#g" >> tmp.sed
256 echo "s#@SBIN@#${SBIN}#g" >> tmp.sed
257 echo "s#@USR_SBIN@#${USR_SBIN}#g" >> tmp.sed
258 echo "s#@VAR_LOG@#${VAR_LOG}#g" >> tmp.sed
259 echo "s#@USR_INCLUDE@#${USR_INCLUDE}#g" >> tmp.sed
260 echo "s#@USR_INC@#${USR_INCLUDE}#g" >> tmp.sed
261 echo "s#@USR_LIB@#${USR_LIB}#g" >> tmp.sed
262 echo "s#@USR_SHARE_DOC@#${USR_SHARE_DOC}#g" >> tmp.sed
263 # PG stuff
264 echo "s#@PG_VERSION@#${PG_VERSION}#g" >> tmp.sed
265 echo "s#@PG_FOUND@#${PG_FOUND}#g" >> tmp.sed
266 echo "s#@PG_INC@#${PG_INC}#g" >> tmp.sed
267 echo "s#@PG_LIB@#${PG_LIB}#g" >> tmp.sed
268 # DB stuff
269 echo "s#@DB_SUPPORT@#${DB_SUPPORT}#g" >> tmp.sed
270 # Export stuff
271 echo "s#@EXPORT_PATH@#${EXPORT_PATH}#g" >> tmp.sed
272
273
274
275 if [ -r Makefile.in ]; then
276 echo "Building Makefile..."
277 echo -n > Makefile
278 echo "# duilder header starts #" >> Makefile
279 echo "export PRJ := ${PRJ}" >> Makefile
280 echo "export VER := ${VER}" >> Makefile
281 echo "export REV := ${REV}" >> Makefile
282 echo "export DESTDIR" >> Makefile
283 echo >> Makefile
284 echo "export I_ETC := \$(DESTDIR)${ETC}" >> Makefile
285 echo "export I_BIN := \$(DESTDIR)${BIN}" >> Makefile
286 echo "export I_SBIN := \$(DESTDIR)${SBIN}" >> Makefile
287 echo "export I_USR_BIN := \$(DESTDIR)${USR_BIN}" >> Makefile
288 echo "export I_USR_SBIN := \$(DESTDIR)${USR_SBIN}" >> Makefile
289 echo "export I_USR_INCLUDE := \$(DESTDIR)${USR_INCLUDE}" >> Makefile
290 echo "export I_USR_INC := \$(DESTDIR)${USR_INCLUDE}" >> Makefile
291 echo "export I_USR_SHARE_DOC := \$(DESTDIR)${USR_SHARE_DOC}" >> Makefile
292 echo "export I_USR_LIB := \$(DESTDIR)${USR_LIB}" >> Makefile
293 echo "export I_LIB := \$(DESTDIR)${USR_LIB}" >> Makefile
294 echo "export I_VAR_LOG := \$(DESTDIR)${VAR_LOG}" >> Makefile
295 echo >> Makefile
296 echo "# DB stuff" >> Makefile
297 echo "export DB_SUPPORT := ${DB_SUPPORT}" >> Makefile
298 echo "# PG" >> Makefile
299 echo "export PG_FOUND := ${PG_FOUND}" >> Makefile
300 echo "export PG_INC := ${PG_INC}" >> Makefile
301 echo "export PG_LIB := ${PG_LIB}" >> Makefile
302 echo >> Makefile
303 echo "# duilder header ends #" >> Makefile
304 echo >> Makefile
305
306 sed -f tmp.sed Makefile.in >> Makefile
307
308 echo >> Makefile
309 echo "# duilder tail starts #" >> Makefile
310 echo >> Makefile
311 echo "# This is to allow exporting only the git tree" >> Makefile
312 echo "dist_git:" >> Makefile
313 echo " @./duilder git \"\$(PRJ)\" \"${GIT_DEST}\" \"${EXPORT_GIT}\" \"${EXPORT_PATH}\" \"${GIT_CHANGELOG}\"" >> Makefile
314 echo >> Makefile
315 echo ".PHONY: dist" >> Makefile
316 echo "dist: clean" >> Makefile
317 echo " @./duilder tar \"\$(PRJ)\" \"\$(VER)\" \"${EXPORT_PATH}\" \"${EXCLUDE}\"" >> Makefile
318 echo " @./duilder srpm \"\$(PRJ)\" \"\$(VER)\" \"${EXPORT_PATH}\" \"${BUILD_SRPM}\" \"${SRPM_DEST}\"" >> Makefile
319 echo " @./duilder git \"\$(PRJ)\" \"${GIT_DEST}\" \"${EXPORT_GIT}\" \"${EXPORT_PATH}\" \"${GIT_CHANGELOG}\"" >> Makefile
320 echo " @./duilder docs \"\$(PRJ)\" \"\$(VER)\" \"${EXPORT_PATH}\"" >> Makefile
321 echo " @rm -f \"\$(PRJ)-\$(VER).tar.gz\"" >> Makefile
322 echo >> Makefile
323 fi
324
325 if [ -r "${PRJ}.spec.in" ]; then
326 echo "Generate .spec file..."
327 sed -f tmp.sed ${PRJ}.spec.in > ${PRJ}.spec
328 fi
329
330 if [ -r config.h.in ]; then
331 echo "Generate config.h file..."
332 sed -f tmp.sed config.h.in > config.h
333 fi
334
335 rm -f tmp.sed
336
337 if [ "`basename ${0}`" = "duilderx" ]; then
338 echo "Clone myself to destination as 'duilder'..."
339 cp -vpf "${0}" ${PWD}/duilder
340 fi
341
342 echo "Done. Run make."
File duilder.conf added (mode: 100644) (index 0000000..ca44796)
1 PRJ="Conn"
2 VER="1.0.9"
3 REV="1"
4 EXCLUDE=""
5 EXPORT_PATH="/data/www/umbrella/kernel/us/Conn"
6 EXPORT_GIT="1"
7 GIT_CHANGELOG="1"
8 BUILD_SRPM="1"
9 SRPM_DEST="../dinorepo/fedora/SRPMS"
10 BUILD_TGZ="1"
11 BUILD_DEB="1"
12
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/Conn

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/Conn

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/Conn

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main