InglésFrancésEspañol

Ad


icono de página de OnWorks

makepatchp - Online en la nube

Ejecute makepatchp en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando makepatchp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


makepatch: crea un script para actualizar un árbol de fuentes

SINOPSIS


hacer parche [ opciones ] viejo-src nuevo-src

Introducción


Tradicionalmente, los árboles de origen se actualizan con el parche programa, parche de procesamiento
información que es generada por el diff programa. A pesar de que diff y parche haz un muy bien
trabajo en parchear el contenido del archivo, la mayoría de las versiones no manejan la creación y eliminación de archivos y
directorios y ajuste de modos de archivo y marcas de tiempo. Versiones más recientes de diff y parche
parecen ser capaces de crear archivos y versiones muy nuevas de parche puede eliminar archivos. Pero
Eso es todo.

Otro problema típico es que los kits de parches se descargan normalmente de Internet o
transmitido por correo electrónico. A menudo es deseable verificar la exactitud de un
kit de parche antes incluso de intentar aplicarlo.

El hacer parche El paquete está diseñado para superar estas limitaciones.

DESCRIPCIÓN


El hacer parche El paquete contiene dos programas Perl: hacer parche y aplicar el parche.

hacer parche generará un kit de parches a partir de dos árboles de origen. Atraviesa la fuente
directorio y ejecuta un diff en cada par de archivos correspondientes, acumulando la salida
en un kit de parche. Conoce las convenciones para los kits de parches: si un archivo llamado
"patchlevel.h" existe, se maneja primero, por lo que parche puede comprobar la versión de la fuente
árbol. Además, para hacer frente a las versiones no perfectas de parche que están en uso, suministra
"" Index: "" y "" Prereq: "" líneas, por lo que parche puede localizar correctamente los archivos para parchear, y
reubica el parche en el directorio actual para evitar problemas al crear nuevos archivos.

La lista de archivos se puede especificar en un llamado MANIFIESTO archivo, pero también puede ser
generado al atravesar recursivamente el árbol de origen. Los archivos se pueden excluir usando shell
comodines de estilo y patrones de expresiones regulares de Perl.

¡Pero no es eso! hacer parche también inserta información adicional en el kit de parche
para ser utilizado por el aplicar el parche .

Es importante enfatizar que el kit de parche generado sigue siendo una entrada válida para parche.
Cuando se usa con parche, no hay verificaciones y pueden surgir problemas cuando nuevos archivos
necesita ser creado. hacer parche antepone un pequeño script de shell delante del kit de parche que
crea los archivos y directorios necesarios para el proceso de revisión. Si no puedes correr
aplicar el parche por alguna razón, puede ejecutar el kit de parches as a shell guión para preparar el
directorio de origen para el proceso de parcheo.

El aplicar el parche El programa hará lo siguiente:

· Verificará ampliamente que el kit de parches esté completo y no esté dañado durante
transferir.

· Aplicará algunas heurísticas para verificar que el directorio en el que se ubicará el parche
aplicado contiene de hecho las fuentes esperadas.

· Crea archivos y directorios según sea necesario.

· Aplica el parche ejecutando el parche .

· Al finalizar, se eliminan los archivos, directorios y archivos ".orig" obsoletos, modos de archivo
de archivos nuevos y se ajustan las marcas de tiempo de todos los archivos parcheados.

Tenga en cuenta que aplicar el parche solo requiere el parche programa. No depende de un caparazón o caparazón.
instrumentos. Esto hace posible aplicar parches en sistemas que no son Unix.

General personal


Suponga que tiene un archivo `" pkg-1.6.tar.gz "'que contiene las fuentes del paquete` "pkg"'
versión 1.6, y un árbol de directorio "" pkg-1.7 "'que contiene las fuentes para la versión 1.7. los
El siguiente comando generará un kit de parche que actualiza las fuentes 1.6 en su 1.7
versiones:

makepatch pkg-1.6.tar.gz pkg-1.7> pkg-1.6-1.7.patch

Para aplicar este script, vaya al directorio que contiene las fuentes 1.6 y alimente el script
a aplicar el parche:

cd antiguo / pkg-1.6
aplicar parche pkg-1.6-1.7.patch

