Dear Maintainer, I wish to be able, conveniently to make a repository containing the packages which: + are installed on my computer; and + are not included in the Official DVD, (or are a later version). I prefer the new repository to contain the versions of packages which are installed in my computer. These have always been tested, even if not much. I wish to copy the result to a CD-R, or to a DVD, which should be acceptable to apt-cdrom, and to apt-get. (apt-move used to do almost this.) It is not obvious from the documentation of reprepro, how to do this. I have started trying to make a script file to do this. Does anybody else want it? Has anybody already written one? Is there an easy way to make a repository containing only installed packages? Thank you very much for maintaining reprepro. with best regards from Richard Betham
* Richard Betham <richard@betham.org.uk> [141114 18:06]: To get the list of installed packages suitable for reprepro, do: dpkg --get-selections | sed -e 's/:[^ \t]*//' > conf/mylist.lst This you can then give to reprepro in a conf/updates block listing the source where you get your packages and add something like FilterList: purge mylist.lst to make that update rule pull only package that you have installed. Removing newer packages than some given set is not that easy AFAIK. (There is support for the other way around: Doing a mirror with only packages from the DVD that you do not have a newer version around). If you compare the versions yourself and know which packages not to include, you can add create another list with "<packagename> purge" in each lines and give that to FilterList to exclude them: FilterList: purge mylist.lst without.lst Hope that helps, Bernhard R. Link
It is useful to know that I must remove the ":" and whatever follows, from the end of the package name, so that it will be suitable input for reprepro FilterList. I have got my Makefile script file to work well enough to generate an image for a cdrom which seems to be acceptable to apt-cdrom, and to apt-get. However, when I run my script again, trying to use the cdrom as one of the sources, reprepro generates an error message and aborts. The text of the error messages is copied into the attached file called "make.op.txt" I have tried various variants of the update file, using: Method: cdrom:[...] Method: cdrom://[...] Method: cdrom:"[...]" I did not put "...", I put "Debian~Wheezy~in~part~as~at~2014-11-29+21:20:36". I prefer to have spaces in the name, but that seemed to cause trouble. I attach copies of various files which seem relevant. Please advise me of the correct format for the line in the file conf/updates, which starts: Method: cdrom:... I am attempting to write a make script file, to cause reprepro, to put onto cdrom, some of the packages which are installed in the computer which runs the script file. I have succeeded in using Method: file:/... in my update file. Thank you very much for maintaining reprepro. with best regards from Richard Betham
* Richard Betham <richard@betham.org.uk> [141202 19:48]: I guess that still needs to be added to the documentation. (Those :architecture are a relatively new addition to the dpkg --get-selections output format added due to multi-arch support) I haven't yet used the cdrom method with reprepro, so I am a bit of a loss what the correct syntax is. Adding enough verbosity (I think you need several -V to get to those details) you can see what reprepro gives the apt cdrom method. I don't knwow that format the apt method expects exactly, but doc/method.dbk in apt source package lists some example URLs: file:/var/mirrors/debian/ ftp://ftp.debian.org/debian ftp://jgg:MooCow@localhost:21/debian nfs://bigred/var/mirrors/debian rsync://debian.midco.net/debian cdrom:Debian 2.0r1 Disk 1/ so I guess it might be a single colon without any other additions (though I do not know how current that example is). Perhaps it is easier to just mount the .iso files somewhere and just use the file:/ method. Bernhard R. Link