359:
this first version of ZYpp's solver worked satisfactorily, on the company enterprise products with the coupled ZMD daemon, it led to an openSUSE 10.1 release which came out in May 2006 with a system package not working as expected. In
December 2006, the openSUSE 10.2 release corrected some defects of the prior release, using the revisited ZYpp v2. ZMD was subsequently removed from the 10.3 release and reserved for only the company Enterprise products. While ZYpp v3 provided openSUSE with a relatively good package manager, equivalent to other existing package managers, it suffered from some flaws in its implementation which greatly limited its speed performance.
1242:
427:
155:
147:
132:
123:
78:
72:
342:, in a best of breed approach, as the two solutions so far were used at Novell. Looking at the extant open source tools and their maturity available back in 2005, none fulfilled the requirements, and were able to work smoothly with the extant Linux management infrastructure software developed by Ximian and SUSE, so it was decided to get the best ideas from extant pieces and to work on a new implementation. Libzypp, the resulting library, was planned to be the software management engine of the
27:
1523:
1266:
1278:
1254:
1228:
1382:
358:
The
Libzypp's solver was a port from the Red Carpet solver, which was written to update packages in installed systems. Using it for the full installing process brought it to its limits, and adding extensions such as support for weak dependencies and patches made it fragile and unpredictable. Although
409:
is a well-researched problem with many exemplar solvers available. It is very fast, as package solving complexity is very low compared to other areas where SAT solvers are used. Also, it does not need complex algorithms and can provide understandable suggestions by calculating proof of why a problem
397:
approach to store and retrieve package and dependency information. A new solv format was created, which stores a repository as a string dictionary, a relation dictionary and then all package dependencies. Reading and merging multiple solv repositories takes only
414:
After several months of work, the benchmark results of this fourth ZYpp version integrated with the SAT solver are more than encouraging, moving YaST and Zypper ahead of other RPM-based package managers in speed and size.
292:
since version 10.2 beta1. In openSUSE 11.1, Zypper reached version 1.0. On June 2, 2009, Ark Linux announced that it has completed its review of dependency solvers and has chosen ZYpp and its tools to replace the aging
888:
386:(APT) sometimes show unacceptable deficiencies. It was decided to integrate SAT algorithms into the ZYpp stack; the solver algorithms used were based on the popular minisat solver.
1550:
750:
881:
1258:
1565:
874:
1545:
1560:
822:
464:
1246:
432:
1270:
1323:
367:
An area where libzypp needed improvement was the speed of the dependency solver. libsolv is being written and released under the
1489:
721:
406:
284:
to install, remove, update and query software packages of local or remote (networked) media. Its graphical equivalent is the
251:
856:
255:
112:
1282:
63:
644:
1056:
263:
193:
1102:
1510:
1129:
800:
389:
The SAT solver implementation as it appears in openSUSE 11.0 is based on two major, but independent, blocks:
1413:
383:
1439:
930:
658:
277:
1418:
1061:
339:
247:
1423:
1316:
131:
122:
1555:
955:
938:
924:
368:
176:
154:
146:
77:
71:
26:
1361:
1150:
1032:
144:
ZYpp: C++, Extensible Markup
Language, C, CMake, Ruby, Python, Perl, shell script, Tcl, Lua
539:
1495:
1476:
1351:
744:
375:
1277:
1454:
1403:
1366:
861:
297:, as the first distribution to do so. Zypper is also part of the mobile Linux distributions
188:
164:
476:
1526:
1309:
1071:
898:
729:
498:
394:
347:
281:
231:
181:
765:
1211:
1183:
994:
970:
914:
572:
570:
568:
566:
564:
562:
560:
534:
532:
530:
528:
526:
524:
522:
520:
518:
516:
402:
1539:
1087:
1371:
1232:
866:
699:
616:
1167:
1145:
1107:
302:
1500:
1356:
1346:
1178:
1097:
578:"GitHub - openSUSE/zypper: World's most powerful command line package manager"
422:
379:
343:
327:
239:
1444:
1206:
1173:
1117:
259:
1408:
1112:
1051:
1041:
987:
919:
849:
823:"Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar"
630:
440:
289:
243:
204:
1482:
1449:
1092:
1046:
976:
964:
944:
698:
Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007),
294:
678:
117:
1505:
1332:
1123:
1066:
683:
663:
602:
577:
331:
323:
126:
374:
Projects like
Optimal Package Install/Uninstall Manager (OPIUM) and
266:
v2 or later. ZYpp is implemented mostly in the programming language
267:
1381:
1227:
1188:
982:
306:
298:
169:
1022:
1016:
906:
445:
335:
285:
235:
1305:
1292:
indicates a discontinued or inactive package management system.
870:
152:
Zypper: C++, CMake, shell script, C, Perl, Augeas, Python
766:"On SAT Technologies for dependency management and beyond"
540:"The zypp Open Source Project on Open Hub: Languages Page"
1301:
250:. Unlike some more basic package managers, it provides a
722:"Report on formal management of software dependencies"
786:
707:
378:
were trying to fix dependency solving issues with a
1469:
1432:
1396:
1389:
1339:
1199:
1159:
1138:
1080:
1031:
1008:
954:
905:
199:
187:
175:
163:
138:
111:
62:
40:
32:
700:"OPIUM: OPtimal Package Install/Uninstall Manager"
334:decided to merge both package management systems,
228:"Zen / YaST Packages Patches Patterns Products"
857:Sneak peeks at openSUSE new package management
720:EDOS Project Workpackage 2 Team (March 2006),
1317:
882:
8:
288:package manager module. It has been used in
19:
749:: CS1 maint: numeric names: authors list (
234:engine that powers Linux applications like
1393:
1380:
1324:
1310:
1302:
1253:
889:
875:
867:
346:and the Linux Management component of the
322:Following its consecutive acquisitions of
153:
145:
130:
121:
76:
70:
25:
18:
1551:Linux package management-related software
659:"Michael Schroeder, History of satsolver"
645:"Another look at Linux packaging systems"
254:to compute package dependencies. It is a
1247:Free and open-source software portal
764:Le Berre, Daniel; Parrain, Anne (2008),
405:for computing package dependencies. The
726:EDOS Project Deliverable Work Package 2
457:
742:
35:command showing information of libzypp
7:
433:Free and open-source software portal
262:and licensed under the terms of the
801:"yum and ZYpp speed / memory usage"
238:, Zypper and the implementation of
118:https://github.com/openSUSE/libzypp
127:https://github.com/openSUSE/zypper
14:
1455:NetWare Lite and Personal NetWare
1522:
1521:
1276:
1265:
1264:
1252:
1240:
1226:
425:
16:Linux package management library
1566:Free software programmed in C++
1546:Free package management systems
728:, Deliverable 2, archived from
1561:Software using the GPL license
407:Boolean satisfiability problem
1:
256:free and open-source software
382:. Traditional solvers like
1582:
899:package management systems
631:"Libzypp project homepage"
603:"Acronyms - openSUSE Wiki"
264:GNU General Public License
194:GNU General Public License
1519:
1378:
1220:
775:, Limerick, Mancoosi.org.
107:
58:
24:
1511:Unix System Laboratories
465:Earliest known changelog
617:"Libzypp documentation"
384:Advanced Packaging Tool
1440:Open Enterprise Server
931:Ubuntu Software Center
363:SAT solver integration
278:command-line interface
94:; 2 months ago
46:; 18 years ago
258:project sponsored by
252:satisfiability solver
248:SUSE Linux Enterprise
83:; 38 days ago
44:January 14, 2006
338:package manager and
687:. 26 November 2021.
679:"libsolv on github"
667:. 26 November 2021.
369:revised BSD license
21:
1397:Systems management
1362:Robert Frankenberg
350:Management suite.
344:SUSE distributions
1533:
1532:
1496:Star Trek project
1465:
1464:
1352:Dennis Fairclough
1299:
1298:
499:"Release 1.14.76"
477:"Release 17.35.9"
217:
216:
1573:
1525:
1524:
1414:Identity Manager
1394:
1384:
1367:Ronald Hovsepian
1326:
1319:
1312:
1303:
1280:
1268:
1267:
1256:
1255:
1245:
1244:
1243:
1233:Linux portal
1231:
1230:
1009:Embedded systems
891:
884:
877:
868:
853:
852:
850:Official website
835:
834:
832:
830:
819:
813:
812:
810:
808:
797:
791:
790:
783:
777:
776:
770:
761:
755:
754:
748:
740:
738:
737:
717:
711:
710:
704:
695:
689:
688:
675:
669:
668:
655:
649:
648:
641:
635:
634:
627:
621:
620:
613:
607:
606:
599:
593:
592:
590:
588:
574:
555:
554:
552:
550:
536:
511:
510:
508:
506:
495:
489:
488:
486:
484:
473:
467:
462:
435:
430:
429:
428:
213:
210:
208:
206:
165:Operating system
157:
149:
134:
125:
102:
100:
95:
91:
89:
84:
80:
74:
54:
52:
47:
34:
29:
22:
1581:
1580:
1576:
1575:
1574:
1572:
1571:
1570:
1536:
1535:
1534:
1529:
1515:
1461:
1428:
1385:
1376:
1335:
1330:
1300:
1295:
1286:
1241:
1239:
1225:
1216:
1195:
1155:
1139:Others (source)
1134:
1081:Others (binary)
1076:
1027:
1004:
950:
901:
895:
862:DistroWatch.com
848:
847:
844:
839:
838:
828:
826:
821:
820:
816:
806:
804:
799:
798:
794:
785:
784:
780:
768:
763:
762:
758:
741:
735:
733:
719:
718:
714:
702:
697:
696:
692:
677:
676:
672:
657:
656:
652:
643:
642:
638:
629:
628:
624:
615:
614:
610:
601:
600:
596:
586:
584:
576:
575:
558:
548:
546:
538:
537:
514:
504:
502:
497:
496:
492:
482:
480:
479:. 5 August 2024
475:
474:
470:
463:
459:
454:
431:
426:
424:
421:
395:data dictionary
365:
356:
348:Novell ZENworks
320:
315:
282:package manager
232:package manager
211:/Portal:Libzypp
203:
182:Package manager
103:
98:
96:
93:
87:
85:
82:
81:/ 5 August 2024
50:
48:
45:
41:Initial release
36:
17:
12:
11:
5:
1579:
1577:
1569:
1568:
1563:
1558:
1553:
1548:
1538:
1537:
1531:
1530:
1520:
1517:
1516:
1514:
1513:
1508:
1503:
1498:
1493:
1486:
1479:
1473:
1471:
1467:
1466:
1463:
1462:
1460:
1459:
1458:
1457:
1447:
1442:
1436:
1434:
1430:
1429:
1427:
1426:
1421:
1419:Access Manager
1416:
1411:
1406:
1400:
1398:
1391:
1387:
1386:
1379:
1377:
1375:
1374:
1369:
1364:
1359:
1357:Raymond Noorda
1354:
1349:
1343:
1341:
1337:
1336:
1331:
1329:
1328:
1321:
1314:
1306:
1297:
1296:
1294:
1293:
1287:
1274:
1262:
1250:
1236:
1221:
1218:
1217:
1215:
1214:
1212:Package format
1209:
1203:
1201:
1200:Related topics
1197:
1196:
1194:
1193:
1192:
1191:
1186:
1184:GNOME Software
1176:
1171:
1163:
1161:
1157:
1156:
1154:
1153:
1148:
1142:
1140:
1136:
1135:
1133:
1132:
1127:
1120:
1115:
1110:
1105:
1100:
1095:
1090:
1084:
1082:
1078:
1077:
1075:
1074:
1069:
1064:
1059:
1054:
1049:
1044:
1038:
1036:
1029:
1028:
1026:
1025:
1020:
1012:
1010:
1006:
1005:
1003:
1002:
997:
992:
991:
990:
980:
973:
968:
960:
958:
952:
951:
949:
948:
941:
936:
935:
934:
927:
922:
911:
909:
903:
902:
896:
894:
893:
886:
879:
871:
865:
864:
859:
854:
843:
842:External links
840:
837:
836:
814:
792:
778:
756:
712:
690:
670:
650:
636:
622:
608:
594:
556:
512:
490:
468:
456:
455:
453:
450:
449:
448:
443:
437:
436:
420:
417:
412:
411:
410:is unsolvable.
403:satisfiability
399:
364:
361:
355:
352:
319:
316:
314:
311:
276:is the native
215:
214:
201:
197:
196:
191:
185:
184:
179:
173:
172:
167:
161:
160:
159:
158:
150:
140:
136:
135:
115:
109:
108:
105:
104:
68:
66:
64:Stable release
60:
59:
56:
55:
42:
38:
37:
30:
15:
13:
10:
9:
6:
4:
3:
2:
1578:
1567:
1564:
1562:
1559:
1557:
1554:
1552:
1549:
1547:
1544:
1543:
1541:
1528:
1518:
1512:
1509:
1507:
1504:
1502:
1499:
1497:
1494:
1492:
1491:
1490:SCO v. Novell
1487:
1485:
1484:
1480:
1478:
1475:
1474:
1472:
1468:
1456:
1453:
1452:
1451:
1448:
1446:
1443:
1441:
1438:
1437:
1435:
1433:Collaboration
1431:
1425:
1424:BorderManager
1422:
1420:
1417:
1415:
1412:
1410:
1407:
1405:
1402:
1401:
1399:
1395:
1392:
1388:
1383:
1373:
1370:
1368:
1365:
1363:
1360:
1358:
1355:
1353:
1350:
1348:
1345:
1344:
1342:
1338:
1334:
1327:
1322:
1320:
1315:
1313:
1308:
1307:
1304:
1291:
1288:
1285:
1284:
1279:
1275:
1273:
1272:
1263:
1261:
1260:
1251:
1249:
1248:
1237:
1235:
1234:
1229:
1223:
1222:
1219:
1213:
1210:
1208:
1205:
1204:
1202:
1198:
1190:
1187:
1185:
1182:
1181:
1180:
1177:
1175:
1172:
1170:
1169:
1165:
1164:
1162:
1158:
1152:
1149:
1147:
1144:
1143:
1141:
1137:
1131:
1128:
1126:
1125:
1121:
1119:
1116:
1114:
1111:
1109:
1106:
1104:
1101:
1099:
1096:
1094:
1091:
1089:
1086:
1085:
1083:
1079:
1073:
1070:
1068:
1065:
1063:
1060:
1058:
1055:
1053:
1050:
1048:
1045:
1043:
1040:
1039:
1037:
1034:
1030:
1024:
1021:
1019:
1018:
1014:
1013:
1011:
1007:
1001:
998:
996:
993:
989:
986:
985:
984:
981:
979:
978:
974:
972:
969:
967:
966:
962:
961:
959:
957:
953:
947:
946:
942:
940:
937:
933:
932:
928:
926:
923:
921:
918:
917:
916:
913:
912:
910:
908:
904:
900:
892:
887:
885:
880:
878:
873:
872:
869:
863:
860:
858:
855:
851:
846:
845:
841:
825:. 6 June 2008
824:
818:
815:
803:. 16 May 2008
802:
796:
793:
788:
782:
779:
774:
767:
760:
757:
752:
746:
732:on 2006-06-19
731:
727:
723:
716:
713:
708:
701:
694:
691:
686:
685:
680:
674:
671:
666:
665:
660:
654:
651:
646:
640:
637:
632:
626:
623:
618:
612:
609:
604:
598:
595:
583:
579:
573:
571:
569:
567:
565:
563:
561:
557:
545:
541:
535:
533:
531:
529:
527:
525:
523:
521:
519:
517:
513:
501:. 2 July 2024
500:
494:
491:
478:
472:
469:
466:
461:
458:
451:
447:
444:
442:
439:
438:
434:
423:
418:
416:
408:
404:
400:
398:milliseconds.
396:
392:
391:
390:
387:
385:
381:
377:
372:
370:
362:
360:
353:
351:
349:
345:
341:
337:
333:
329:
325:
317:
312:
310:
308:
304:
300:
296:
291:
287:
283:
279:
275:
271:
269:
265:
261:
257:
253:
249:
245:
241:
237:
233:
229:
225:
221:
212:
202:
198:
195:
192:
190:
186:
183:
180:
178:
174:
171:
168:
166:
162:
156:
151:
148:
143:
142:
141:
137:
133:
128:
124:
119:
116:
114:
110:
106:
88:5 August 2024
79:
75:1.14.76
73:
69:17.35.9
67:
65:
61:
57:
43:
39:
28:
23:
1488:
1481:
1372:Eric Schmidt
1289:
1281:
1269:
1257:
1238:
1224:
1166:
1122:
1033:Distribution
1015:
999:
975:
963:
943:
929:
827:. Retrieved
817:
805:. Retrieved
795:
787:"Minisat.se"
781:
772:
759:
734:, retrieved
730:the original
725:
715:
706:
693:
682:
673:
662:
653:
647:. June 2009.
639:
625:
611:
597:
585:. Retrieved
581:
547:. Retrieved
543:
503:. Retrieved
493:
481:. Retrieved
471:
460:
413:
388:
373:
366:
357:
321:
280:of the ZYpp
273:
272:
227:
223:
219:
218:
1168:Autopackage
303:Sailfish OS
99:2 July 2024
92:2 July 2024
33:zypper info
1556:SUSE Linux
1540:Categories
1501:SUSE Linux
1477:BrainShare
1404:eDirectory
1347:Drew Major
1179:PackageKit
1160:Front-ends
829:15 October
807:23 October
736:2009-06-06
709:, ICSE'07.
452:References
380:SAT solver
354:Early days
340:Red Carpet
240:PackageKit
139:Written in
113:Repository
51:2006-01-14
1445:GroupWise
1207:AppStream
1174:Listaller
1118:slapt-get
1035:-agnostic
773:ASPL 2008
483:27 August
330:in 2003,
328:SuSE GmbH
207:.opensuse
1527:Category
1409:ZENworks
1390:Products
1271:Category
1113:slackpkg
1057:Homebrew
1052:GNU Guix
1042:AppImage
988:Rpmdrake
939:aptitude
925:Synaptic
920:KPackage
745:citation
544:Open Hub
441:openSUSE
419:See also
393:Using a
376:MANCOOSI
290:openSUSE
244:openSUSE
1483:NetWars
1470:Related
1450:NetWare
1290:Italics
1283:Commons
1151:Portage
1146:Sorcery
1088:Entropy
1047:Flatpak
977:up2date
965:APT-RPM
945:dselect
505:28 July
318:Purpose
313:History
295:APT-RPM
230:) is a
224:libzypp
200:Website
189:License
97: (
86: (
49: (
1506:Univel
1340:People
1333:Novell
1124:swaret
1098:pacman
1093:netpkg
1067:pkgsrc
897:Linux
684:GitHub
664:GitHub
582:GitHub
401:Using
332:Novell
324:Ximian
305:, and
274:Zypper
129:
120:
1189:Apper
983:urpmi
769:(PDF)
703:(PDF)
587:2 May
549:2 May
307:Tizen
299:MeeGo
170:Linux
1259:List
1130:upkg
1103:PiSi
1072:Snap
1023:opkg
1017:ipkg
1000:ZYpp
907:dpkg
831:2017
809:2008
751:link
589:2024
551:2024
507:2024
485:2024
446:YaST
336:YaST
326:and
286:YaST
260:SUSE
246:and
242:for
236:YaST
222:(or
220:ZYpp
209:.org
177:Type
20:ZYpp
1108:PPM
1062:Nix
995:YUM
971:DNF
956:RPM
915:APT
268:C++
1542::
771:,
747:}}
743:{{
724:,
705:,
681:.
661:.
580:.
559:^
542:.
515:^
371:.
309:.
301:,
270:.
226:;
205:en
31:A
1325:e
1318:t
1311:v
890:e
883:t
876:v
833:.
811:.
789:.
753:)
739:.
633:.
619:.
605:.
591:.
553:.
509:.
487:.
101:)
90:)
53:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.