aplicar el parche Verificará que se está ejecutando en el lugar correcto y hará todo lo necesario.
actualizaciones.

De forma predeterminada, hacer parche proporcionará algunas líneas de información de progreso, por ejemplo:

Extrayendo pkg-1.6.tar.gz a /tmp/mp21575.d/old ...
Manifest MANIFEST para pkg-1.6 contiene 1083 archivos.
Manifest MANIFEST para pkg-1.7 contiene 1292 archivos.
Procesando las listas de archivos ...
Recopilando parches ...
266 archivos deben ser parcheados.
Deben crearse 216 archivos y 8 directorios.
Es necesario eliminar 7 archivos.

aplicar el parche no proporcionará información de retroalimentación de forma predeterminada.

Hacer parche argumentos


hacer parche requiere dos argumentos: viejo_src y nuevo_src.

viejo-src
Este es el nombre de un solo archivo o de un directorio que contiene copias del
versión anterior de los archivos de destino; en otras palabras, copias de los archivos antes a cualquier
cambios.

Alternativamente, puede ser el nombre de un archivo que contiene los archivos que se procesarán.
Los formatos de archivo permitidos son tar comprimido con gzip (el nombre termina en "" .tar.gz "" o "" .tgz ""),
bzipped tar (el nombre termina en "" .tar.bz2 ""), tar simple (el nombre termina en "" .tar "" y zip
(el nombre termina en "" .zip "").

nuevo-src
Este es el nombre de un solo archivo o de un directorio que contiene copias del
versión más reciente de los archivos de destino; en otras palabras, copias de los archivos después de las
Se han realizado modificaciones.

Alternativamente, puede ser el nombre de un archivo que contiene los archivos que se procesarán.

El script de parche generado por hacer parche se encargará de crear nuevos archivos y
directorios, actualice archivos existentes y elimine archivos y directorios que ya no
Presente en el nuevo-src directorio.

MANIFIESTO archivos


El propósito de un archivo de manifiesto es proporcionar la lista de archivos que constituyen un paquete.
Los archivos de manifiesto se denominan tradicionalmente "" MANIFEST "" y residen en el directorio de nivel superior
del paquete

Aunque no existe un estándar formal para el contenido de los archivos de manifiesto, hacer parche usos
las siguientes reglas:

· Si la segunda línea del archivo de manifiesto parece una línea de separación (por ejemplo, es
vacío, o contiene solo guiones), se descarta, al igual que la primera línea.

· Las líneas vacías y las que comienzan con "#" se ignoran.

· Si hay varias "palabras" separadas por espacios en una línea, la primera palabra se considera
para ser el nombre del archivo.

Predeterminado del mismo día
De forma predeterminada, hacer parche busca archivos llamados "" MANIFEST "" en los directorios de nivel superior de
los árboles fuente viejos y nuevos. Si se encuentran estos archivos (o uno de ellos),
usó. Si no se pudo encontrar ningún archivo de manifiesto, se asume que el paquete consta de todos los archivos
en el directorio.

El nombre predeterminado del archivo de manifiesto predeterminado se puede modificar con la opción de línea de comando
"" -automanifest "", consulte la sección "Opciones de la línea de comandos".

Explícitamente nombrando of manifiesto archivos
Las opciones de línea de comando "" -oldmanifest "" y "" -newmanifest "" se pueden utilizar para explícitamente
designar archivos de manifiesto antiguos y nuevos. La opción "" -manifest "" es una forma corta de establecer una
archivo de manifiesto para los árboles de origen nuevos y antiguos.

Suprimir manifiesto presentar tratamiento
La opción de línea de comando "" -nomanifest "" se puede utilizar para suprimir todo el procesamiento de archivos de manifiesto.
Se supone que el paquete consta de todos los archivos de los directorios de origen.

Hacer parche opciones


hacer parche toma varias opciones para controlar su comportamiento. Las opciones generalmente se especifican en
la línea de comando, pero hacer parche puede tomar opciones de tres fuentes en las siguientes
orden:

· Variable ambiental HACER PATCHINIT.

Cuando se establece esta variable de entorno, su contenido se considera una línea de comando
opciones que se procesan al inicio. Se permiten todas las opciones normales, más una:
-rcarchivo nombre de archivo. Opción -rcarchivo se puede utilizar para especificar un archivo de opciones alternativo, consulte
abajo.

· Archivos de opciones.

hacer parche primero intenta procesar un archivo llamado / etc / makepatchrc. (Esto es un Unix-ismo).
Está bien si falta este archivo.

Siguiente, hacer parche procesará un archivo llamado .makepatchrc en el directorio de inicio del usuario,
si existiera.

Después de procesar este archivo, hacer parche procesará un archivo llamado .makepatchrc existentes
directorio actual, si existe. Se puede especificar un nombre alternativo para este archivo
con opcion -rcarchivo en variable de entorno HACER PATCHINIT. Esta es la única forma de
especifique un nombre de archivo de opciones alternativas.

En todos los archivos de opciones, líneas vacías y líneas que comienzan con ";" o "#" se ignoran. Todos
Se considera que otras líneas contienen opciones exactamente como si hubieran sido suministradas en
la línea de comando.

· La línea de comando.

Comando línea opciones


Las opciones no distinguen entre mayúsculas y minúsculas y pueden abreviarse como unicidad.

-descripción texto
Proporcione un texto descriptivo para este parche. Múltiple -descripción las opciones pueden ser
suministrado.

Si no se proporciona una descripción, el programa intenta adivinar una. Esto suele ser posible
si ambos directorios son nombres simples, por ejemplo, '"pkg-1.16"'. Si ninguna descripción puede ser
determinado, el programa pedirá uno.

-diferencia cmd
Si se especifica, cmd es el comando que se utilizará para generar las diferencias entre los
dos versiones de los archivos. Si no se especifica, este comando toma el valor predeterminado "" diff -c "".

Para obtener los mejores resultados, utilice únicamente "" diff -c "" o "" diff -u "". En cualquier caso, debe producir
ya sea de contexto o de salida de diferencia unificada.

-nivel de parche archivo p
Si se especifica, archivo p indica un archivo alternativo que se utilizará en lugar de
"nivel de parche.h".

-automanifiesto archivo m
hacer parche utilizará automáticamente archivos de manifiesto del nombre de pila si aparecen en
los directorios. El nombre predeterminado es "MANIFIESTO".

-nomanifiesto
Suprimir el uso de archivos de manifiesto.

-manifiesto archivo m
Si se especifica, archivo m indica el nombre del archivo de manifiesto que consta de una lista
de los archivos contenidos tanto en el los ancianos y del nueva directorios.

-antiguo manifiesto archivo om
Si se especifica, archivo om indica el nombre del archivo de manifiesto que consta de una lista
de los archivos contenidos en el los ancianos directorio. Esta opción está diseñada para usarse en
en conjunción con el -nuevo manifiesto opción. Tenga en cuenta que el los ancianos y nueva los directorios deben
todavía estar indicado.

-nuevo manifiesto archivo nm
Si se especifica, archivo nm indica el nombre del archivo de manifiesto que consta de una lista
de los archivos contenidos en el nueva directorio. Esta opción está diseñada para usarse en
en conjunción con el -antiguo manifiesto opción. Tenga en cuenta que el los ancianos y nueva los directorios deben
todavía estar indicado.

-[no]recurrente
hacer parche se repite a través de directorios de forma predeterminada. Opción -no maldición evita
recursividad más allá de los directorios iniciales.

-[no]seguir
Si se establece, los enlaces simbólicos a directorios se atraviesan como si fueran directorios reales.

-infocmd comando
Si se especifica, la salida de la ejecución comando se agregará antes de cada fragmento de parche.
comando primero se someterán a las siguientes sustituciones:% oP será reemplazado por el
nombre del archivo antiguo,% nP será reemplazado por el nombre del nuevo archivo. "%%" estarán
reemplazado por un solo "%"; otras secuencias "%" pueden agregarse en versiones futuras. Cuando una
se está creando un nuevo archivo, el nombre del nuevo archivo se proporcionará tanto para% oP como para
%notario público.

Tenga en cuenta que% oP y% nP se modelan a partir de las secuencias "%" de encontrar -imprimir.

-excluir patrón
Si se especifica, archivos que coinciden con el patrón de shell patrón será excluido. Solamente
Se manejan los caracteres comodín "*" y "?" y las clases de caracteres "[...]". Múltiple
-excluir se pueden suministrar opciones.

-excluir-expresiones regulares patrón
Si se especifica, archivos y directorios que coinciden con el patrón de expresión regular de Perl
patrón será excluido. Múltiple -excluir-expresiones regulares se pueden suministrar opciones.

-[no]excluir-estándar
Establecido por defecto. Si se establece, se ignora un conjunto común de archivos y directorios.

Consulte también la sección "Patrones de exclusión estándar".

-[no]excluir-cvs
Si se establece, los archivos y directorios que generalmente forman parte del sistema de control de versiones CVS se
excluido

Además, los archivos ".cvsignore" se respetan al igual que CVS.

Consulte también la sección "Patrones de exclusión estándar".

-[no]excluir-rcs
Si se establece, los archivos y directorios que suelen formar parte del sistema de control de versiones RCS se
excluido

Consulte también la sección "Patrones de exclusión estándar".

-[no]excluir-sccs
Si se configura, los archivos y directorios que normalmente forman parte del sistema de control de versiones SCCS se
excluido

Consulte también la sección "Patrones de exclusión estándar".

-[no]excluir-vc
Abreviatura de (re) ajuste -excluir-rcs, -excluir-cvsy -excluir-sccs.

-[no]ignorar-cvs-palabras clave
Las diferencias en los datos de palabras clave CVS (por ejemplo, "Id", "Encabezado", "Revisión") se ignoran,
siempre que no haya otras diferencias en el mismo trozo. Esta opción pasa muy
regex peludo a la - ignorar-líneas-coincidentes opción del diff programa, y ​​por lo tanto
requiere GNU diff. Esta restricción puede levantarse en una versión futura.

-[no]ignorar-rcs-palabras clave
Igual que -[no]ignorar-cvs-palabras clave.

-extraer patrón=comando
Defina reglas de extracción adicionales para archivos. Si el nombre de la fuente o
destino coincide con el Perl patrón, la comando se ejecuta con el archivo en
entrada estándar y el directorio actual establecido en la ubicación donde los archivos deben estar
extraído. Múltiple -extraer se pueden suministrar opciones. Anulación de reglas definidas por el usuario
reglas incorporadas.

Las reglas integradas son:

. + \. (tar \ .gz | tgz) => "gzip -d | tar xpf -"
. + \. (tar \ .bz2) => "bzip2 -d | tar xpf -"
. + \. tar => "tar xf -"
. + \. zip => "descomprimir -"

Los patrones están anclados implícitamente al principio y al final del nombre de archivo.

-[no]ident
Si está configurado, se informa el nombre y la versión del programa.

-[no]verboso
Esto está configurado de forma predeterminada, lo que hacer parche mostrar información sobre su actividad
a stderr.

-[no]tranquilo
Lo contrario a -verboso. Si está configurado, esto indica hacer parche para suprimir la visualización de
información de la actividad.

-[no]ayuda
Si se establece, esto hace que se muestre un breve mensaje de ayuda, después de lo cual el programa
sale inmediatamente.

Estándar Excluir Patrones


Los siguientes patrones de archivo siempre están excluidos:

* ~ * .a * .bak * .BAK * .elc * .exe * .gz * .ln * .o * .obj
* .olb * .old * .orig * .rej * .so * .Z
.del- * .make.state .nse_depinfo core
etiquetas TAGS

Optión -excluir-sccs añade:

p. * s. * SCCS

Optión -excluir-rcs añade:

, * *, v RCS RCSLOG

Optión -excluir-cvs agrega patrones ".cvsignore" y:

. # * # * _ $ * * $ CVS CVS.adm cvslog. *

Por favor, avíseme si me perdí algunos.

Entorno las variables


HACER PATCHINIT
Cuando se establece esta variable de entorno, su contenido se considera una línea de comando
opciones que se procesan al inicio. Se permiten todas las opciones normales, más una:
-rcarchivo nombre de archivo. Si -rcarchivo se especifica, el archivo se lee y todas sus líneas son
se considera que contiene configuraciones de opciones como se describe en la sección "Opciones de Makepatch".

TMPDIR
"TMPDIR" se puede utilizar para designar el área donde se colocan los archivos temporales. Eso
por defecto es "/ Tmp".

TEMP
"TEMP" se puede utilizar como alternativa a "TMPDIR".

Ejemplos


Suponga que tiene un árbol de directorios `" pkg-1.6 "'que contiene las fuentes del paquete` "pkg"'
versión 1.6, y un árbol de directorio "" pkg-1.7 "'que contiene las fuentes para la versión 1.7. los
El siguiente comando generará un kit de parche que actualiza las fuentes 1.6 en su 1.7
versiones:

makepatch pkg-1.6 pkg-1.7> pkg-1.6-1.7.patch

Para aplicar este script, vaya al directorio pkg-1.6 y alimente el script a aplicar el parche:

cd antiguo / pkg-1.6
aplicar parche pkg-1.6-1.7.patch

aplicar el parche Verificará que se está ejecutando en el lugar correcto y hará todo lo necesario.
actualizaciones.

Esta es una forma de generar y usar archivos de manifiesto:

(cd pkg-1.6; busque. -type f -print> OLDMANIFEST)

(cd pkg-1.7; busque. -type f -print> NEWMANIFEST)

hacer parche \
-oldmanifest pkg-1.6 / OLDMANIFEST \
-newmanifest pkg-1.7 / NEWMANIFEST \
paquete-1.6 paquete-1.7> paquete-1.6-1.7.diff

Errores y restricciones


Gran parte del trabajo de hacer parche está procesando nombres de archivos. hacer parche ha sido probado
extensamente en sistemas Unix, pero no se garantiza que funcione en otros sistemas.

aplicar el parche se informa repetidamente que procesa correctamente hacer parche kits de parches generados en
también los sistemas modernos de Windows de 32 bits.

hacer parche no conoce los enlaces simbólicos. Estos se tratarán como archivos sin formato.

Se pueden generar resultados incorrectos si las listas de archivos que se utilizan o generan utilizan diferentes
separadores de ruta.

Use makepatchp en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    Complemento Eclipse Tomcat
    Complemento Eclipse Tomcat
    El complemento Eclipse Tomcat proporciona
    integración simple de un servlet tomcat
    contenedor para el desarrollo de java
    aplicaciones web. Puedes unirte a nosotros para
    discutirio ...
    Descargar el complemento Eclipse Tomcat
  • 2
    Escritorio WebTorrent
    Escritorio WebTorrent
    WebTorrent Desktop es para streaming
    torrents en Mac, Windows o Linux. Eso
    se conecta a BitTorrent y
    Compañeros de WebTorrent. Ahora no hay
    Necesito esperar ...
    Descargar WebTorrent Escritorio
  • 3
    GenX
    GenX
    GenX es un programa científico para refinar
    refelcetivity de rayos X, neutrones
    reflectividad y rayos X de superficie
    datos de difracción usando el diferencial
    algoritmo de evolución ....
    Descargar GenX
  • 4
    pspp4ventanas
    pspp4ventanas
    PSPP es un programa de estadística
    análisis de datos muestreados. es gratis
    sustitución del programa propietario
    SPSS. El PSPP tiene tanto contenido basado en texto como
    gráfico nosotros...
    Descargar pspp4windows
  • 5
    Extensiones Git
    Extensiones Git
    Git Extensions es una herramienta de interfaz de usuario independiente
    para administrar repositorios de Git. También
    se integra con el Explorador de Windows y
    Microsoft Visual Studio
    (2015/2017/2019). Es ...
    Descargar extensiones Git
  • 6
    eSpeak: síntesis de voz
    eSpeak: síntesis de voz
    Motor de texto a voz para inglés y
    muchos otros idiomas. Tamaño compacto con
    Pronunciación clara pero artificial.
    Disponible como un programa de línea de comandos con
    muchos ...
    Descargar eSpeak: síntesis de voz
  • Más "

Comandos de Linux

Ad