Skip to content

Commit 3e9d007

Browse files
authored
Merge pull request #483 from oliverkurth/stable-3.5
port PR# 482 (epoch fix) and bump version to 3.5.7
2 parents e1f4e0a + 1572670 commit 3e9d007

File tree

5 files changed

+27
-32
lines changed

5 files changed

+27
-32
lines changed

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
CMAKE_MINIMUM_REQUIRED(VERSION 3.0 FATAL_ERROR)
1010

11-
project(tdnf VERSION 3.5.6 LANGUAGES C)
11+
project(tdnf VERSION 3.5.7 LANGUAGES C)
1212
set(VERSION ${PROJECT_VERSION})
13-
set(PROJECT_YEAR 2023)
13+
set(PROJECT_YEAR 2024)
1414

1515
# Ensure correct directory paths are used for installation
1616
include(GNUInstallDirs)

client/packageutils.c

+7-14
Original file line numberDiff line numberDiff line change
@@ -129,22 +129,15 @@ TDNFPopulatePkgInfoArray(
129129
dwError = SolvGetPackageId(pPkgList, dwPkgIndex, &dwPkgId);
130130
BAIL_ON_TDNF_ERROR(dwError);
131131

132-
dwError = SolvGetPkgNameFromId(pSack, dwPkgId, &pPkgInfo->pszName);
133-
BAIL_ON_TDNF_ERROR(dwError);
134-
135-
dwError = SolvGetPkgArchFromId(pSack, dwPkgId, &pPkgInfo->pszArch);
136-
BAIL_ON_TDNF_ERROR(dwError);
137-
138-
dwError = SolvGetPkgVersionFromId(
139-
pSack,
140-
dwPkgId,
141-
&pPkgInfo->pszVersion);
142-
BAIL_ON_TDNF_ERROR(dwError);
143-
144-
dwError = SolvGetPkgReleaseFromId(
132+
dwError = SolvGetNevraFromId(
145133
pSack,
146134
dwPkgId,
147-
&pPkgInfo->pszRelease);
135+
&pPkgInfo->dwEpoch,
136+
&pPkgInfo->pszName,
137+
&pPkgInfo->pszVersion,
138+
&pPkgInfo->pszRelease,
139+
&pPkgInfo->pszArch,
140+
&pPkgInfo->pszEVR);
148141
BAIL_ON_TDNF_ERROR(dwError);
149142

150143
dwError = SolvGetPkgRepoNameFromId(

pytests/tests/test_checksum.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99
import shutil
1010
import filecmp
1111
import glob
12+
import platform
1213
import pytest
1314

1415
WORKDIR = '/root/repofrompath/workdir'
16+
ARCH = platform.machine()
1517

1618

1719
@pytest.fixture(scope='module', autouse=True)
@@ -69,7 +71,7 @@ def test_install_package_with_incorrect_sha512_checksum(utils):
6971
reponame = 'photon-test-sha512'
7072
synced_dir = os.path.join(workdir, reponame)
7173
rpm_dir = os.path.join(synced_dir, 'RPMS')
72-
rpm_dir = os.path.join(rpm_dir, 'x86_64')
74+
rpm_dir = os.path.join(rpm_dir, ARCH)
7375

7476
enable_and_create_repo(utils)
7577
copy_rpm(rpm_dir, 'tdnf-test-one', 'tdnf-test-two')

tools/cli/lib/api.c

+9-15
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ TDNFCliListPackagesPrint(
152152

153153
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Name", pPkg->pszName));
154154
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Arch", pPkg->pszArch));
155-
CHECK_JD_RC(jd_map_add_fmt(jd_pkg, "Evr", "%s-%s", pPkg->pszVersion, pPkg->pszRelease));
155+
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Evr", pPkg->pszEVR));
156156
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Repo", pPkg->pszRepoName));
157157

158158
CHECK_JD_RC(jd_list_add_child(jd, jd_pkg));
@@ -183,13 +183,8 @@ TDNFCliListPackagesPrint(
183183
}
184184

185185
memset(szVersionAndRelease, 0, MAX_COL_LEN);
186-
if(snprintf(
187-
szVersionAndRelease,
188-
MAX_COL_LEN,
189-
"%s-%s ",
190-
pPkg->pszVersion,
191-
pPkg->pszRelease) < 0)
192-
{
186+
if (snprintf(szVersionAndRelease, MAX_COL_LEN, "%s ",
187+
pPkg->pszEVR) < 0) {
193188
dwError = errno;
194189
BAIL_ON_CLI_ERROR(dwError);
195190
}
@@ -313,7 +308,7 @@ TDNFCliInfoCommand(
313308

314309
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Name", pPkg->pszName));
315310
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Arch", pPkg->pszArch));
316-
CHECK_JD_RC(jd_map_add_fmt(jd_pkg, "Evr", "%s-%s", pPkg->pszVersion, pPkg->pszRelease));
311+
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Evr", pPkg->pszEVR));
317312
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Repo", pPkg->pszRepoName));
318313
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Url", pPkg->pszURL));
319314
CHECK_JD_RC(jd_map_add_int(jd_pkg, "InstallSize", pPkg->dwInstallSizeBytes));
@@ -607,7 +602,7 @@ TDNFCliProvidesCommand(
607602

608603
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Name", pPkg->pszName));
609604
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Arch", pPkg->pszArch));
610-
CHECK_JD_RC(jd_map_add_fmt(jd_pkg, "Evr", "%s-%s", pPkg->pszVersion, pPkg->pszRelease));
605+
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Evr", pPkg->pszEVR));
611606
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Summary", pPkg->pszSummary));
612607

613608
CHECK_JD_RC(jd_list_add_child(jd, jd_pkg));
@@ -620,10 +615,9 @@ TDNFCliProvidesCommand(
620615
{
621616
for(pPkg = pPkgInfos; pPkg; pPkg = pPkg->pNext)
622617
{
623-
pr_crit("%s-%s-%s.%s : %s\n",
618+
pr_crit("%s-%s.%s : %s\n",
624619
pPkg->pszName,
625-
pPkg->pszVersion,
626-
pPkg->pszRelease,
620+
pPkg->pszEVR,
627621
pPkg->pszArch,
628622
pPkg->pszSummary);
629623
pr_crit("Repo\t : %s\n", pPkg->pszRepoName);
@@ -725,7 +719,7 @@ TDNFCliRepoQueryCommand(
725719

726720
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Name", pPkgInfo->pszName));
727721
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Arch", pPkgInfo->pszArch));
728-
CHECK_JD_RC(jd_map_add_fmt(jd_pkg, "Evr", "%s-%s", pPkgInfo->pszVersion, pPkgInfo->pszRelease));
722+
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Evr", pPkgInfo->pszEVR));
729723
CHECK_JD_RC(jd_map_add_string(jd_pkg, "Repo", pPkgInfo->pszRepoName));
730724

731725
if (pPkgInfo->ppszFileList)
@@ -947,7 +941,7 @@ TDNFCliCheckUpdateCommand(
947941
{
948942
pPkg = &pPkgInfo[dwIndex];
949943
pr_crit("%*s\r", 80, pPkg->pszRepoName);
950-
pr_crit("%*s-%s\r", 50, pPkg->pszVersion, pPkg->pszRelease);
944+
pr_crit("%%s\r", 50, pPkg->pszEVR);
951945
pr_crit("%s.%s", pPkg->pszName, pPkg->pszArch);
952946
pr_crit("\n");
953947
}

tools/cli/lib/parseargs.c

+6
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,12 @@ TDNFCliParseArgs(
276276

277277
while (optind < argc)
278278
{
279+
if (argv[optind][0] == 0) {
280+
pr_err("argument is empty string\n");
281+
dwError = ERROR_TDNF_INVALID_PARAMETER;
282+
BAIL_ON_CLI_ERROR(dwError);
283+
}
284+
279285
dwError = TDNFAllocateString(
280286
argv[optind++],
281287
&pCmdArgs->ppszCmds[nIndex++]);

0 commit comments

Comments
 (0)