Software Downloads
Download updates, patches and demo versions of our software products, as well as various 3rd party tools and utilities.
Memory Upgrades (CNC)
Conan: Repository Exclusive
This guide clarifies the concept of "exclusive" in the context of Conan repositories (remotes). Since Conan does not have a simple boolean flag called
exclusive, this guide interprets the request as how to force Conan to use a specific repository exclusively (ignoring others) or how to manage priority so one repository acts as the single source of truth.Here are the three scenarios covered in this guide:
- Global Exclusivity: Configuring Conan to look at only one remote.
- Package Exclusivity: Overriding a package from a public remote with a private, exclusive version.
- Strict Mode: Ensuring a package is consumed only from a specific remote.
Guide: Managing Exclusive Conan Repositories
Pitfall 1: The "Missing Package" Error
Symptom: Conan returns
ERROR: Missing binary: Package 'fmt/8.1.1' not found in remote 'my-private'. Cause: You markedfmt/*as exclusive tomy-private, but your private repo does not actually contain that package. Fix: Explicitly upload the missing package or adjust the exclusivity pattern. Useconan search "fmt/*" --remote=my-privateto verify existence.The Future: Package Recipes as Code
The Conan 2.0 era emphasizes "package revisions" and "recipe revisions." Your exclusive repository is no longer just a file server—it is a Git-like version control system for binaries. You can roll back to any build from six months ago.
Modern teams treat their Conan repository exclusive as immutable infrastructure. They use
conan workspaceto develop several packages simultaneously andconan graph build-orderto intelligently rebuild only what changed.Real-World Use Case: Multi-Team Microservices
Consider a large fintech company with three teams:
- Team Core: Maintains
crypto-lib(exclusive tocorp-core-repo) - Team Network: Maintains
http-parser(exclusive tocorp-net-repo) - Team App: Builds the final executable that depends on both.
Without exclusivity, Team App's
conan installmight pull an outdatedcrypto-libfrom a developer's local cache or a public mirror. With exclusivity configured:conan.conf for Team App:
[remotes_exclusive] corp-core-repo = crypto-lib/* corp-net-repo = http-parser/* conan-center = * # All other packages (zlib, openssl, etc.)Now, every build is deterministic. The
crypto-libalways comes from the core team's repository, and the networking library always comes from the network team's repository. No one can accidentally poison the build.6. Summary
When you see "Conan Repository Exclusive", it almost always refers to restricting the source of a package.
- For Public Users: It usually means trusting Conan Center as the single source of truth for OSS libraries.
- For Enterprise Users: It is a configuration setting (often within Artifactory or a
conanfile.pymethod) that ensures internal packages are pulled only from internal infrastructure, bypassing public lookup entirely.
In modern DevOps, managing C and C++ dependencies is notoriously challenging. Enter Conan, the open-source package manager that has revolutionized how developers handle C and C++ libraries. While public repositories like ConanCenter provide a vast ecosystem of open-source packages, enterprise environments often require something more controlled. This is where the concept of a Conan repository exclusive strategy comes into play. conan repository exclusive
By establishing an exclusive Conan repository, organizations can achieve unparalleled control over their supply chain, security, and build reproducibility. What is a Conan Repository?
A Conan repository is a server that hosts Conan packages. It stores the recipes (conanfile.py) and the binary packages generated for different configurations, operating systems, and compilers.
There are two main types of repositories in the Conan ecosystem:
Public Repositories: Central hubs like ConanCenter where the community shares open-source libraries.
Private/Remote Repositories: Self-hosted or managed servers used by organizations to host internal proprietary code and verified third-party binaries. Understanding the "Exclusive" Repository Strategy
An "exclusive" repository strategy means configuring your Conan client and CI/CD pipelines to resolve and fetch packages only from a specific, controlled set of private repositories.
In this setup, developers and build servers are restricted from reaching out directly to public repositories like ConanCenter. Instead, any allowed public package must first be vetted and hosted within the organization's internal infrastructure. Why Adopt a Conan Repository Exclusive Strategy?
Shifting to an exclusive repository model requires some initial setup, but the benefits for enterprise software development are massive. 🛡️ 1. Absolute Security and Compliance
Software supply chain attacks are on the rise. If your build system automatically pulls the latest version of a library from a public repository, you are vulnerable to compromised upstream packages. An exclusive repository acts as a firewall. You only host packages that have been scanned for vulnerabilities and license compliance. 📦 2. Guaranteed Build Reproducibility
Public repositories can change. A package might be removed, or a recipe might be updated, causing your builds to fail unexpectedly. By hosting all required packages exclusively on your own server, you ensure that a build run today will yield the exact same results five years from now. 🚀 3. Optimized Network and Build Speeds This guide clarifies the concept of "exclusive" in
Fetching large C++ binaries from external public repositories over the internet slows down CI/CD pipelines. An internal exclusive repository living on your local network or cloud intranet ensures lightning-fast download speeds, drastically reducing build times. 🔒 4. Protection of Proprietary IP
Organizations building closed-source software cannot upload their packages to public servers. Private, exclusive repositories allow teams to share compiled binaries across different departments and projects without exposing intellectual property to the public. How to Implement an Exclusive Repository Setup
Setting up an exclusive Conan repository workflow involves choosing the right backend and configuring your clients correctly. Step 1: Choose Your Repository Manager
To host your exclusive packages, you need a robust artifact repository manager. The most popular choices for Conan include:
JFrog Artifactory: The industry standard for Conan, offering native support, advanced replication, and security scanning (via JFrog Xray).
Inspur / Nexus: Often used via community plugins or custom setups.
Conan Server: A small, native open-source server included with Conan, ideal for small teams or testing. Step 2: Configure Conan Remotes
To enforce exclusivity, you must remove the default public remotes and add your private server. Run the following commands on your developer machines and CI/CD agents:
# Remove the default public ConanCenter remote conan remote remove conancenter # Add your exclusive internal repository conan remote add my-exclusive-repo https://artifactory.comUse code with caution. Step 3: Populate the RepositorySince you can no longer pull directly from the internet, you have two ways to get packages into your exclusive repository: Global Exclusivity: Configuring Conan to look at only
Manual Upload: Download verified packages from ConanCenter and upload them to your private repo.
Remote Repositories / Proxies: Use a tool like JFrog Artifactory to create a "remote repository" that proxies ConanCenter. You can configure it to cache requested packages and apply strict whitelist/blacklist filters, maintaining control while automating the fetch process. Best Practices for Managing Exclusive Repositories
To keep your exclusive repository healthy and efficient, follow these industry best practices:
Use Revisions: Always enable Conan revisions. This ensures that if a package recipe changes but keeps the same version number, Conan can still differentiate between the old and new binaries.
Automate Cleanup: C++ binaries are large. Implement retention policies to delete old, unused development binaries while locking down release binaries forever.
Promote Packages: Use a pipeline that promotes packages from a "dev" repository to a "testing" repository, and finally to a "release" repository only after passing rigorous automated tests. Conclusion
Adopting a Conan repository exclusive strategy is a definitive step toward mature DevOps for C and C++. It eliminates the unpredictability of public networks, secures your software supply chain, and accelerates your development lifecycle. While it requires upfront infrastructure and curation, the peace of mind and stability it brings to enterprise C++ environments are well worth the investment.
If you'd like to dive deeper into specific implementations, let me know:
Which artifact manager you plan to use (Artifactory, Nexus, etc.) Your preferred CI/CD tool (GitHub Actions, Jenkins, GitLab)
If you need help writing a secure conanfile.py for private consumption
I can provide tailored configurations and scripts based on your tech stack.
Great Utility for getting PCMCIA SRAM Cards to Work
Miscellaneous Utilities
A shareware utility that allows large file binary edits of files
Supports TCP/IP + COM port links for testing
Utility to Register DLL Files
A decent serial port monitor for the PC
Great free serial port tester from COMTROL (use with loopback to test all lines)
Really useful free HEX Editor
NCPrint Utility
The Fanuc FOCAS Tester is available for download on our website, run this to determine if FOCAS is installed on your machines. A user guide is attached inside the zip file called “FocasTester how to use.docx” or “FocasTesterhowtouse.pdf“