SlideShare a Scribd company logo
1 of 14
Download to read offline
Glibc Unicode and CLDRGlibc Unicode and CLDR
Pravin SatputePravin Satpute
Senior Software EngineerSenior Software Engineer
Globalization TeamGlobalization Team
Red HatRed Hat
AgendaAgenda
●
What was the problem?What was the problem?
●
Why so?Why so?
●
How we resolved issue?How we resolved issue?
● Analysis
● Development
●
Getting patch into upstreamGetting patch into upstream
●
Question and AnswersQuestion and Answers
What was the problem?What was the problem?
What was the problem?What was the problem?
● Updating Glibc localedata from Unicode 5.1 to
Unicode 7.0
● /usr/share/i18n/locales/i18n (LC_CTYPE)
● /usr/share/i18n/charmaps/UTF-8.gz
Why So?Why So?
What were the issues?What were the issues?
● No Documentation.
● Risk of missing backward compatibility.
● No expert.
How we resolved it?How we resolved it?
How we resolved it?How we resolved it?
AnalysisAnalysis
● Started gathering Changelog, Git logs for all changes
happened over the time. Specific fixes.
● Found hints, information written in Localedata files.
● Comments on Bugzilla
● Unicode source files providing raw information for Glibc
Localedata
● UnicodeData.txt
● DerivedCoreProperties.txt
● EastAsianWidth.txt
How we resolved it?How we resolved it?
Started with LC_CTYPE (i18n)Started with LC_CTYPE (i18n)
● Wrote script gen-unicode-ctype.py to update output
generated from gen-unicode-ctype.c
● Backward Compatiblity
● This script was comparing existing data with newly
generated and generating easy to understand report.
● Later Mike modify gen-unicode-ctype.py to deprecate
gen-unicode-ctype.c
● Repeated same process for UTF-8 charmap and WIDTH.
Patch prepared whatPatch prepared what
next?next?
Patch prepared what next?Patch prepared what next?
● Later Mike Fabian stepped into it.
● He reviewed scripts. Improved it.
● Glibc upstream further improved it.
● We proposed System wide change for Fedora 22
Patch prepared what next?Patch prepared what next?
● Patch got committed in upstream Feb last week.
● Collaborative work from Me, Mike Fabian,
Alexandre Oliva supported by Carlos and Jens
Petersen
● Users will get this update through Fedora 22 and
other upstream distros latest releases.
Questions??Questions??
ReferencesReferences
● https://github.com/pravins/glibc-i18n
● https://sourceware.org/bugzilla/show_bug.cgi?id=14094
● https://fedoraproject.org/wiki/Changes/Glibc_Unicode_7
● https://sourceware.org/git/?p=glibc.git;a=commit;h=4a4839c94a4c
93ffc0d5b95c69a08b02a57007f2

More Related Content

What's hot

Looking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdaysLooking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdaysKris Buytaert
 
I Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done WorkshopI Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done WorkshopApigee | Google Cloud
 
Build great products
Build great productsBuild great products
Build great productsAdam Culp
 
London Java Community 2016 - Testing with Spock: The logical choice
London Java Community 2016 - Testing with Spock: The logical choiceLondon Java Community 2016 - Testing with Spock: The logical choice
London Java Community 2016 - Testing with Spock: The logical choiceIván López Martín
 
How to get your talk accepted at Devoxx UK
How to get your talk accepted at Devoxx UKHow to get your talk accepted at Devoxx UK
How to get your talk accepted at Devoxx UKDaniel Bryant
 
What we can offer as Vappar
What we can offer as VapparWhat we can offer as Vappar
What we can offer as VapparUmairIftikhar19
 
RigaDevDay 2016 - Testing with Spock: The Logical Choice
RigaDevDay 2016 - Testing with Spock: The Logical ChoiceRigaDevDay 2016 - Testing with Spock: The Logical Choice
RigaDevDay 2016 - Testing with Spock: The Logical ChoiceIván López Martín
 
Pro Tools Tier 4 Music
Pro Tools Tier 4 MusicPro Tools Tier 4 Music
Pro Tools Tier 4 MusicShawn Stutler
 
Git for .Net Developers
Git for .Net DevelopersGit for .Net Developers
Git for .Net DevelopersPeteShearer
 
Using Go in DevOps
Using Go in DevOpsUsing Go in DevOps
Using Go in DevOpsEficode
 
Dead Zone (v1.1 in English for AgileEE 2013)
Dead Zone (v1.1 in English for AgileEE 2013)Dead Zone (v1.1 in English for AgileEE 2013)
Dead Zone (v1.1 in English for AgileEE 2013)Sergey Prokhorenko
 
Soil pollution activities
Soil pollution activitiesSoil pollution activities
Soil pollution activitiesSoils FAO-GSP
 
2017 06 rajab_rulla_portfolio
2017 06 rajab_rulla_portfolio2017 06 rajab_rulla_portfolio
2017 06 rajab_rulla_portfolioRulla Rajab
 
Tales from the Workshops
Tales from the WorkshopsTales from the Workshops
Tales from the WorkshopsRussel Winder
 
Strategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves KotlinStrategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves KotlinMarco Fracassi
 
Relay baton - Good example of one piece continous flow
Relay baton - Good example of one piece continous flowRelay baton - Good example of one piece continous flow
Relay baton - Good example of one piece continous flowTomas Rybing
 
Gil - the responsible to unable paralellism
Gil - the responsible to unable paralellismGil - the responsible to unable paralellism
Gil - the responsible to unable paralellismGeison Goes
 

What's hot (20)

Looking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdaysLooking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdays
 
I Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done WorkshopI Love APIs 2015: Getting **IT Done Workshop
I Love APIs 2015: Getting **IT Done Workshop
 
Build great products
Build great productsBuild great products
Build great products
 
London Java Community 2016 - Testing with Spock: The logical choice
London Java Community 2016 - Testing with Spock: The logical choiceLondon Java Community 2016 - Testing with Spock: The logical choice
London Java Community 2016 - Testing with Spock: The logical choice
 
How to get your talk accepted at Devoxx UK
How to get your talk accepted at Devoxx UKHow to get your talk accepted at Devoxx UK
How to get your talk accepted at Devoxx UK
 
What we can offer as Vappar
What we can offer as VapparWhat we can offer as Vappar
What we can offer as Vappar
 
RigaDevDay 2016 - Testing with Spock: The Logical Choice
RigaDevDay 2016 - Testing with Spock: The Logical ChoiceRigaDevDay 2016 - Testing with Spock: The Logical Choice
RigaDevDay 2016 - Testing with Spock: The Logical Choice
 
Pro Tools Tier 4 Music
Pro Tools Tier 4 MusicPro Tools Tier 4 Music
Pro Tools Tier 4 Music
 
Git for .Net Developers
Git for .Net DevelopersGit for .Net Developers
Git for .Net Developers
 
Using Go in DevOps
Using Go in DevOpsUsing Go in DevOps
Using Go in DevOps
 
Dead Zone (v1.1 in English for AgileEE 2013)
Dead Zone (v1.1 in English for AgileEE 2013)Dead Zone (v1.1 in English for AgileEE 2013)
Dead Zone (v1.1 in English for AgileEE 2013)
 
Soil pollution activities
Soil pollution activitiesSoil pollution activities
Soil pollution activities
 
Mobile design system in Figma for Kiwi.com
Mobile design system in Figma for Kiwi.comMobile design system in Figma for Kiwi.com
Mobile design system in Figma for Kiwi.com
 
2017 06 rajab_rulla_portfolio
2017 06 rajab_rulla_portfolio2017 06 rajab_rulla_portfolio
2017 06 rajab_rulla_portfolio
 
Tales from the Workshops
Tales from the WorkshopsTales from the Workshops
Tales from the Workshops
 
Strategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves KotlinStrategie di testing: Spring Boot loves Kotlin
Strategie di testing: Spring Boot loves Kotlin
 
iRail at hack democracy
iRail at hack democracyiRail at hack democracy
iRail at hack democracy
 
Relay baton - Good example of one piece continous flow
Relay baton - Good example of one piece continous flowRelay baton - Good example of one piece continous flow
Relay baton - Good example of one piece continous flow
 
plone.api
plone.apiplone.api
plone.api
 
