LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   slackpkg vs. third-party package repository (https://www.linuxquestions.org/questions/slackware-14/slackpkg-vs-third-party-package-repository-4175427364/)

Alien Bob 06-30-2013 05:50 AM

Quote:

Originally Posted by chess (Post 4980994)
This is very interesting -- I was thinking about maybe making the msb packages (http://slackware.org.uk/msb/) compatible with slackpkg+ but I'm not sure what exactly needs to be changed. And it also looks like we have to separate copies of GPG.TXT, FILELIST.TXT and other metadata type files duplicated in each architecture's directory?

Edit: We already use Eric's gen_repo script but any suggestions on best practice for repo layout in regards to slackpkg+ would be appreciated. Thanks.

I had the same discussion with kikinovak for his MLED repository. Using my gen_repos_files.sh script you basically have two options:
  1. Create separate ChangeLog.txt for each architecture (so, one goes into msb/14.0/x86/ and another goes into msb/14.0/x86 _64/) and you run the gen_repos_files.sh script twice - handle each repository separately. This is what kikinovak does with his MLED/MLES repositories.
  2. Create a single ChangeLog.txt in the root of your repository tree (inside msb/) and then use the "REPO_SUBDIRS" variable inside the script to tell the script to generate separate FILELIST.TXT MANIFEST.TXT PACKAGES.TXT etc... files in each of those subdirectories, making them useable with slackpkg+ . In your case it would probably look like 'REPO_SUBDIRS="14.0/x86 14.0/x86_64"'. This is how I do it with my multilib repository.
Remember that you can put the configuration variables in a separate file instead of editing the script. Point the USERDEFS environment variable to that file when calling the script.

The Slackware user will then add http://slackware.org.uk/msb/14.0/x86_64/ or http://slackware.org.uk/msb/14.0/x86/ to his/her slackpkg+ configuration.

chess 06-30-2013 08:08 AM

Perfect, thank you Eric!

kikinovak 06-30-2013 10:05 AM

Quote:

Originally Posted by chess (Post 4980994)
Edit: We already use Eric's gen_repo script but any suggestions on best practice for repo layout in regards to slackpkg+ would be appreciated. Thanks.

Eric persuaded me to use his gen_repo script on my own MLED and MLES repos here:

http://www.microlinux.fr/slackware/

After some initial fiddling, it works great. And managing my own repos with slackpkg+ is way more comfortable. I definitely recommend it.

Niki

zerouno 07-01-2013 07:06 AM

Quote:

Originally Posted by Alien Bob (Post 4981124)
The Slackware user will then add http://slackware.org.uk/msb/14.0/x86_64/ or http://slackware.org.uk/msb/14.0/x86/ to his/her slackpkg+ configuration.

Yes, this is the best.
However slackpkg+ does support the multiarch repositories (during update slackpkg+ skip packages that are not for the running platform).

chess 07-01-2013 08:54 AM

Can GPG-KEY stay in the root directory (http://slackware.org.uk/msb/) or does it need to be copied into the subdirectories like http://slackware.org.uk/msb/14.0/x86 and http://slackware.org.uk/msb/14.0/x86_64?

zerouno 07-01-2013 08:58 AM

GPG-KEY file MUST to be at the same level of CHECKSUMS.md5
so if you want to create two repositories (for x86 and x86_64) you need to duplicate that file.

chess 07-01-2013 09:50 AM

Ok, thanks.

chess 07-01-2013 10:45 PM

@zerouno, I modified our msb repo per the previous posts and things are showing up in slackpkg fine but I'm getting GPG errors when trying to install a package. And when I go into one of the subdirectories like http://slackware.org.uk/msb/14.0/x86_64/ and run 'md5sum -c CHECKSUMS.md5 | less' it also gives errors and says it can't find the packages listed but they are there. I'm missing something simple, I'm sure.

Here is relevant excerpt from /etc/slackpkg/slackpkgplus.conf:

Code:

REPOPLUS=( slackpkgplus alienbob restricted msb )
...
MIRRORPLUS['msb']=http://slackware.org.uk/msb/14.0/x86_64/

and in the gen_repos script I have:

Code:

REPO_SUBDIRS=${REPO_SUBDIRS:-"14.0/x86 14.0/x86_64"}
Is the problem that I also have the CHECKSUMS and other related meta files at the top root level (http://slackware.org.uk/msb/?

Thanks.

zerouno 07-02-2013 04:27 AM

Code:

fec4583cc4d18010cc56c053a1c07d2e  ./PACKAGES.TXT
should be
Code:

fec4583cc4d18010cc56c053a1c07d2e ./PACKAGES.TXT
with only a space separator.

I dont use gen_repos, so I dont know why it fails to create this file.

Raveriux 07-05-2013 06:19 AM

Just a small suggestion. Can AlienBob when he compiles packages for his Ktown repository modify his scripts so the packages would end something different than alien. maybe alienkde or alienktown. it would be mush easier to blacklist packages from ktown not to be upgraded using slackpkg+.

Alien Bob 07-05-2013 07:53 AM

Quote:

Originally Posted by zerouno (Post 4982357)
Code:

fec4583cc4d18010cc56c053a1c07d2e  ./PACKAGES.TXT
should be
Code:

fec4583cc4d18010cc56c053a1c07d2e ./PACKAGES.TXT
with only a space separator.

I dont use gen_repos, so I dont know why it fails to create this file.

Check the official Slackware files, all md5sum lines also have 2 spaces.

Eric

Slax-Dude 07-05-2013 08:20 AM

Quote:

Originally Posted by Raveriux (Post 4984611)
Just a small suggestion. Can AlienBob when he compiles packages for his Ktown repository modify his scripts so the packages would end something different than alien. maybe alienkde or alienktown. it would be mush easier to blacklist packages from ktown not to be upgraded using slackpkg+.

I think the ktown packages are outside the "alienbob" repository, so they should not be upgraded by slackpkg+
And it's a shame :(

zerouno 07-05-2013 08:36 AM

In effect md5sum from official CHECKSUMS.md5 fail :D

slackware64 current

$ md5sum --version
md5sum (GNU coreutils) 8.21

$ wget http://slackware.osuosl.org/slackwar.../ANNOUNCE.14_0
$ wget http://slackware.osuosl.org/slackwar.../CHECKSUMS.md5

edit CHECKSUMS.md5 and drop all md5 row except ANNOUNCE.14_0 (the first):
Code:

These are the MD5 message digests for the files in this directory.
If you want to test your files, use 'md5sum' and compare the values to
the ones listed here.

To test all these files, use this command:

tail +13 CHECKSUMS.md5 | md5sum -c --quiet - | less

'md5sum' can be found in the GNU coreutils package on ftp.gnu.org in
/pub/gnu, or at any GNU mirror site.

MD5 message digest                Filename
2da2c97473fd60413c84b99a003e661c  ./ANNOUNCE.14_0

Code:

$ md5sum -c CHECKSUMS.md5..
md5sum:  ./ANNOUNCE.14_0: No such file or directory
 ./ANNOUNCE.14_0: FAILED open or read
md5sum: WARNING: 12 lines are improperly formatted
md5sum: WARNING: 1 listed file could not be read

md5sum search "<space>./ANNOUNCE.14_0"

The header introduce an anomaly.

Official CHECKSUMS.md5 ask for "tail +13 CHECKSUMS.md5 | md5sum -c --quiet - | less" to check

Code:

$ tail +13 CHECKSUMS.md5.. | md5sum -c -
./ANNOUNCE.14_0: OK

Insert some space before the word 'site' (line 10)

Code:

These are the MD5 message digests  for the files in this directory.
If you want to test your files, use 'md5sum' and compare the values to
the ones listed here.

To test all these files, use this command:

tail +13 CHECKSUMS.md5 | md5sum -c --quiet - | less

'md5sum' can be found in the  GNU coreutils package on ftp.gnu.org in
/pub/gnu, or at any GNU mirror    site.

MD5 message digest                Filename
2da2c97473fd60413c84b99a003e661c  ./ANNOUNCE.14_0

the check generate a warning, but does not fails.

Code:

$ md5sum -c CHECKSUMS.md5
./ANNOUNCE.14_0: OK
md5sum: WARNING: 12 lines are improperly formatted


Why?... I dont know!!

Raveriux 07-05-2013 08:48 AM

Quote:

Originally Posted by Slax-Dude (Post 4984661)
I think the ktown packages are outside the "alienbob" repository, so they should not be upgraded by slackpkg+
And it's a shame :(

But slackpkg tries to upgrade Ktown packages with ones from the stock distribution. An if the you blacklist them not to be checked by slackpkg you also blacklist all Alienbob packages, because of blacklisting "[0-9]alien", so you need to blacklist each of Ktown packages by name.

Slax-Dude 07-05-2013 09:00 AM

Quote:

Originally Posted by Raveriux (Post 4984674)
But slackpkg tries to upgrade Ktown packages with ones from the stock distribution. An if the you blacklist them not to be checked by slackpkg you also blacklist all Alienbob packages, because of blacklisting "[0-9]alien", so you need to blacklist each of Ktown packages by name.

My point is: if the ktown is not part of the alienbob repository, it will not be managed by slackpkg+, so you will have to install them manually if you want them in your slackware.
Since you are already manually installing them, it would be of no consequence to you if you add "kde" to the slackpkg blacklist.
This way, slackpkg+ will not try to "upgrade" the ktown packages to the official slackware kde packages.

I hope it is clearer now :)


All times are GMT -5. The time now is 06:52 PM.