Pregunta

Mi pregunta principal es que los autotools enlaces creados para instalar, COPIAR, desaparecidos, install-sh, y depcomp. Cuando traté de verlos vi que se cargan como enlaces por lo que los reemplazó con los archivos reales por lo que se pueden ver. Me estoy perdiendo algo fundamental? Cuando desempaqueto mi archivo gz de 'make dist' esto es lo que parece:

árbol de distribución (menos Fuente Directorios)

-rw-r--r-- 1 ojblass users  18591 2009-05-30 03:23 Makefile.in
-rwxr-xr-x 1 ojblass users 136168 2009-05-30 03:20 configure
drwxr-xr-x 3 ojblass users   4096 2009-05-30 03:20 autom4te.cache
-rw-r--r-- 1 ojblass users  32230 2009-05-30 03:20 aclocal.m4
-rw-r--r-- 1 ojblass users    251 2009-05-30 03:20 configure.ac
-rw-r--r-- 1 ojblass users    626 2009-05-30 03:11 AUTHORS
-rwxr-xr-x 1 ojblass users    120 2009-05-30 03:11 autogen.sh
-rw-r--r-- 1 ojblass users    737 2009-05-30 03:11 ChangeLog
-rw-r--r-- 1 ojblass users  35147 2009-05-30 03:11 COPYING
-rwxr-xr-x 1 ojblass users  17867 2009-05-30 03:11 depcomp
-rwxr-xr-x 1 ojblass users    199 2009-05-30 03:11 example.pl
-rwxr-xr-x 1 ojblass users    152 2009-05-30 03:11 example.sh
-rw-r--r-- 1 ojblass users   9512 2009-05-30 03:11 INSTALL
-rwxr-xr-x 1 ojblass users  13620 2009-05-30 03:11 install-sh
-rw-r--r-- 1 ojblass users    215 2009-05-30 03:11 Makefile.am
-rwxr-xr-x 1 ojblass users  11135 2009-05-30 03:11 missing
-rw-r--r-- 1 ojblass users     75 2009-05-30 03:11 NEWS
-rwxr-xr-x 1 ojblass users    507 2009-05-30 03:11 profile.sh
-rw-r--r-- 1 ojblass users   2605 2009-05-30 03:11 README
-rw-r--r-- 1 ojblass users    201 2009-05-30 03:11 README_developers
-rwxr-xr-x 1 ojblass users    382 2009-05-30 03:11 run.sh
-rw-r--r-- 1 ojblass users    481 2009-05-30 03:11 TODO
-rwxr-xr-x 1 ojblass users    117 2009-05-30 03:11 usefull.sh

Estoy pensando en la eliminación de los README_developers y haciendo dos secciones en el README. También estoy buscando en la eliminación de la run.sh y profile.sh y hacerlos parte de un blanco de prueba de maquillaje (un poco de lectura requerido). No creo que un elemento de TODO pertenece en la distribución fuente, pero tal vez está bien tener en el árbol de código fuente del proyecto. Cualquier punteros adicionales más allá de la cuestión enlaces es apreciado.

¿Fue útil?

Solución

Respuesta corta: dejando a los enlaces simbólicos (excepto INSTALAR) sería fingido conformidad con GNU estándares de codificación .

Por defecto automake realizar la comprobación de la conformidad con los estándares de GNU (Requiere los siguientes archivos de existir: INSTALAR, NOTICIAS, README, COPIA, los autores y los Cambios). Uno puede convertir en la comprobación (y quitar con seguridad algunos de esos archivos) al pasar a la opción --foreign automake (hacerlo edición autogen.sh y volver a ejecutarlo).

Los enlaces se crean cuando se invoca con automake --add-desaparecida opciones, que a no ser que se le dio la opción de --copy crea enlaces simbólicos para la falta de archivos en lugar de copiarlos. Esto es con el fin de mantener los archivos (en realidad sólo INSTALAR) hasta la fecha cada vez que instale más reciente automake. Regerding respuesta de Jonathan esos enlaces simbólicos no son un problema: todos archivos distribuidos se copian al directorio separado antes de hacer tar. Cambiarlos a los archivos regulares si quieres editarlos.

Otros archivos (README_developers, run.sh, profile.sh, TODO etc.) y fueron generadas por el IDE está utilizando y se añade a EXTRA_DIST variable en la parte superior Makefile.am. Es posible eliminarlos de distribución por EXTRA_DIST edición y luego también se puede quitar ellos desde la fuente.

El resto se genera automáticamente por autoconf y automake:

  • aclocal.m4
  • autom4te.cache
  • configure
  • depcomp
  • install-sh
  • Makefile.in
  • faltante

Si desea eliminar el desorden aún más su directorio de origen cima se puede añadir AC_CONFIG_AUX_DIR([scripts]) a configure.ac. De esta manera algunos de los scripts encontrarán su lugar en el directorio scripts.

Actualización:

Los estándares de codificación de GNU limitan a describir el requisito de los archivos de documentación para estar presente en la distribución y lo información debe ser incluida allí. La opción --add-falta es a recordarle programador qué archivos deben ser escritos. Obviamente tener vacía NOTICIAS o autores archivo no hacer el proyecto más conformes a las normas.

Sólo fichero de cambios tienen requisitos en su formato . En algunos proyectos de registro de cambios se genera automáticamente a partir adecuadamente formated los mensajes de confirmación. En Darcs es simplemente darcs changes >ChangeLog. Si utiliza Subversion puede mirar en: svn2log , svn2cl .

Como se mencionó INSTALAR archivo podría ser razonable para mantener como enlace simbólico pero sólo si no hay información específica del proyecto necesaria sobre la instalación (Es decir, no hay argumentos adicionales script configure en etc.).

Otros consejos

El archivo TODO puede ir en la distribución; es una indicación de que los consumidores de las cosas que usted piensa que son deficientes en el producto, y son un puntero a los posibles contribuyentes a zonas en las que tal vez podrían ayudar a mejorar el producto. (También, si se cayó debajo de un autobús, que ayudaría a otras personas asumen el control utilizando el material de liberación en curso.)

Podría ser vale la pena utilizar un subdirectorio para mantener la mayor parte del material de configuración.

En cuanto a su pregunta principal - eran los archivos de 'enlaces' o 'enlaces simbólicos'? Los enlaces simbólicos son menos útiles para el envasado a menos que se diga de alquitrán (GNU) para seguir de todos modos ( '-h' o '--dereference'). Si los únicos enlaces simbólicos son a esos archivos, que trabaja; si utiliza enlaces simbólicos en la distribución en sí, puede ser más contraproducente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top