{"id":3280,"date":"2020-01-10T11:58:01","date_gmt":"2020-01-10T10:58:01","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=3280"},"modified":"2020-01-14T08:02:10","modified_gmt":"2020-01-14T07:02:10","slug":"reemplazando-un-paquete-debian-en-reprepro","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2020\/01\/10\/reemplazando-un-paquete-debian-en-reprepro\/","title":{"rendered":"Reemplazando un paquete Debian en reprepro"},"content":{"rendered":"\n<p>Y es que no siempre se acierta a la primera, y menos con prisas.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>La siguiente es una receta para reemplazar un paquete Debian en un repositorio gestionado con el programa reprepro: se borra primero el que hay y luego se a\u00f1ade el nuevo archivo. <\/p>\n\n\n\n<p>Porque no es posible a\u00f1adir un paquete dos veces. Si tiene el mismo nombre y la misma versi\u00f3n, reprepro verifica que los contenidos sean diferentes y si lo son resulta en un error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ reprepro -b repos -V includedeb debian import\/*.deb \nimport\/simpleborgbackup_0.2_all.deb: component guessed as 'main'\nERROR: 'import\/simpleborgbackup_0.2_all.deb' cannot be included as 'pool\/main\/s\/simpleborgbackup\/simpleborgbackup_0.2_all.deb'.\nAlready existing files can only be included again, if they are the same, but:\nmd5 expected: 3eb89bb9359435c36843326393b9acdb, got: 32219992ad8c3ccc6f36def3babb6f55\nsha1 expected: 26a2759aac5389a32123fb92f5c922838b4dfa15, got: d420575ae1bda18d24807a1b2a73c885fda765ab\nsha256 expected: 1bb04f11bb7731d2c1c9f46c9c60361d86df298eb71cc9a0551794179a6002bc, got: e37bec056df00a2dc8169b45bc67dcf3fb671e3d81cddf68b6fce0969e7df53f\nsize expected: 18552, got: 18624\nThere have been errors!<\/code><\/pre>\n\n\n\n<p>Y tiene sentido, desde luego, porque se podr\u00eda estar metiendo la pata con la versi\u00f3n del paquete que luego dar\u00eda problemas al actualizar. El mayor de ellos es que al ser la misma versi\u00f3n <strong>no actualiza<\/strong>. <\/p>\n\n\n\n<p>Y como no existe un mecanismo de  reemplazo pues tenemos primero que listar los paquetes, luego borrarlos y por \u00faltimo volver a importarlos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>victor@sarajevo:~\/git\/debian.astillas.net$ reprepro -b repos ls simpleborgbackup\nsimpleborgbackup | 0.2 | debian | amd64, i386, armel\nvictor@sarajevo:~\/git\/debian.astillas.net$ reprepro -b repos remove debian  simpleborgbackup\nExporting indices...\nDeleting files no longer referenced...\nvictor@sarajevo:~\/git\/debian.astillas.net$ dir import\/\ntotal 28\ndrwxr-xr-x 6 victor Venexma  4096 ene 10 08:08 ..\n-rw-r--r-- 1 victor Venexma 18624 ene 10 11:47 simpleborgbackup_0.2_all.deb\ndrwxrwxr-x 2 victor Venexma  4096 ene 10 11:47 .\nvictor@sarajevo:~\/git\/debian.astillas.net$ make import \nreprepro -b repos -V includedeb debian import\/*.deb \nimport\/simpleborgbackup_0.2_all.deb: component guessed as 'main'\nExporting indices...\nSuccessfully created 'repos\/dists\/debian\/Release.gpg.new'\nSuccessfully created 'repos\/dists\/debian\/InRelease.new'\ngit add . &amp;&amp; git commit -v -m  \"Importando paquetes \" \n[master cd1af12] Importando paquetes\n 16 files changed, 79 insertions(+), 79 deletions(-)\n rewrite import\/simpleborgbackup_0.2_all.deb (99%)\n rewrite repos\/dists\/debian\/Release.gpg (91%)\n rewrite repos\/dists\/debian\/main\/binary-amd64\/Packages.gz (100%)\n rewrite repos\/dists\/debian\/main\/binary-armel\/Packages.gz (100%)\n rewrite repos\/dists\/debian\/main\/binary-i386\/Packages.gz (100%)\n copy {import => repos\/morgue}\/simpleborgbackup_0.2_all.deb (100%)\n rewrite repos\/pool\/main\/s\/simpleborgbackup\/simpleborgbackup_0.2_all.deb (99%)\nvictor@sarajevo:~\/git\/debian.astillas.net$ \n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Referencias<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/stackoverflow.com\/questions\/15243613\/reprepro-adding-same-deb-package\">Reprepro adding same deb package<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Y es que no siempre se acierta a la primera, y menos con prisas.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[6],"tags":[18,41,730],"class_list":["post-3280","post","type-post","status-publish","format-standard","hentry","category-debian","tag-administracion-de-sistemas","tag-debian","tag-reprepro"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/3280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=3280"}],"version-history":[{"count":3,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/3280\/revisions"}],"predecessor-version":[{"id":3290,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/3280\/revisions\/3290"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=3280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=3280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=3280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}