<div dir="ltr">Resending because size constraingt<div>Removed PNG trying jpg attachment</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>Best Regards,</div><div><br></div><div>Diniz Bortolotto</div><div><br></div></div></div></div></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>De: <strong class="gmail_sendername" dir="auto">Diniz Bortolotto</strong> <span dir="auto"><<a href="mailto:diniz.bortolotto@gmail.com">diniz.bortolotto@gmail.com</a>></span><br>Date: sex., 26 de fev. de 2021 às 22:43<br>Subject: sqg not respects sbopkg.conf REPOs (warning: very long e-mail)<br>To:  <<a href="mailto:sbopkg-users@sbopkg.org">sbopkg-users@sbopkg.org</a>><br></div><br><br><div dir="ltr"><div dir="ltr"><font size="4">Hi buddies!<br><br>My name is Diniz Bortolotto and I'm a Slackware64-current user.<br>Some days ago I changed my SBo default repository on sbopkg to Ponce's repository to get current compliant packages.<br><br>After that, I noticed that some <b>SBo Queues</b> should be updated to keep track of correct dependencies of the new repository.<br>I started a full update and after that noticed that it didn't work. Studying the <b>sqg</b> script and BASH rules maybe I identified a misunderstanding of source command and substitutions.<br><br>I think that error occurs because when we use a command substitution (like <b>${...}</b> construct), we are creating a subshell that could inherit variables from their parent shells, but this only works in one way and the subshell cannot modify the environment of its parent shell (<b>sqg</b> in this case).<br><br>I've made some changes to <b>sqg script</b> to test cases and after those tests my suggestion is to <b>REMOVE REPOs variables</b> of sqg. (patch attached) I also created two sbopkg.confs to test and added an option to show what I wanna explain. (patch of test if someone want also try it)<br><br>Below I tried to make a graphical explanation of what I got on tests. :-)</font></div><div><font size="4">Note that the third case is the default sqg and it should use REPOs in sbopkg.conf not the sqg's defined.</font></div><div dir="ltr"><font size="4"><b>Sent a JPG attached.</b><br></font><div><div dir="ltr"><div dir="ltr"><div><font size="4"><br></font></div><div><font size="4">Below some test cases output:</font></div><div><font size="4"><br></font><span style="font-size:large">First I created some test dirs to pass ok on sanity checks</span><font size="4"><br></font></div></div></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">root@darkstar:/usr/sbin# tree -fi /var/lib/sbopkg/sbo*</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_str</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_str/queue_str</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_str/repo_str</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_str/repo_str/branch_str</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_var</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_var/queue_var</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_root_var/repo_var</font></font></blockquote></div></div></div></div></div><div><div><div><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><font size="4"><font face="monospace">/var/lib/sbopkg/sbo_r</font></font><font face="monospace"><span style="font-size:large">oot_var/repo_var/branch_var</span></font></blockquote></div></div></div></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-size:large"><br></span></div><font size="4">Test Cases:<br>1 - SBOPKG_CONF "BLANK" (commented out with '#') and REPOs also commented on sqg: <b>(fail)</b></font></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div dir="ltr"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">root@darkstar:~# sqg -s
</span><br>
<br>SQG's vars before sanity checks:
<br>      SQG's SBOPKG_CONF..:  <br>      SQG's REPO_ROOT....:  <br>      SQG's REPO_NAME....:  <br>      SQG's REPO_BRANCH..:  <br>
<br>Doing sanity checks ...
<br> not found.
<br>Check the configurable variables at the top of the script.</span></blockquote></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><font size="4">2 - SBOPKG_CONF "BLANK" (commented out with '#') and REPOs defined on sqg: <b>(fail)</b></font></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div dir="ltr"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">root@darkstar:~# sqg -s
</span><br>
<br>SQG's vars before sanity checks:
<br>      SQG's SBOPKG_CONF..:  <br>      SQG's REPO_ROOT....: /var/lib/sbopkg
<br>      SQG's REPO_NAME....: SBo
<br>      SQG's REPO_BRANCH..: 14.2
<br>
<br>Doing sanity checks ...
<br> not found.
<br>Check the configurable variables at the top of the script.<br></span></blockquote></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><font size="4"><b>3 - SBOPKG_CONF defined on sqg using substitution variables and REPOs defined on sqg (default)</b></font></div><div><font size="4"><b>>>>> this is the behaviour that I first detected:  (wrong)</b></font></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div dir="ltr"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">root@darkstar:~# sqg -s
</span><br>
<br>SQG's vars before sanity checks:
<br>      SQG's SBOPKG_CONF..: /etc/sbopkg/sbopkg.conf_var
<br>      SQG's REPO_ROOT....: /var/lib/sbopkg
<br>      SQG's REPO_NAME....: SBo
<br>      SQG's REPO_BRANCH..: 14.2
<br>
<br>Doing sanity checks ...
<br>
<br>SQG's vars after sanity checks':
<br>(that includes a 'source /etc/sbopkg/sbopkg.conf_var')
<br>      SQG's REPO_ROOT....: /var/lib/sbopkg
<br>      SQG's REPO_NAME....: SBo
<br>      SQG's REPO_BRANCH..: 14.2
<br>
<br>SBo's vars (using grep to /etc/sbopkg/sbopkg.conf_var):
<br>getting all that came after '=' sign
<br>
<br>      SBo's REPO_ROOT....: ${REPO_ROOT:-/var/lib/sbopkg/sbo_root_var}
<br>      SBo's REPO_NAME....: ${REPO_NAME:-repo_var}
<br>      SBo's REPO_BRANCH..: ${REPO_BRANCH:-branch_var}
<br>Done.<br></span></blockquote></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><font size="4">4 - SBOPKG_CONF defined on sqg using substitution variables and REPOs commented on sqg: (OK)</font></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div dir="ltr"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">root@darkstar:~# sqg -s
</span><br>
<br>SQG's vars before sanity checks:
<br>      SQG's SBOPKG_CONF..: /etc/sbopkg/sbopkg.conf_var
<br>      SQG's REPO_ROOT....:  <br>      SQG's REPO_NAME....:  <br>      SQG's REPO_BRANCH..:  <br>
<br>Doing sanity checks ...
<br>
<br>SQG's vars after sanity checks':
<br>(that includes a 'source /etc/sbopkg/sbopkg.conf_var')
<br>      SQG's REPO_ROOT....: /var/lib/sbopkg/sbo_root_var
<br>      SQG's REPO_NAME....: repo_var
<br>      SQG's REPO_BRANCH..: branch_var
<br>
<br>SBo's vars (using grep to /etc/sbopkg/sbopkg.conf_var):
<br>getting all that came after '=' sign
<br>
<br>      SBo's REPO_ROOT....: ${REPO_ROOT:-/var/lib/sbopkg/sbo_root_var}
<br>      SBo's REPO_NAME....: ${REPO_NAME:-repo_var}
<br>      SBo's REPO_BRANCH..: ${REPO_BRANCH:-branch_var}
<br>Done.<br></span></blockquote></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><font size="4">5 - SBOPKG_CONF defined on sqg with fixed variables and REPOs commented on sqg: (OK)</font></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div dir="ltr"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">root@darkstar:~# sqg -s
</span><br>
<br>SQG's vars before sanity checks:
<br>      SQG's SBOPKG_CONF..: /etc/sbopkg/sbopkg.conf_str
<br>      SQG's REPO_ROOT....:  <br>      SQG's REPO_NAME....:  <br>      SQG's REPO_BRANCH..:  <br>
<br>Doing sanity checks ...
<br>
<br>SQG's vars after sanity checks':
<br>(that includes a 'source /etc/sbopkg/sbopkg.conf_str')
<br>      SQG's REPO_ROOT....: /var/lib/sbopkg/sbo_root_str
<br>      SQG's REPO_NAME....: repo_str
<br>      SQG's REPO_BRANCH..: branch_str
<br>
<br>SBo's vars (using grep to /etc/sbopkg/sbopkg.conf_str):
<br>getting all that came after '=' sign
<br>
<br>      SBo's REPO_ROOT....: /var/lib/sbopkg/sbo_root_str
<br>      SBo's REPO_NAME....: repo_str
<br>      SBo's REPO_BRANCH..: branch_str
<br>Done.<br></span></blockquote></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><font size="4">6 - SBOPKG_CONF defined on sqg with fixed variables and REPOs defined on sqg: (OK)</font></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div dir="ltr"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-family:monospace"><span style="color:rgb(0,0,0)">root@darkstar:~# sqg -s
</span><br>
<br>SQG's vars before sanity checks:
<br>      SQG's SBOPKG_CONF..: /etc/sbopkg/sbopkg.conf_str
<br>      SQG's REPO_ROOT....: /var/lib/sbopkg
<br>      SQG's REPO_NAME....: SBo
<br>      SQG's REPO_BRANCH..: 14.2
<br>
<br>Doing sanity checks ...
<br>
<br>SQG's vars after sanity checks':
<br>(that includes a 'source /etc/sbopkg/sbopkg.conf_str')
<br>      SQG's REPO_ROOT....: /var/lib/sbopkg/sbo_root_str
<br>      SQG's REPO_NAME....: repo_str
<br>      SQG's REPO_BRANCH..: branch_str
<br>
<br>SBo's vars (using grep to /etc/sbopkg/sbopkg.conf_str):
<br>getting all that came after '=' sign
<br>
<br>      SBo's REPO_ROOT....: /var/lib/sbopkg/sbo_root_str
<br>      SBo's REPO_NAME....: repo_str
<br>      SBo's REPO_BRANCH..: branch_str
<br>Done.<br></span></blockquote></div></div></blockquote><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><font size="4"><br>Best Regards,<br></font><span style="font-size:large">Diniz Bortolotto</span></div></div></div></div></div>
</div></div></div>