ProHoster > Օրագիր > ինտերնետ նորություններ > Repology նախագծի վեց ամսվա աշխատանքի արդյունքները, որը վերլուծում է փաթեթի տարբերակների մասին տեղեկատվությունը
Repology նախագծի վեց ամսվա աշխատանքի արդյունքները, որը վերլուծում է փաթեթի տարբերակների մասին տեղեկատվությունը
Անցել է ևս վեց ամիս և նախագիծը Հափշտակություն, որը հավաքում և համեմատում է բազմաթիվ պահեստների փաթեթների տարբերակների մասին տեղեկությունները, հրապարակում է մեկ այլ զեկույց։ Ծրագրի նպատակն է բարելավել փաթեթների սպասարկողների փոխգործակցությունը տարբեր բաշխումներից ինչպես իրենց, այնպես էլ ծրագրաշարի հեղինակների հետ. մասնավորապես, նախագիծն օգնում է արագ հայտնաբերել ծրագրաշարի նոր տարբերակների թողարկումները, վերահսկել փաթեթների համապատասխանությունը, միավորել անվանման և տարբերակման սխեմաները: , արդիական պահեք մետատեղեկատվությունը, կիսվեք կարկատաններով և խնդիրների լուծումներով և բարելավեք ծրագրաշարի տեղափոխելիությունը:
Աջակցվող պահոցների թիվը գերազանցել է 250-ը: Ավելացվել է Cygwin, distri, Homebrew Casks, նոր տեղադրման, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere-ի աջակցությունը: Antergos պահոցը, որը դադարեցրել է զարգացումը, հեռացվել է: GNU Guix-ի աջակցությունը հեռացվեց (Guix-ի վեբկայքում տեղի ունեցած փոփոխությունների պատճառով, որոնք անհնարին դարձրեցին վերլուծությունը) և ավելի ուշ վերադարձվեց (շնորհիվ Guix-ի՝ JSON ձևաչափով կանոնավոր մետատվյալների աղբարկղեր իրականացնելու շնորհիվ), և միևնույն ժամանակ բարելավվեց:
Պահեստների համար, ի լրումն փաթեթի անունի և տարբերակի, ներկայացվել է URL (հիմնական էջեր կամ բաշխման հղում) տրամադրելու պահանջ. այս տեղեկատվությունը թույլ է տալիս հուսալիորեն լուծել անվանման բազմաթիվ հակասությունները, որոնց բախվում է նախագիծը: Պահեստներ, ներկայումս չտրամադրելով նման տեղեկատվությունը նախատեսվում է ջնջել:
Ծրագրի ելակետային կոդի հիմնական պահոցը բաժանված է երկուսի (պահեստի տվյալների թարմացման դեյմոն և կայքի շահագործումն ապահովող վեբ հավելված), կոդում տիպային անոտացիաների իրականացումն ավարտված է (այժմ ծրագրի բոլոր ծածկագրերն աշխատում են mypy-ում: - խիստ) և PEP8-ի հետ համապատասխանեցում:
Ավելացված է աջակցություն ժառանգական տարբերակի մասնաճյուղերին: Օրինակ, այժմ Repology-ը կարող է հայտնել, որ PostgreSQL 11.2-ը հնացել է (քանի որ 11-րդ մասնաճյուղի վերջին տարբերակը 11.5-ն է), նույնիսկ եթե պահոցում կա ավելի նոր՝ 12.0 տարբերակ (նախկինում պահոցում ամենավերջինից ցածր բոլոր տարբերակները նշված էին որպես ժառանգություն։ և չէր կարող ունենալ հնացած կարգավիճակ): Այս առումով, նախկինում հիմնական տարբերակների բաժանված նախագծերի մեծ մասը (օրինակ՝ wxwidgets28/wxwidgets30) միավորվեցին։
Ավելացվեց զուգահեռ անհամատեղելի տարբերակների սխեմաներով նախագծերը ճիշտ մշակելու հնարավորություն: Օրինակ, FreeCAD- ը որոնցում 0.18.4-ը և 0.18.16146-ը համապատասխանում են մեկ թողարկման:
Վերամշակված ցանկ и առանձին էջեր սպասարկողներ - այժմ սպասարկողների վիճակագրությունը հավաքվում է առանձին ըստ պահեստի: Պրակտիկան ցույց է տվել, որ ներկայացուցչական ագրեգատ վիճակագրությունն անհնար է այն պատճառով, որ փաթեթները, պահպանելով մետատվյալներում պահպանողին, կարող են առանց նրա իմացության գաղթել այլ պահոցներ և փաստացի զրկելով նրան աջակցությունից (մինչ դա հնարավոր չէ ինքնաբերաբար հետևել): . Հետագայում դրանք կարող են հնանալ, և սխալ կլինի այս փաստը կապել սկզբնական պահպանողի հետ. դժգոհություն Gentoo-ի սպասարկիչները Funtoo-ի առկայության պատճառով, ըստ էության, իրենց կողմից չվերահսկվող Gentoo-ի պատառաքաղ է, որը պահպանում է տեղեկատվությունը սպասարկողների մասին: Վիճակագրությունը պահոցների հետ կապելը հնարավորություն տվեց լուծել այս խնդիրը, միևնույն ժամանակ սպասարկողների մասին տեղեկատվությունը դարձավ ավելի մանրամասն և կառուցվածքային:
Ավելացվեց փորձնական աջակցություն կրծքանշանի նոր տեսակ, որը բոլոր պահեստներում ընտրված նախագծերի տարբերակների մատրիցն է: Այս գործիքը օգտակար է, օրինակ, ընդհանուր պատկերացում կազմելու նախագծի (կամ պարզապես նախագծերի կամայական ցանկի) կարգավիճակի (փաթեթի առկայության, տարբերակի, դրա արդիականության և համապատասխանության վերաբերյալ) կախվածության մասին: Այս ֆունկցիոնալությունը պահանջվել է (և օգտագործվում է) PostGIS նախագծի կողմից:
Ծրագրի 404 էջերի բարելավված աջակցություն. մասնավորապես, եթե պահանջվող նախագիծը գոյություն չունի, բայց անունը նախկինում հանդիպել է (օրինակ, որպես փաթեթի անուն, որը նշանակվել է այլ անունով նախագծին), ապա օգտվողը առաջարկել է նախագծերի տարբերակներ, որոնք նա կարող է ունենալ մտքում, այսպես.այլաբանության էջեր» Վիքիպեդիա. Օրինակ.
Բարելավված ինտեգրումը Վիքիտվյալներ — ի լրումն տվյալների ներմուծման բարելավումների, իրականացվել և գործարկվել են բոտ, որը թարմացնում է ծրագրային տեղեկատվությունը Վիքիտվյալներում՝ օգտագործելով Repology-ի տվյալները։ Հիշենք, որ Վիքիտվյալներն աստիճանաբար դառնում են Վիքիպեդիայի կառուցվածքային տեղեկատվության հիմնական աղբյուրը (նորությունների համատեքստում՝ ծրագրային ապահովման մասին փաստեր, ինչպիսիք են տարբերակների պատմությունը, լիցենզիան, կայքը, աջակցվող ՕՀ, հեղինակը, տարբեր բաշխումների փաթեթներ և այլն), որը թույլ է տալիս պահպանել տվյալների համապատասխանությունը մեկ տեղում՝ յուրաքանչյուր նախագծի էջի տասնյակ տեղայնացված տարբերակների փոխարեն: Օրինակ, նախագծի քարտ Nginx Վիքիպեդիան տեղեկատվություն է հաղորդում միայն Վիքիտվյալներից։
Անցած վեց ամսվա ընթացքում ավելի քան 500 հարցումներ (հաշվետվություններ) մշակվել են կանոնները ավելացնելու/փոփոխելու համար՝ անհատական նախագծերն ավելի ճիշտ մշակելու համար:
Պահեստի վարկանիշ ըստ թարմ փաթեթների տոկոսի (միայն 1000 կամ ավելի փաթեթներ ունեցող պահեստների համար և չհաշված մոդուլների վերին հոսքի հավաքածուները, ինչպիսիք են CPAN, Hackage, PyPi).
Ռեյվենպորտս (99.16%)
Արք և ածանցյալներ (85.23%)
Homebrew (84.57%)
nix (84.55%)
Շերեփ (84.02%)
Ընդհանուր վիճակագրություն.
252 շտեմարան
180 հազար նախագիծ
2.3 միլիոն անհատական փաթեթ
36 հազ
Վերջին վեց ամսվա ընթացքում գրանցված 153 հազար թողարկում (վերջին ակնարկը պարունակում էր սխալ, նախորդ վեց ամիսների ընթացքում գրանցվել է 150 հազար թողարկում)
Հայտնի նախագծերի 9.5%-ը թողարկել է առնվազն մեկ նոր տարբերակ վերջին վեց ամսվա ընթացքում