Gil - the responsible to unable paralellism
Gil - the responsible to unable paralellismGil - the responsible to unable paralellism
Gil - the responsible to unable paralellism
 

Similar to Pravin s glibc-unicode_and_cldr

Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageRan Levy
 
Nightmare on Docker street
Nightmare on Docker streetNightmare on Docker street
Nightmare on Docker streetKris Buytaert
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSSKirk Kimmel
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Polar talks: code generation
Polar talks: code generationPolar talks: code generation
Polar talks: code generationStojan Peshov
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019 Kris Buytaert
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015Alex Chistyakov
 
Build your own low latency live platform
Build your own low latency live platformBuild your own low latency live platform
Build your own low latency live platformJordi Cenzano
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite EditionKris Buytaert
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertMykola Marzhan
 
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSKris Buytaert
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingKnoldus Inc.
 
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraformSFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraformSouth Tyrol Free Software Conference
 
Get your FLOSS problems solved
Get your FLOSS problems solvedGet your FLOSS problems solved
Get your FLOSS problems solvedRex Tsai
 
Container Patching: Cloud Native Security Con 2023
Container Patching: Cloud Native Security Con 2023Container Patching: Cloud Native Security Con 2023
Container Patching: Cloud Native Security Con 2023Greg Castle
 
Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)Lorna Mitchell
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops effortsKris Buytaert
 

Similar to Pravin s glibc-unicode_and_cldr (20)

Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritage
 
Nightmare on Docker street
Nightmare on Docker streetNightmare on Docker street
Nightmare on Docker street
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSS
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Polar talks: code generation
Polar talks: code generationPolar talks: code generation
Polar talks: code generation
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015
 
Build your own low latency live platform
Build your own low latency live platformBuild your own low latency live platform
Build your own low latency live platform
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Write in Go
Write in GoWrite in Go
Write in Go
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraformSFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
 
Get your FLOSS problems solved
Get your FLOSS problems solvedGet your FLOSS problems solved
Get your FLOSS problems solved
 
Container Patching: Cloud Native Security Con 2023
Container Patching: Cloud Native Security Con 2023Container Patching: Cloud Native Security Con 2023
Container Patching: Cloud Native Security Con 2023
 
Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)Passing the Joel Test in the PHP World (phpbnl10)
Passing the Joel Test in the PHP World (phpbnl10)
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops efforts
 

More from Pravin Satpute

Globalization autdi for Fedora Atomic
Globalization autdi for Fedora AtomicGlobalization autdi for Fedora Atomic
Globalization autdi for Fedora AtomicPravin Satpute
 
Development activities - Fedora globalization DevConf CZ 2016
Development activities - Fedora globalization  DevConf CZ 2016Development activities - Fedora globalization  DevConf CZ 2016
Development activities - Fedora globalization DevConf CZ 2016Pravin Satpute
 
Fedora globalization - Road ahead
Fedora globalization - Road aheadFedora globalization - Road ahead
Fedora globalization - Road aheadPravin Satpute
 
Fedora Globalization status and discussion
Fedora Globalization status and discussionFedora Globalization status and discussion
Fedora Globalization status and discussionPravin Satpute
 
Basics of-foss-fedora-introduction
Basics of-foss-fedora-introductionBasics of-foss-fedora-introduction
Basics of-foss-fedora-introductionPravin Satpute
 
Introduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.NextIntroduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.NextPravin Satpute
 
Lohit2 : Project to create reusable OpenType tables for complex script fonts
Lohit2 : Project to create reusable OpenType tables for complex script fontsLohit2 : Project to create reusable OpenType tables for complex script fonts
Lohit2 : Project to create reusable OpenType tables for complex script fontsPravin Satpute
 
Why globalization? World wide picture
Why globalization? World wide pictureWhy globalization? World wide picture
Why globalization? World wide picturePravin Satpute
 

More from Pravin Satpute (12)

Fedora 29 features
Fedora 29 featuresFedora 29 features
Fedora 29 features
 
Fedora 28 changes
Fedora 28 changesFedora 28 changes
Fedora 28 changes
 
Flock 2017-g11n
Flock 2017-g11nFlock 2017-g11n
Flock 2017-g11n
 
