RPM Spec file that demonstrates the modularity of Smart
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Smart Package Manager |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I have been hacking on Axel's Fedora 10 RPM spec file to see if the install could be modularised. Oddly, this came about due to one of the dialogs becoming too big to fit on the screen of a virtual machine install of fedora (I think it was the channel add dialog). I wanted to reduce the number of unnecessary options so I could get to the 'ok' button :)
It has the added benefit of making smart self documenting from the perspective of looking at the list of rpm's and of making the initial user experience much simpler (=less/more sensible choice). It is easy to see which files are part of the core and which files add functionality for particular package management systems. Additionally it allows the packager to only install the backends/
afb noted that the spec file produces too many sub-packages so the packager could compress this down by either removing or merging the channels/plugins with the ancilliary backend (for that distro). This would probably work for deb/slack but for rpm this would include red-carpet and up2date which are little used afaiks. However the choice is available.
Adding channels/plugins is easier/cleaner as one just has to add a %package section and a related %files section for the new files.
Changed in smart: | |
status: | New → Fix Committed |
Changed in smart: | |
status: | Fix Committed → Fix Released |
Presently the spec file produces the following RPM's (note the total disk space used is still ~1Mb.)
smart-1. 1-58.0. 1.fc10. src.rpm
smart-1. 1-58.0. 1.fc10. i386.rpm
smart-backend- RPM-1.1- 58.0.1. fc10.i386. rpm DEB-1.1- 58.0.1. fc10.i386. rpm Slack-1. 1-58.0. 1.fc10. i386.rpm
smart-backend-
smart-backend-
smart-channel- APT_DEB- 1.1-58. 0.1.fc10. i386.rpm APT_RPM- 1.1-58. 0.1.fc10. i386.rpm DEB_DIR- 1.1-58. 0.1.fc10. i386.rpm DEB_SYS- 1.1-58. 0.1.fc10. i386.rpm Red_Carpet- 1.1-58. 0.1.fc10. i386.rpm RPM_DIR- 1.1-58. 0.1.fc10. i386.rpm RPM_HDL- 1.1-58. 0.1.fc10. i386.rpm RPM_MD- 1.1-58. 0.1.fc10. i386.rpm RPM-SYS- 1.1-58. 0.1.fc10. i386.rpm Slack_Site- 1.1-58. 0.1.fc10. i386.rpm Slack_SYS- 1.1-58. 0.1.fc10. i386.rpm URPMI-1. 1-58.0. 1.fc10. i386.rpm Yast2-1. 1-58.0. 1.fc10. i386.rpm mirrors- 1.1-58. 0.1.fc10. i386.rpm up2date_ mirrors- 1.1-58. 0.1.fc10. i386.rpm
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-channel-
smart-plugin- channelsync- 1.1-58. 0.1.fc10. i386.rpm aptchannelsync- 1.1-58. 0.1.fc10. i386.rpm debdir- 1.1-58. 0.1.fc10. i386.rpm rpmdir- 1.1-58. 0.1.fc10. i386.rpm detectsys- 1.1-58. 0.1.fc10. i386.rpm
smart-plugin-
smart-plugin-
smart-plugin-
smart-plugin-
smart-interface -console- 1.1-58. 0.1.fc10. i386.rpm -GTK-1. 1-58.0. 1.fc10. i386.rpm
smart-interface
smart-update- 1.1-58. 0.1.fc10. i386.rpm y-1.1-58. 0.1.fc10. i386.rpm
smart-ksmarttra