From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 7 Feb 2003 20:47:12 +0300 (MSK) From: Ivan Zakharyaschev X-X-Sender: ivan@arrakis.zephyrous To: devel@altlinux.ru Subject: Re: [devel] Re: rpm packaging (was: Symbolic link and replace the dir) In-Reply-To: <20030207202738.3f56cc70.vyt@vzljot.ru> Message-ID: References: <20030203212157.1b202e13.vyt@vzljot.ru> <20030204074510.GA2791@sam-solutions.net> <20030205194245.51e06220.vyt@vzljot.ru> <20030205195916.0e56844f.vsu@altlinux.ru> <20030205210105.5063f648.vyt@vzljot.ru> <20030206154611.609c8179.vsu@altlinux.ru> <20030207202738.3f56cc70.vyt@vzljot.ru> X-Mailer: try to guess MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: Hello! On Fri, 7 Feb 2003, Vitaly Ostanin wrote: > > Там в конце расписан порядок выполнения обновления. > \verbatim > new-%pre for new version of package being installed > ... (all new files are installed) > new-%post for new version of package being installed > > any-%triggerin (%triggerin from other packages set off by > new > install) > new-%triggerin > old-%triggerun > any-%triggerun (%triggerun from other packages set off by > old > uninstall) > > В моём случае старые файлы удаляются в > %pre > %__rm -rf -- %websitedir > > old-%preun for old version of package being removed > ... (all old files are removed) > ---------------------^^^^^^^^^ > > Ставятся новые файлы, и в этом месте (видимо) почему-то > удаляются > те их новых, которые были в старой сборке. > > Я так и не понял, почему часть файлов удаляется, а для других > пишется skip. И гадать уже особо некогда. Это секретная > информация, или никто не сталкивался? Предположение: symlink сбивает rpm столку. В старом пакете было: /dir1/a В новом пакете: /dir1 -> /dir2 /dir2/a Тогда происходит так: %pre удаляет всю /dir1/. Ставится новый пакет, в том числе файлы: /dir1 как симлинк на /dir2 и /dir2/a. Удаляется старый, в том числе все те файлы, которые принадлежали старому, но не принадлежали новому. В старом был файл /dir1/a, а в новом файла с таким путём нет. Он удаляется -- на самом деле удаляется /dir2/a. Если это так, то, наверное, решение возможно только внутри rpm. -- С наилучшими пожеланиями, Иван Захарьящев, Москва