Globalization autdi for Fedora Atomic
Globalization autdi for Fedora AtomicGlobalization autdi for Fedora Atomic
Globalization autdi for Fedora Atomic
 
Development activities - Fedora globalization DevConf CZ 2016
Development activities - Fedora globalization  DevConf CZ 2016Development activities - Fedora globalization  DevConf CZ 2016
Development activities - Fedora globalization DevConf CZ 2016
 
Fedora globalization - Road ahead
Fedora globalization - Road aheadFedora globalization - Road ahead
Fedora globalization - Road ahead
 
Fedora Globalization status and discussion
Fedora Globalization status and discussionFedora Globalization status and discussion
Fedora Globalization status and discussion
 
How to-contribute
How to-contributeHow to-contribute
How to-contribute
 
Basics of-foss-fedora-introduction
Basics of-foss-fedora-introductionBasics of-foss-fedora-introduction
Basics of-foss-fedora-introduction
 
Introduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.NextIntroduction to Fedora project and Fedora.Next
Introduction to Fedora project and Fedora.Next
 
Lohit2 : Project to create reusable OpenType tables for complex script fonts
Lohit2 : Project to create reusable OpenType tables for complex script fontsLohit2 : Project to create reusable OpenType tables for complex script fonts
Lohit2 : Project to create reusable OpenType tables for complex script fonts
 
Why globalization? World wide picture
Why globalization? World wide pictureWhy globalization? World wide picture
Why globalization? World wide picture
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Pravin s glibc-unicode_and_cldr

  • 1. Glibc Unicode and CLDRGlibc Unicode and CLDR Pravin SatputePravin Satpute Senior Software EngineerSenior Software Engineer Globalization TeamGlobalization Team Red HatRed Hat
  • 2. AgendaAgenda ● What was the problem?What was the problem? ● Why so?Why so? ● How we resolved issue?How we resolved issue? ● Analysis ● Development ● Getting patch into upstreamGetting patch into upstream ● Question and AnswersQuestion and Answers
  • 3. What was the problem?What was the problem?
  • 4. What was the problem?What was the problem? ● Updating Glibc localedata from Unicode 5.1 to Unicode 7.0 ● /usr/share/i18n/locales/i18n (LC_CTYPE) ● /usr/share/i18n/charmaps/UTF-8.gz
  • 6. What were the issues?What were the issues? ● No Documentation. ● Risk of missing backward compatibility. ● No expert.
  • 7. How we resolved it?How we resolved it?
  • 8. How we resolved it?How we resolved it? AnalysisAnalysis ● Started gathering Changelog, Git logs for all changes happened over the time. Specific fixes. ● Found hints, information written in Localedata files. ● Comments on Bugzilla ● Unicode source files providing raw information for Glibc Localedata ● UnicodeData.txt ● DerivedCoreProperties.txt ● EastAsianWidth.txt
  • 9. How we resolved it?How we resolved it? Started with LC_CTYPE (i18n)Started with LC_CTYPE (i18n) ● Wrote script gen-unicode-ctype.py to update output generated from gen-unicode-ctype.c ● Backward Compatiblity ● This script was comparing existing data with newly generated and generating easy to understand report. ● Later Mike modify gen-unicode-ctype.py to deprecate gen-unicode-ctype.c ● Repeated same process for UTF-8 charmap and WIDTH.
  • 10. Patch prepared whatPatch prepared what next?next?
  • 11. Patch prepared what next?Patch prepared what next? ● Later Mike Fabian stepped into it. ● He reviewed scripts. Improved it. ● Glibc upstream further improved it. ● We proposed System wide change for Fedora 22
  • 12. Patch prepared what next?Patch prepared what next? ● Patch got committed in upstream Feb last week. ● Collaborative work from Me, Mike Fabian, Alexandre Oliva supported by Carlos and Jens Petersen ● Users will get this update through Fedora 22 and other upstream distros latest releases.
  • 14. ReferencesReferences ● https://github.com/pravins/glibc-i18n ● https://sourceware.org/bugzilla/show_bug.cgi?id=14094 ● https://fedoraproject.org/wiki/Changes/Glibc_Unicode_7 ● https://sourceware.org/git/?p=glibc.git;a=commit;h=4a4839c94a4c 93ffc0d5b95c69a08b02a57007f2