CN117369865B - GNU linux universal application program packaging method and graphical application packer - Google Patents
GNU linux universal application program packaging method and graphical application packer Download PDFInfo
- Publication number
- CN117369865B CN117369865B CN202311669092.8A CN202311669092A CN117369865B CN 117369865 B CN117369865 B CN 117369865B CN 202311669092 A CN202311669092 A CN 202311669092A CN 117369865 B CN117369865 B CN 117369865B
- Authority
- CN
- China
- Prior art keywords
- file
- dependency
- packaging
- application program
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004806 packaging method and process Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 46
- 230000003068 static effect Effects 0.000 claims abstract description 35
- 230000001419 dependent effect Effects 0.000 claims abstract description 26
- 230000002452 interceptive effect Effects 0.000 claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 15
- 238000012856 packing Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000012858 packaging process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
The invention provides a GNU linux universal application program packaging method and a graphical application packer, which comprise the following steps: s1, carrying out static dependency analysis on an application program to be packaged based on an ELF file; s2, performing running state dependency analysis on the application program to be packaged by establishing a communication sub-node in the process space; s3, completing the rapth path assignment of the application dependent file through the graphical interactive interface; s4, constructing an interface layer for the squarhfs file, realizing real-time display of the packing progress on the graphical interactive interface and terminating the packing function; s5, completing information filling in the graphical interaction interface and starting packaging until completion or termination. The invention can solve the problem of application program dependence analysis, can specify a dependence library path, can display the whole packing process, and can graphically operate.
Description
Technical Field
The invention belongs to the technical field of computers, and particularly relates to a general application program packaging method for GNU linux and a graphical application packer.
Background
The release line versions of the GNU linux are numerous, application packaging modes of all versions are different, the same application program needs to run on different release boards, the packaging party can install and use the application program according to the requirements of each release board, and the packaging of the application program is basically completed through a terminal command line, so that the graphical operability is not realized, the popularization and the use of the application program in the different release line versions of the GNU linux are not facilitated, and the packaging operation of the application program by a novice user is inconvenient.
At present, an application packaging mode which can be operated on release line versions of different GNU linux is AppImage, and the packaging mode needs to be operated through a terminal command line, has no graphical operation interface, and is inconvenient for novice users to use; the application program dependency analysis collection function is not provided, and a user is required to carry out application dependency analysis through other tools so as to complete application packaging; the progress of application degree packaging is not displayed, and as the software package in the AppImage format is generally larger, the packaging time is longer, if the progress is not displayed, the illusion of system blocking is brought to a user; no modification of rpath is provided, and when the packaged application does not depend on the underlying library of the system and needs to rely on the packaged library file, the dependency path needs to be specified, which would otherwise cause the application to fail to run on a different release plate.
Disclosure of Invention
The invention aims to provide a GNU linux universal application program packaging method and a graphical application packaging device, which can solve the problem of application program dependence analysis, can specify a dependence library path, can display the whole packaging process and can perform graphical operation.
In order to achieve the above object, the technical scheme of the present invention is as follows:
a GNU linux universal application program packaging method comprises the following steps:
s1, carrying out static dependency analysis on an application program to be packaged based on an ELF file, displaying a static dependency relationship through a graphical interactive interface, and providing a export interface to export to a catalog of the application program to be packaged;
s2, performing running state dependency analysis on the application program to be packaged by establishing a communication sub-node in a process space, displaying the running state dependency relationship through a graphical interactive interface, and providing an export interface to export to a catalog where the application program to be packaged is located;
s3, completing the rapth path assignment of the application dependent file through the graphical interactive interface;
s4, constructing an interface layer for the squarhfs file, using the inside of the context package, judging the package integrity by checking a symbol table of the generated ELF file, and realizing the real-time display of the package progress on the graphical interactive interface and terminating the package function;
s5, completing information filling in the graphical interaction interface and starting packaging until completion or termination.
Further, the process of static dependency analysis in step S1 includes:
s101, reading an ELF file of an application program to be packaged, capturing the seed information of the ELF file, and obtaining the file name of a directly-dependent dependency library;
s102, acquiring a full path of a dependent library file by inquiring a custom path or a default ld.so.cache of a system based on the name of the dependent library file;
s103, recursively acquiring information of all the dependency libraries of all ELF files in the application program catalogs to be packaged through a breadth-based traversal algorithm, merging library files, performing deduplication by adopting a set, acquiring all the dependency library catalogs, and obtaining all static dependencies of the application programs to be packaged.
Further, the process of the operation state dependency analysis in step S2 includes:
s201, expanding kernel procfs, and establishing a child node which communicates with the outside of the kernel in a process node;
s202, when a dependency library file required by a process is loaded by an out-of-core loader, writing an original and real file information pair of the dependency library file into the child node;
s203, establishing a dependency file tree relation in the running process based on the original and real file information of the dependency library file written into the child node.
Further, the step S4 specifically includes:
s401, in a graphical interactive interface program, constructing an interface layer for a squarhfs file, defining a set of state machine for visual progress and interruptible package cancellation, wherein the method comprises the following steps: creating a context, creating a squarhfs file, acquiring a packaging processing progress, interrupting to cancel packaging, and destroying the context;
s402, packaging the internal state based on the context, and then checking the GLOBAL type variable in the symbol table in the ELF file to make complete packaging judgment, so that re-entry use during multi-threading of the host program is realized, and real-time display of packaging progress is realized.
The invention also provides a graphical application packer universal for GNU linux, which comprises the following components: the system comprises a graphical interaction interface, a static analysis module, a runtime analysis module, a rapth setting module and an application packaging module, wherein the static analysis module, the runtime analysis module, the rapth setting module and the application packaging module are associated with the graphical interaction interface;
static analysis module: based on the ELF file, carrying out static dependency analysis on the application program to be packaged, displaying a static dependency relationship through a graphical interactive interface, and providing a export interface to export to a catalog of the application program to be packaged;
and a runtime analysis module: through establishing a communication sub-node in a process space, running state dependency analysis is carried out on the application program to be packaged, the running state dependency relationship is displayed through a graphical interaction interface, and an export interface is provided for export to a catalog where the application program to be packaged is located;
a rapth setting module: completing the rapth path specification of the application dependent file through the graphical interactive interface;
and (5) an application packaging module: an interface layer is built for the squarfs file, the inside of a context package is used, the integrity of the package is judged by checking a symbol table of the generated ELF file, and the real-time display of the packaging progress on a graphical interactive interface and the packaging terminating function are realized;
graphical interaction interface: and completing information filling and starting packaging in the graphical interactive interface until completing or ending.
Further, the static analysis module includes:
a reading unit: reading an ELF file of an application program to be packaged, capturing the seed information of the ELF file, and obtaining the file name of a directly-dependent dependency library;
query unit: acquiring a full path of a dependent library file by inquiring a custom path or a system default ld.so.cache based on the name of the dependent library file;
traversing the duplicate removal unit: and recursively acquiring information of all the dependency libraries of all ELF files in the application program catalogue to be packaged through a breadth-based traversal algorithm, merging library files, performing deduplication by adopting a set, acquiring all the dependency library catalogue, and acquiring all static dependencies of the application program to be packaged.
Further, the runtime analysis module includes:
a child node establishing unit: expanding the kernel procfs, and establishing a child node which communicates with the outside of the kernel in the process node;
an out-of-core loading unit: when the dependency library file needed by the process is loaded by the out-of-core loader, writing the original and real file information pairs of the dependency library file into the child nodes;
relationship establishment unit: and establishing a dependency file tree relation in the running process based on the original and real file information of the dependency library file written into the child node.
Further, the application packaging module includes:
interface layer unit: an interface layer is built for a squarhfs file, a set of state machines for visual progress and interruptible unpacking is defined, and the method comprises the following steps: creating a context, creating a squarhfs file, acquiring a packaging processing progress, interrupting to cancel packaging, and destroying the context;
reentrant usage unit: based on the encapsulation of the context to the internal state, the encapsulation is completely judged by checking the GLOBAL type variable in the symbol table in the ELF file, and the reentrant use in the multi-thread process of the host program is realized, so that the real-time display of the packing progress is realized.
The invention also provides a computer readable storage medium, wherein the storage medium stores a computer program, and the computer program is used for executing the GNU linux universal application program packaging method.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention can complete the whole process of application program packaging in a graphical interaction mode;
2. the invention can provide a dependency analysis and collection function, directly carry out the static and running state dependency analysis of the application program without other tools, display the dependency relationship through a graphical interaction interface and select the dependency information for export, and finish application packaging;
3. the invention provides rpath setting function, which ensures that the packaged application program can find out correct dependent files after being installed on a target operating system, and the application program can normally run;
4. the invention solves the problem that the squarfs tool mksquashfs can not realize safe call by a host program, and can display the packing process of the squarfs file and the function of stopping the application program packing and rollback in the middle of packing in real time.
Drawings
FIG. 1 is a diagram of a static analysis interface for an application packager graphical interactive interface according to a first embodiment of the present invention;
FIG. 2 is a runtime analysis interface diagram of an application packager graphical interactive interface of a first embodiment of the present invention;
fig. 3 is a real-time display diagram of an application packaging process of an application packager graphical interactive interface according to a first embodiment of the present invention.
Detailed Description
It should be noted that, without conflict, the embodiments of the present invention and features of the embodiments may be combined with each other.
The invention has the design concept that the dependency information of the application program is displayed in a graphical mode and exported to the catalog of the application to be packaged, the rpath path and related application information such as authors, contact ways, application introduction, installation paths, application icons and the like are filled in through an interactive interface, the whole packaging process is displayed in real time, the functions of desktop shortcut, menu display starting, application unloading and the like are integrated, and the GNU linux universal packaging device which can analyze the application program dependency, can assign a dependency library path, display packaging progress and can perform graphical operation is realized.
Embodiment one:
in a first embodiment, a design scheme of a graphical application packer and a packing method thereof are provided.
The graphical application packer comprises a graphical interaction interface, a static analysis module, a runtime analysis module, a rapth setting module and an application packing module, wherein the static analysis module, the runtime analysis module, the rapth setting module and the application packing module are associated with the graphical interaction interface.
1. Dependency analysis:
the application program to be packaged can be in a running state or a static state, so that the interface diagrams of the static analysis module and the running analysis module for generating the dependency information of the application program to be packaged are shown in fig. 1 and 2;
in the static analysis module, for a static state application program to be packaged, acquiring the seed information of an analyzed ELF file by reading the ELF file of the static state application program to be packaged, and acquiring the library file name directly relied on by the file; acquiring a full path of a dependent library file by inquiring a custom path or a system default ld.so.cache based on the library file name; recursively acquiring information of all the dependency libraries through a breadth-wise traversal algorithm, merging library files, performing deduplication by adopting a set, acquiring all file dependency library catalogs, and acquiring all static dependencies of an application program to be packaged; the analysis process of the breadth-wise traversal algorithm is to acquire a dependency library B.so through the A file, and acquire a dependency library C.so of the B.so until no dependency exists; all directories of the ELF file dependency library in the static program directory to be packaged are obtained through the steps; and graphically displaying all the dependency information, each of which can be exported by the export function button.
For a running application program to be packaged, a process dependency file needs to be obtained by reading a process space. However, when the process space loads the dependent file, the file name information of the dependent file is only maintained by open and mmap, but not the "file name" in the dynamic segment of the ELF file corresponding to the process, that is, if the latter is a soft link name, the "real file name" of the dependent file in the process space cannot be corresponding to the dynamic segment of the ELF file, and because of the existence of the non-correspondence, the tree relationship between the process dependent files cannot be obtained accurately. In the running analysis module, a sub-node which can communicate with outside of the core is established in a process node by expanding the procfs of the core, and when a dependency library file required by a process is loaded by an outside-core loader with corresponding functions, the original and real file information pairs of the dependency library file are written into the sub-node, so that the corresponding relation of the dependency file is maintained in a running process space of the corresponding process, and the dependency file tree relation in running is established. By this scheme, on one hand, backward compatibility (all communication is based on extended child nodes) with other cores and out-of-core loaders without the function is maintained; on the other hand, the life cycle of the child node is expanded and is constrained by the life cycle of the process, and the importance is that the complexity of management is reduced by the determined boundary, so that the full life cycle states of creation, work, extinction and the like of each process are ensured to be unchanged from the prior art, and the normal of the whole system is finally ensured. According to the ID information of the application program process to be packaged, a process dictionary table is generated, the dictionary table is converted into a process tree, the upper and lower relationships of the process are analyzed, the process is graphically displayed on a dependency analysis interface, all the dependency information of the process is graphically displayed on each process, and each process dependency information column is provided with a function-leading-out button.
Whether the static analysis module or the operation analysis module, the user can select the dependency information to be contained according to the condition of the operating system of the application target operation, and export the dependency information to the catalog of the application program to be packaged.
2. Specifying rpath path:
the rapth setting module finishes the rapth path assignment of the application dependent file through the graphical interaction interface according to the information such as the dependent library and the like on which the application is required to run, so as to ensure that the packaged application can find the correct dependent file after being installed on the target operating system, and the application can run normally.
3. The application packages and provides real-time progress information:
and finishing information filling and starting packaging. For the squarfs file, the squarfs tool mksquashfs related code is called by a host program, and the root of the problems is that the original design of the mksquashfs is that the application program cannot call to display the packing progress in real time. In order to realize the packaging process of displaying the squarhfs file in real time, the invention constructs a new interface layer in the application packaging module, defines a set of state machine for visual progress and interruptible package cancellation, and comprises the following steps: creating a context, creating a squarhfs file, acquiring a packaging processing progress, interrupting and canceling packaging, destroying the context and the like, packaging the internal state based on the context, and then judging the complete packaging by checking a GLOBAL type variable in a symbol table in an ELF file to realize re-entry use when the host program is multithreaded so as to meet the multithreading requirement, thereby realizing the functions of real-time display of the packaging progress, packaging desktop shortcuts, starting menu display, application unloading and the like, and ending the packaging and rollback of the application program in the middle of packaging. An interface diagram of a real-time display of the application packaging module of the present invention is shown in fig. 3.
Embodiment two:
the second embodiment of the present invention also provides a storage medium containing computer-executable instructions, which when executed by a computer processor, are used to perform the packaging method as provided in the first embodiment described above.
The computer storage media of embodiments of the invention may take the form of any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The above embodiments are merely preferred embodiments of the present invention and are not intended to limit the present invention, and any modifications, equivalent substitutions, improvements, etc. within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (7)
1. A method for packaging an application program commonly used by GNU linux, comprising:
s1, carrying out static dependency analysis on an application program to be packaged based on an ELF file, displaying a static dependency relationship through a graphical interactive interface, and providing a export interface to export to a catalog of the application program to be packaged;
s2, performing running state dependency analysis on the application program to be packaged by establishing a communication sub-node in a process space, displaying the running state dependency relationship through a graphical interactive interface, and providing an export interface to export to a catalog where the application program to be packaged is located;
s3, completing the rapth path assignment of the application dependent file through the graphical interactive interface;
s4, constructing an interface layer for the squarhfs file, using the inside of the context package, judging the package integrity by checking a symbol table of the generated ELF file, and realizing the real-time display of the package progress on the graphical interactive interface and terminating the package function;
s5, completing information filling and starting packaging in the graphical interactive interface until completing or ending;
the process of the operation state dependency analysis in step S2 includes:
s201, expanding kernel procfs, and establishing a child node which communicates with the outside of the kernel in a process node;
s202, when a dependency library file required by a process is loaded by an out-of-core loader, writing an original and real file information pair of the dependency library file into the child node;
s203, establishing a dependency file tree relation in the running process based on the original and real file information of the dependency library file written into the child node.
2. The method for packaging applications commonly used in GNU linux according to claim 1, wherein the static dependency analysis in step S1 includes:
s101, reading an ELF file of an application program to be packaged, capturing the seed information of the ELF file, and obtaining the file name of a directly-dependent dependency library;
s102, acquiring a full path of a dependent library file by inquiring a custom path or a default ld.so.cache of a system based on the name of the dependent library file;
s103, recursively acquiring information of all the dependency libraries of all ELF files in the application program catalogs to be packaged through a breadth-based traversal algorithm, merging library files, performing deduplication by adopting a set, acquiring all the dependency library catalogs, and obtaining all static dependencies of the application programs to be packaged.
3. The application program packaging method for GNU linux according to claim 1, wherein step S4 specifically includes:
s401, in a graphical interactive interface program, constructing an interface layer for a squarhfs file, defining a set of state machine for visual progress and interruptible package cancellation, wherein the method comprises the following steps: creating a context, creating a squarhfs file, acquiring a packaging processing progress, interrupting to cancel packaging, and destroying the context;
s402, packaging the internal state based on the context, and then checking the GLOBAL type variable in the symbol table in the ELF file to make complete packaging judgment, so that re-entry use during multi-threading of the host program is realized, and real-time display of packaging progress is realized.
4. A graphics application packager for GNU linux, comprising: the system comprises a graphical interaction interface, a static analysis module, a runtime analysis module, a rapth setting module and an application packaging module, wherein the static analysis module, the runtime analysis module, the rapth setting module and the application packaging module are associated with the graphical interaction interface;
static analysis module: based on the ELF file, carrying out static dependency analysis on the application program to be packaged, displaying a static dependency relationship through a graphical interactive interface, and providing a export interface to export to a catalog of the application program to be packaged;
and a runtime analysis module: through establishing a communication sub-node in a process space, running state dependency analysis is carried out on the application program to be packaged, the running state dependency relationship is displayed through a graphical interaction interface, and an export interface is provided for export to a catalog where the application program to be packaged is located;
a rapth setting module: completing the rapth path specification of the application dependent file through the graphical interactive interface;
and (5) an application packaging module: an interface layer is built for the squarfs file, the inside of a context package is used, the integrity of the package is judged by checking a symbol table of the generated ELF file, and the real-time display of the packaging progress on a graphical interactive interface and the packaging terminating function are realized;
graphical interaction interface: completing information filling and starting packaging in a graphical interactive interface until completing or ending;
the runtime analysis module includes:
a child node establishing unit: expanding the kernel procfs, and establishing a child node which communicates with the outside of the kernel in the process node;
an out-of-core loading unit: when the dependency library file needed by the process is loaded by the out-of-core loader, writing the original and real file information pairs of the dependency library file into the child nodes;
relationship establishment unit: and establishing a dependency file tree relation in the running process based on the original and real file information of the dependency library file written into the child node.
5. The GNU linux universal graphics application packager of claim 4, wherein the static analysis module comprises:
a reading unit: reading an ELF file of an application program to be packaged, capturing the seed information of the ELF file, and obtaining the file name of a directly-dependent dependency library;
query unit: acquiring a full path of a dependent library file by inquiring a custom path or a system default ld.so.cache based on the name of the dependent library file;
traversing the duplicate removal unit: and recursively acquiring information of all the dependency libraries of all ELF files in the application program catalogue to be packaged through a breadth-based traversal algorithm, merging library files, performing deduplication by adopting a set, acquiring all the dependency library catalogue, and acquiring all static dependencies of the application program to be packaged.
6. The GNU linux universal graphics application packager of claim 4, wherein the application packaging module comprises:
interface layer unit: an interface layer is built for a squarhfs file, a set of state machines for visual progress and interruptible unpacking is defined, and the method comprises the following steps: creating a context, creating a squarhfs file, acquiring a packaging processing progress, interrupting to cancel packaging, and destroying the context;
reentrant usage unit: based on the encapsulation of the context to the internal state, the encapsulation is completely judged by checking the GLOBAL type variable in the symbol table in the ELF file, and the reentrant use in the multi-thread process of the host program is realized, so that the real-time display of the packing progress is realized.
7. A computer-readable storage medium, characterized in that the storage medium stores a computer program for executing the GNU linux universal application packaging method of any of claims 1-3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311669092.8A CN117369865B (en) | 2023-12-07 | 2023-12-07 | GNU linux universal application program packaging method and graphical application packer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311669092.8A CN117369865B (en) | 2023-12-07 | 2023-12-07 | GNU linux universal application program packaging method and graphical application packer |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117369865A CN117369865A (en) | 2024-01-09 |
CN117369865B true CN117369865B (en) | 2024-04-05 |
Family
ID=89394800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311669092.8A Active CN117369865B (en) | 2023-12-07 | 2023-12-07 | GNU linux universal application program packaging method and graphical application packer |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117369865B (en) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462352A (en) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | Data packing method and device |
KR101513662B1 (en) * | 2014-10-07 | 2015-04-20 | 충남대학교산학협력단 | Search system and method of executable GUI |
CN107391528A (en) * | 2016-03-30 | 2017-11-24 | 阿里巴巴集团控股有限公司 | Front end assemblies Dependency Specification searching method and equipment |
WO2019153829A1 (en) * | 2018-02-12 | 2019-08-15 | 人和未来生物科技(长沙)有限公司 | Method and system for rapid generation of container dockerfile and container mirror image |
CN110347398A (en) * | 2018-04-08 | 2019-10-18 | 阿里巴巴集团控股有限公司 | A kind of packaging method and device of application program |
CN110865888A (en) * | 2019-11-28 | 2020-03-06 | 米哈游科技(上海)有限公司 | Resource loading method and device, server and storage medium |
CN111162953A (en) * | 2019-12-31 | 2020-05-15 | 四川省公安科研中心 | Data processing method, system upgrading method and server |
CN111949312A (en) * | 2020-08-14 | 2020-11-17 | 曙光信息产业(北京)有限公司 | Data module packaging method and device, computer equipment and storage medium |
CN113885935A (en) * | 2021-09-29 | 2022-01-04 | 厦门雅基软件有限公司 | Resource packaging method and device, electronic equipment and computer readable storage medium |
CN113986395A (en) * | 2021-11-08 | 2022-01-28 | 麒麟软件有限公司 | Packaging method for applying dependent self-contained technology under linux system |
CN115268991A (en) * | 2022-08-05 | 2022-11-01 | 中国平安财产保险股份有限公司 | Dependency analysis optimization method, dependency analysis optimization device, dependency analysis equipment and storage medium |
CN115543294A (en) * | 2022-12-06 | 2022-12-30 | 麒麟软件有限公司 | Method for generating visual dependency tree of dynamic link library on Linux system |
CN115543269A (en) * | 2022-09-30 | 2022-12-30 | 中电信数智科技有限公司 | System and method for solving micro-service external dependency complexity through arrangement mode |
-
2023
- 2023-12-07 CN CN202311669092.8A patent/CN117369865B/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101513662B1 (en) * | 2014-10-07 | 2015-04-20 | 충남대학교산학협력단 | Search system and method of executable GUI |
CN104462352A (en) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | Data packing method and device |
CN107391528A (en) * | 2016-03-30 | 2017-11-24 | 阿里巴巴集团控股有限公司 | Front end assemblies Dependency Specification searching method and equipment |
WO2019153829A1 (en) * | 2018-02-12 | 2019-08-15 | 人和未来生物科技(长沙)有限公司 | Method and system for rapid generation of container dockerfile and container mirror image |
CN110347398A (en) * | 2018-04-08 | 2019-10-18 | 阿里巴巴集团控股有限公司 | A kind of packaging method and device of application program |
CN110865888A (en) * | 2019-11-28 | 2020-03-06 | 米哈游科技(上海)有限公司 | Resource loading method and device, server and storage medium |
CN111162953A (en) * | 2019-12-31 | 2020-05-15 | 四川省公安科研中心 | Data processing method, system upgrading method and server |
CN111949312A (en) * | 2020-08-14 | 2020-11-17 | 曙光信息产业(北京)有限公司 | Data module packaging method and device, computer equipment and storage medium |
CN113885935A (en) * | 2021-09-29 | 2022-01-04 | 厦门雅基软件有限公司 | Resource packaging method and device, electronic equipment and computer readable storage medium |
CN113986395A (en) * | 2021-11-08 | 2022-01-28 | 麒麟软件有限公司 | Packaging method for applying dependent self-contained technology under linux system |
CN115268991A (en) * | 2022-08-05 | 2022-11-01 | 中国平安财产保险股份有限公司 | Dependency analysis optimization method, dependency analysis optimization device, dependency analysis equipment and storage medium |
CN115543269A (en) * | 2022-09-30 | 2022-12-30 | 中电信数智科技有限公司 | System and method for solving micro-service external dependency complexity through arrangement mode |
CN115543294A (en) * | 2022-12-06 | 2022-12-30 | 麒麟软件有限公司 | Method for generating visual dependency tree of dynamic link library on Linux system |
Non-Patent Citations (2)
Title |
---|
Process of Building up an Application Packaging;Trupti M Hake;《International Journal of Computer and Information Technology》;第2卷(第3期);全文 * |
朱广福.《Web前端开发》.西南交通大学出版社,2020,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117369865A (en) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934005B2 (en) | Dynamically building locale objects or subsections of locale objects based on historical data | |
CN111740948B (en) | Data packet issuing method, dynamic updating method, device, equipment and medium | |
US10459708B2 (en) | Composing a module system and a non-module system | |
US10078497B2 (en) | Bridging a module system and a non-module system | |
US20090216869A1 (en) | Managing shell configurations to dynamically control user computing environments | |
TW201619820A (en) | Projecting native application programming interfaces of an operating system into other programming languages | |
US20080235660A1 (en) | Depicting Changes to Structures in an Integrated Development Environment | |
CN112463123B (en) | Task compiling method, device, network node, system and storage medium | |
CN112733158B (en) | Android system vulnerability detection method, electronic equipment and storage medium | |
WO2024045379A1 (en) | Compiling method, compiler, and wasm virtual machine | |
CN110515647A (en) | A kind of static resource management method, device, equipment and storage medium | |
US11403074B1 (en) | Systems and methods for generating interfaces for callback functions in object-oriented classes | |
CN110727476B (en) | Method, device, equipment and storage medium for generating authorization configuration file | |
CN114217789A (en) | Function component expansion method, device, equipment, storage medium and program product | |
CN112818176B (en) | Data processing method, device, equipment and storage medium | |
CN117369865B (en) | GNU linux universal application program packaging method and graphical application packer | |
CN113377342A (en) | Project construction method and device, electronic equipment and storage medium | |
WO2022078057A1 (en) | Method and apparatus for publishing application package, method and apparatus for applying application package, and medium, server and device | |
CN112379885B (en) | Applet compiling method, device, equipment and readable storage medium | |
US11775471B2 (en) | System and method for caching converted files and compiling computer code from the cache | |
CN114924830A (en) | Online IDE code management method based on NAS storage and related equipment | |
CN111273956B (en) | Program module loading method, device, equipment and storage medium | |
US20240053980A1 (en) | Shortened narrative instruction generator for software code change | |
EP3164800B1 (en) | Bridging a module system and a non-module system | |
Tuominen | Evaluation of Flutter as a migration target |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |