Unified Source Code Package for Multi-Program Build Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software maintenance becomes cumbersome due to separate packages for functionally different programs that share significant source code, requiring unnecessary propagation of fixes and updates across multiple packages.

Innovation Solution

A method and system that creates build-result packages for functionally different programs from a single source code package, allowing updates to be propagated and re-created efficiently across both programs, simplifying maintenance by storing and updating shared source code in a unified package.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If source code of functionally different programs is maintained in separate packages, then each program can be independently managed, but maintenance workload increases when fixes or updates need to be propagated across multiple packages

Engineering Contradiction:
ImproveIndependent program managementVSAvoidMaintenance efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent combines source code of functionally different programs into a single source code package, allowing shared code to be maintained in one location. When fixes or updates are needed, they propagate automatically to all programs using the shared code, eliminating redundant maintenance work while preserving functional independence through build-time configuration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal source code package that serves multiple functional programs simultaneously. The single source code package can generate build-result packages for different programs based on build configuration parameters, making the source code infrastructure multi-functional and adaptable to various program requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of manufacture

If source code of different operating system versions is combined into a single package, then source code maintenance is simplified, but the complexity of managing version-specific configurations increases

Engineering Contradiction:
ImproveSource code maintenanceVSAvoidConfiguration management complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent segments the source code package into distinct functional components with clear boundaries. Each program or version-specific portion is organized as a separate module or directory within the unified package, allowing maintainers to work on specific segments without affecting others, while the build system handles version-specific configurations through parameterized builds.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If separate build-result packages are created for each program, then each program has its own dedicated package, but updates must be propagated to multiple packages increasing workload

Engineering Contradiction:
ImproveProgram-specific package managementVSAvoidUpdate propagation time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-organizing the source code into a unified structure with clearly defined program boundaries and shared components. Build configuration files are prepared in advance to specify which programs should be built from the source code package. When updates occur, the pre-configured build system automatically rebuilds only the affected programs, eliminating manual update propagation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9081646B2Building packages of functionally different programs from source code of a single program
Publication Date: 2015.07.14 RED HAT INC
  • US9081646B2 patent drawing
  • US9081646B2 patent drawing
  • US9081646B2 patent drawing

AI summary

Build-result packages are created for functionally different programs from a source code package of a single program.